{"items":[{"type":"link","label":"ESPER API REFERENCE","link":"/openapi","routeSlug":"/openapi","content":{"contentType":"overview","meta":{"name":"ESPER API REFERENCE"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"openapi.json","url":"/_bundle/openapi.json?download"},{"kind":"download","label":"openapi.yaml","url":"/_bundle/openapi.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[{"kind":"email","title":"E-mail","titleTranslationKey":"info.contact.name","email":"developer@esper.io","label":"developer@esper.io","withCopyButton":true,"copyContent":"developer@esper.io"},{"kind":"externallink","title":"License","titleTranslationKey":"info.license","label":"Apache 2.0","url":"http://www.apache.org/licenses/LICENSE-2.0.html"},{"kind":"externallink","label":"Terms of Service","labelTranslationKey":"info.termsOfService","url":"https://esper.io/terms-of-service"}]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"cURL","lang":"curl"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop","description":"Custom end point"}}}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"ESPER API REFERENCE (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[]}],"sectionId":"/openapi"}],"sectionId":"/openapi"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/introduction"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Introduction"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper API endpoints use REST-based architecture and return JSON responses."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See our documentation for:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Getting started guides"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/16036992814609-Commonly-Used-APIs"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Commonly used API examples"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/16693582666769-Scheduling-API-Commands"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API command examples"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/22957898441745-Automating-App-Updates-Using-the-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automated Script examples"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/sections/11388094627857-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"And more"},"children":[]}]}]}]}]}]}],"sectionId":"/openapi/section/introduction"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/authentication"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some endpoints also require an Enterprise ID. This ID can be found in the API Management section of the Esper console."},"children":[]}]}]}]}],"sectionId":"/openapi/section/authentication"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/pagination"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Responses may be paginated."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the following parameters to query the data. A full list of parameters can be found on the endpoint’s documentation page."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"table","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"thead","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Parameter"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Data Type"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Explanation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tbody","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"limit"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"integer"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Limit the data returned. Default = 20."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"offset"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"integer"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Offset to the first item returned. Default = 0."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"ordering"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"string"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Order the results set by the field name. Varies by endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"next"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"string"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Paginate to the next response set."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"previous"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"string"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Paginate to the last set response."},"children":[]}]}]}]}]}]}],"sectionId":"/openapi/section/pagination"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/errors"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Errors"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We use standard HTTP status codes for success or failure."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A typical error response may look something like this:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"{\n  \"errors\": [],\n  \"message\": \"error message\",\n  \"status\": 400\n}\n","language":"json"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"{\n  \"errors\": [],\n  \"message\": \"error message\",\n  \"status\": 400\n}\n"},"children":[]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"errors"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  List of error details"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"message"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - Error description"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"status"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - HTTP status code"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Some common status codes and messages are:"},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"table","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"thead","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Number"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Message"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"th","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Explanation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tbody","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"200"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"OK"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"The request succeeded."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"201"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Resource creation"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"A resource was created."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"401"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Unauthorized"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"The API key is invalid."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"404"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Not found"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"The resource was not found."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"429"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Rate limit exceeded"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Too many requests. Wait a moment and try again."},"children":[]}]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"tr","attrs":{}},"children":[{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"500"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Server error"},"children":[]}]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"td","attrs":{}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"Internal error. Wait a moment and try again. If the issue persists, "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","attributes":{"name":"a","attrs":{"target":"_blank","href":"https://help.esper.io/hc/en-us/articles/14800200348561-Contacting-Esper-Support"}},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"contact Esper."},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See how our systems are doing by checking our "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://status.esper.cloud/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status page"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"sectionId":"/openapi/section/errors"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/rate-limits"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rate Limits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Try sending requests in batches."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Begin with about 20 requests at a time and building up from there."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure your scripts are efficient and don’t contain redundant calls."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reach out to your account manager to discuss your options."},"children":[]}]}]}]}]}],"sectionId":"/openapi/section/rate-limits"},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"heading","attributes":{"level":1,"id":"section/change-log"},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Change Log"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 197 [2026-09-03]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/devices/{id}/tags/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /commands/v0/status/{id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the non-success response with the status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"304"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v0/devices/{deviceId}/operations/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results/items/arguments/sample_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results/items/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v0/operations/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/arguments/sample_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v0/operations/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"arguments/sample_key"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/arguments/sample_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"alias"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v0/operations/{operationId}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/arguments/sample_key"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v0/operations/{operationId}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new required request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"reason"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" became required"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the enum value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"FAILED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the enum value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"SCHEDULED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the enum value "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TIMEOUT"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" of the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v0/operations/{operationsId}/devices/{deviceId}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" was restricted to a list of enum values"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CANCELLATION_REQUESTED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"state"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings/windows/files"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"204"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/files"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/files"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/seamless"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"alias"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tags"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/tags"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/seamless/upload"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/alias"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/tags"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 196 [2026-08-20]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprint-drift/status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprint-drift/summary"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprint-drift/{deviceId}/status"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings/android/blueprint_drift_enabled"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"204"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/blueprint_drift_enabled"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/android/blueprint_drift_enabled"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 195 [2026-08-05]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/mdmserviceconfig"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/mdmserviceconfig/anchor-certs"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/windows/kiosk_settings/kiosk_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/windows/kiosk_settings/uwp_single_app_config'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '204' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/kiosk_settings/kiosk_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/kiosk_settings/uwp_single_app_config'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 194 [2026-07-21]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/tenant-apps/{appId}/versions/{versionId}/artifacts"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/custom_policies' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/scheduled_install_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/windows/custom_policies'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/windows/scheduled_install_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'NOTIFY_DOWNLOAD' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'TENANT_WINDOWS_UWP' enum value to the request property 'settings/windows/apps/items/app_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/custom_policies' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/custom_policies' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '204' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/custom_policies'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/scheduled_install_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'NOTIFY_DOWNLOAD' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'TENANT_WINDOWS_UWP' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/apps/items/app_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/custom_policies' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/windows/scheduled_install_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'fields'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{deviceId}/device-apps/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'results/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new enum value 'TENANT_WINDOWS_UWP' to the 'query' request parameter 'app type'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/tenant-apps/{appId}/versions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/architecture' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/artifacts' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/aumids' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/entry_point_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/identity_name' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/package_family_name' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/package_format' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/publisher' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/app_type' response property for the response status '200'"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 193 [2026-07-09]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/oem-config-schema"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/auto_update_type' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/auto_update_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'SET_OS_UPDATE_POLICY' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/auto_update_type' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/auto_update_type' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /tenant/v0/depprofiles/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the enum value 'WebContentFiltering' of the request property 'show_setup_items/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'AccessibilityAppearance' enum value to the request property 'show_setup_items/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'DisplayTone' enum value to the request property 'show_setup_items/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'HomeButtonSensitivity' enum value to the request property 'show_setup_items/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'LiquidGlass' enum value to the request property 'show_setup_items/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'OnBoarding' enum value to the request property 'show_setup_items/items/'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/settings/android/advanced_configurations' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/android/advanced_configurations'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/android/advanced_configurations' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/advanced_configurations'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/settings/android/advanced_configurations' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/itunesapps/{appleAppId}/refresh-version"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ for the 'path' request parameter 'appleAppId', the type/format was changed from 'string'/'' to 'string'/'uuid'"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 192 [2026-06-22]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/command_args/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/disable_screen_timeout'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/disable_screen_timeout' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/{id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/command_args/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/ios/kiosk_app/disable_screen_timeout'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/kiosk_app/disable_screen_timeout'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 191 [2026-06-12]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/itunesapps/{appleAppId}/refresh-version"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/allow_standard_user_os_updates' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/automatic_actions' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/deferrals' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/notifications' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/rapid_security_response' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/recommended_cadence' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/target_local_date_time' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/target_os_version' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/allow_standard_user_os_updates'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/automatic_actions'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/deferrals'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/disable_device_rotation'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/notifications'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/rapid_security_response'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/recommended_cadence'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/target_local_date_time'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/target_os_version'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/allow_standard_user_os_updates' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/automatic_actions' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/deferrals' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/disable_device_rotation' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/notifications' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/rapid_security_response' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/recommended_cadence' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/target_local_date_time' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/target_os_version' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/allow_standard_user_os_updates' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/automatic_actions' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/deferrals' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/notifications' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/rapid_security_response' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/recommended_cadence' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/target_local_date_time' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/target_os_version' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/ios/apps/items/auto_update'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/ios/kiosk_app/disable_device_rotation'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/ios/strict_wifi_synchronization_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/tvos/apps/items/auto_update'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/tvos/strict_wifi_synchronization_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'TENANT_WINDOWS_EXE' enum value to the request property 'settings/windows/apps/items/app_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '204' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/apps/items/auto_update'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/kiosk_app/disable_device_rotation'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/strict_wifi_synchronization_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/tvos/apps/items/auto_update'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/tvos/strict_wifi_synchronization_settings'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'TENANT_WINDOWS_EXE' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/apps/items/app_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/device-apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'app_version_id_not'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the 'query' request parameter 'app_id' became optional"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the 'query' request parameter 'app_version_id' became optional"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for the 'query' request parameter 'app_id', the type/format was generalized from 'integer'/'uuid' to 'string'/'uuid'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for the 'query' request parameter 'app_version_id', the type/format was generalized from 'integer'/'uuid' to 'string'/'uuid'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"api tag 'device_Device' added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"api tag 'device_Device V2' removed"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{deviceId}/device-apps/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'results/items/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new enum value 'TENANT_WINDOWS_EXE' to the 'query' request parameter 'app type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'results/items/auto_update' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"api tag 'device_Device' added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"api tag 'device_Device V2' removed"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/tenant-apps/{appId}/versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'app_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'is_active'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/is_active' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria_type' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/is_active' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/success_criteria' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/success_criteria_type' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/is_active' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/install_script' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/allOf[subschema #2]/uninstall_script' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/app_type' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'exe_config'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'version_name'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/is_active' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/success_criteria' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/success_criteria_type' to the response with the '200' status"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 190 [2026-05-28]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/devices/{id}/devicestate"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /authz2/v1/roles/{role_id}/scopes"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"create:device_command:CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"scope_names/items/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/command_args/arguments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"command_args/arguments"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"command"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/command_args/arguments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/command_args/arguments"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/memory_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/network_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/software_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/memory_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/network_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/software_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /device/v0/devices/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/memory_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/network_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDevice]/software_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results/items/command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v0/enterprise/{enterprise_id}/command/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results/items/command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v0/enterprise/{enterprise_id}/command/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"command"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" response property for the response status "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"CLEAR_APP_CACHE"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" enum value to the request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"command"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/background-scripts/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/background-scripts/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"description"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/background-scripts/{background_script_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/allOf[#/components/schemas/blueprints_BackgroundScriptRead]/description"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"settings/windows/background_scripts"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"201"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"204"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/background_scripts"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/results/items/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/settings/windows/background_scripts"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{id}"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to the response with the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"200"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" status"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 189 [2026-05-15]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"➕ Added"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /geofence/v1/geofences"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /geofence/v1/geofences"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /geofence/v1/geofences/{geofence_id}/blueprints"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /geofence/v1/geofences/{geofence_id}/device-summary"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /geofence/v1/geofences/{geofence_id}/devices"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /tenant/v0/depprofiles/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /tenant/v0/depprofiles/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/background-scripts/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/background-scripts/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/background-scripts/{background_script_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint added"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ the 'content/results/items/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the 'settings/android/files/items/file_id' request property type/format changed from 'string'/'' to 'integer'/''"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '201'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '204'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/files/items/file_id' request property type/format changed from 'string'/'' to 'integer'/''"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ the 'content/results/items/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 188 [2026-04-28]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__app_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__app_version_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_version_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v2/blueprints/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'settings/tvos'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/settings/tvos' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/tvos' to the response with the '204' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/tvos' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/tvos' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__ios__provisioning_profile_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__ios__provisioning_profile_version_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_version_id'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/settings/tvos' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/blueprints/{blueprint_id}/versions/{version_id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/settings/tvos' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the new optional 'query' request parameter 'ungrouped_only'"},"children":[]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 187 [2026-04-14]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"✏️ Updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /authz2/v1/roles/{role_id}/scopes"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'create:device_command:UPDATE_WIFI_AP' enum value to the request property 'scope_names/items/'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'create:group_command:UPDATE_WIFI_AP' enum value to the request property 'scope_names/items/'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/anonymous_identity' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/certificate_file_password' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/certificate_file_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/domain' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/hidden' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/identity' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/install_action' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/product_version' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/wifi_eap_method' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/wifi_password' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/wifi_phase2_auth' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/wifi_security_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/results/items/command_args/wifi_ssid' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /commands/v0/commands/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/anonymous_identity'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/certificate_file_password'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/certificate_file_path'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/domain'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/hidden'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/identity'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/install_action'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/product_version'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/wifi_eap_method'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/wifi_password'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/wifi_phase2_auth'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/wifi_security_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional request property 'command_args/wifi_ssid'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'OS_UPDATE_STATUS' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'SCAN_OS_UPDATES' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'SCHEDULE_OS_UPDATE' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'UPDATE_WIFI_AP' enum value to the request property 'command'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/anonymous_identity' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/certificate_file_password' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/certificate_file_path' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/domain' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/hidden' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/identity' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/install_action' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/product_version' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_eap_method' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_password' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_phase2_auth' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_security_type' to the response with the '201' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_ssid' to the response with the '201' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/commands/{id}/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/anonymous_identity' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/certificate_file_password' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/certificate_file_path' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/domain' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/hidden' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/identity' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/install_action' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/product_version' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_eap_method' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_password' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_phase2_auth' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_security_type' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the optional property 'content/command_args/wifi_ssid' to the response with the '200' status"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/status/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/results/items/command_meta' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /commands/v0/status/{id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/command_meta' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT /commands/v0/status/{id}/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the optional property 'content/command_meta' to the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /pipelines/v0/operationlists/{operationlist_id}/operations/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'operation_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v0/enterprise/{enterprise_id}/command/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'results/items/command' response property for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v0/enterprise/{enterprise_id}/command/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'command' response property for the response status '201'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new 'UPDATE_WIFI_AP' enum value to the request property 'command'"},"children":[]}]}]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST /v0/operations/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'operation_type'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ for the 'query' request parameter 'limit', default value '10.00' was added"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ added '#/components/schemas/OffsetPaginatedDeviceList, #/components/schemas/CursorPaginatedDeviceList' to the 'content' response property 'oneOf' list for the response status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ the 'content' response's property type/format changed from 'object'/'' to ''/'' for status '200'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ for the 'query' request parameter 'limit', the max was set to '1000.00'"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property 'content/count' from the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property 'content/next' from the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property 'content/previous' from the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ removed the optional property 'content/results' from the response with the '200' status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"added the new optional 'query' request parameter 'cursor'"},"children":[]}]}]}]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 186 [2026-03-31]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"NO CHANGE"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"hr","attributes":{},"children":[]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DevRel 185 [2026-03-18]"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/devices/{deviceId}/google-accounts/emm-managed/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint path updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/esper-apps/{appId}/versions/{versionId}"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint path updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/foundationversions"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint path updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/rv-activity-feed/"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint path updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/tenant-esper-apps"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" -  endpoint path updated"},"children":[]}]}]}]}]}]}],"sectionId":"/openapi/section/change-log"}]}]}},{"type":"link","label":"Introduction","link":"/openapi/section/introduction","routeSlug":"/openapi/section/introduction","content":null},{"type":"link","label":"Authentication","link":"/openapi/section/authentication","routeSlug":"/openapi/section/authentication","content":null},{"type":"link","label":"Pagination","link":"/openapi/section/pagination","routeSlug":"/openapi/section/pagination","content":null},{"type":"link","label":"Errors","link":"/openapi/section/errors","routeSlug":"/openapi/section/errors","content":null},{"type":"link","label":"Rate Limits","link":"/openapi/section/rate-limits","routeSlug":"/openapi/section/rate-limits","content":null},{"type":"link","label":"Change Log","link":"/openapi/section/change-log","routeSlug":"/openapi/section/change-log","content":null},{"type":"separator","label":"ESPER CLOUD API","content":null},{"type":"group","label":"Company Settings","link":"/openapi/esper_cloud_api_company-settings","routeSlug":"/openapi/esper_cloud_api_company-settings","items":[{"label":"Get your company settings","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_company-settings/getenterprise","routeSlug":"/openapi/esper_cloud_api_company-settings/getenterprise","metadata":{"seo":{"title":"Get your company settings","description":"Retrieves the current company settings for the specified enterprise.Use this endpoint to read enterprise-level configuration including contact information, location details, EMM enrollment status, and the enterprise's display name.About Get Company SettingsThis endpoint (formerly \"Get Enterprise Information\") returns the EnterpriseV1 object for your enterprise — the root configuration record that identifies your organization within Esper. It includes both read-only system fields (id, short_code, created_on, updated_on, emm) and user-editable fields such as name, contact details, and location. The emm field surfaces whether the enterprise is enrolled in Google EMM and, if so, its google_enterprise_id. All editable fields can be updated via PATCH /v1/enterprise/{enterprise_id}/."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEnterprise","name":"Get your company settings","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get your company settings","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the current company settings for the specified enterprise.Use this endpoint to read enterprise-level configuration including contact information, location details, EMM enrollment status, and the enterprise's display name.About Get Company Settings"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint (formerly \"Get Enterprise Information\") returns the EnterpriseV1 object for your enterprise — the root configuration record that identifies your organization within Esper. It includes both read-only system fields (id, short_code, created_on, updated_on, emm) and user-editable fields such as name, contact details, and location. The emm field surfaces whether the enterprise is enrolled in Google EMM and, if so, its google_enterprise_id. All editable fields can be updated via PATCH /v1/enterprise/{enterprise_id}/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id (path, required) — UUID of the enterprise to retrieve"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (read-only) — UUID of the enterprise record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"short_code (read-only) — Auto-generated 10-character identifier for the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"registered_name — Formal legal name of the organization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"registered_address — Registered business address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location — City, state, and country of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact_person / contact_number / contact_email — Primary point-of-contact details"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"wifi_lte_toggle_flag — Whether the data saver mode feature is enabled (only present if the feature is active)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"emm — Google EMM enrollment details, including google_enterprise_id; null if not EMM-enrolled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reading enterprise metadata to populate an integration's configuration or audit log"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming EMM enrollment status and retrieving the linked google_enterprise_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the current values of all editable fields before issuing a PATCH update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to read current state before calling PATCH — it ensures you don't unknowingly overwrite values you didn't intend to change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat id, short_code, created_on, updated_on, and emm as read-only; they cannot be updated via PATCH"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cache the enterprise_id at integration setup time rather than fetching it on every request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/enterprise/{enterprise_id}/ with the enterprise UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect the response for the fields relevant to your use case (e.g., emm for EMM enrollment status, contact_email for contact details)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned field values as the baseline if you plan to follow up with a PATCH update"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/","href":"esper_cloud_api_company-settings/getenterprise","openApiOperationId":"getEnterprise","summary":"Get your company settings"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"}},"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_EnterpriseV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_company-settings/getenterprise"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/"},{"label":"Partially update company settings","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_company-settings/partialupdateenterprise","routeSlug":"/openapi/esper_cloud_api_company-settings/partialupdateenterprise","metadata":{"seo":{"title":"Partially update company settings","description":"Partially updates the company settings for the specified enterprise, returning the full updated record.Supply only the fields you want to change — all omitted fields retain their current values."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialUpdateEnterprise","name":"Partially update company settings","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially update company settings","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates the company settings for the specified enterprise, returning the full updated record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supply only the fields you want to change — all omitted fields retain their current values."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Partial Update Company Settings"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint (formerly \"Partial Update Enterprise Information\") applies sparse updates to the EnterpriseV1 record using the EnterpriseUpdateV1 schema. All fields in the request body are optional; only those included will be changed. Read-only fields (id, short_code, created_on, updated_on, emm) cannot be modified and should be omitted from the request body. The response returns the complete updated EnterpriseV1 object. Call GET /v1/enterprise/{enterprise_id}/ first to retrieve current values before making changes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id (path, required) — UUID of the enterprise to update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name (optional) — Display name of the enterprise (max 255 chars)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"registered_name (optional) — Formal legal name of the organization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"registered_address (optional) — Registered business address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location (optional) — City, state, and country"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"zipcode (optional) — Postal code for the enterprise location (max 8 chars)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact_person (optional, nullable) — Primary point-of-contact name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact_number (optional, nullable) — Contact phone number"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"contact_email (optional) — Contact email address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"wifi_lte_toggle_flag (optional) — Toggles data saver mode; only effective if the feature is enabled for the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating enterprise contact details after an organizational change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting the registered name or address on file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Toggling wifi_lte_toggle_flag when enabling or disabling data saver mode"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/enterprise/{enterprise_id}/ first to confirm current values before issuing a PATCH"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include only the fields you intend to change; PATCH is safe to use for single-field updates"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not include id, short_code, created_on, updated_on, or emm in the request body — they are read-only and will be ignored or may cause errors"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the update took effect by inspecting the returned EnterpriseV1 object in the response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/enterprise/{enterprise_id}/ to retrieve the current enterprise record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Construct a partial payload containing only the fields to update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call PATCH /v1/enterprise/{enterprise_id}/ with the payload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the changes in the returned EnterpriseV1 response object"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseUpdateV1"}},"schemaId":"components/schemas/esper_cloud_api_EnterpriseUpdateV1","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v1/enterprise/{enterprise_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseUpdateV1"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/","href":"esper_cloud_api_company-settings/partialupdateenterprise","openApiOperationId":"partialUpdateEnterprise","summary":"Partially update company settings"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_EnterpriseUpdateV1","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseUpdateV1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"}},"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_EnterpriseV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterpriseV1"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_company-settings/partialupdateenterprise"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Company Settings"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Company Settings","showPageActions":true},{"nodeType":"markdoc","content":"The Company Settings API manage the account information set up for your organization. Formerly known as Enterprise Information."},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12656541757457-Introduction-to-Company-Settings","description":"Find out more about Company Settings"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/","summary":"Get your company settings","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_company-settings/getenterprise","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/","summary":"Partially update company settings","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_company-settings/partialupdateenterprise","deprecated":false}]}]}]}]}},{"type":"group","label":"Application","link":"/openapi/esper_cloud_api_application","routeSlug":"/openapi/esper_cloud_api_application","items":[{"label":"List apps in enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getallapplications","routeSlug":"/openapi/esper_cloud_api_application/getallapplications","metadata":{"seo":{"title":"List apps in enterprise","description":"Alternative Available"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllApplications","name":"List apps in enterprise","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List apps in enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET \"/v2/apps (tenant iOS and Windows apps only)\" or GET \"https://{foo}-api.esper.cloud/api/v1/enterprise/{enterprise_id}/application/\""},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all applications uploaded to an enterprise's application library. Returns a paginated collection of application records, including metadata such as package name, developer, category, and active status, with filter options to narrow results by name, package, SDK version, upload status, and timestamps. Default page size is 20."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Enterprise Applications"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's application library is the enterprise-level repository where APK files are uploaded and managed before deployment to devices. Each application entry groups multiple uploaded versions under a single record identified by package name. Applications can be filtered by active state, hidden status, and whether they have at least one uploaded version ready for deployment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_name — partial or exact name filter"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — filter by Android package name (e.g. com.example.app)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_uploaded_version — when true, returns only apps with at least one APK version on record"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_hidden — filters default Esper system apps; defaults to false"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — filter for currently active applications"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on_gt / created_on_lt / updated_on_gt / updated_on_lt — timestamp range filters for audit or sync "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — results per page (default: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inventory the full set of applications available for deployment across an enterprise"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Locate a specific app by package name before retrieving its versions for installation"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify apps that have no uploaded versions and may need attention"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No need to delete prior versions. Multiple, different versions of apps can exist simultaneously."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Applications must be removed from a blueprint before the blueprint can be deleted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with relevant filters (name, package, active state) to find the target application"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note the id field from the matching result — this is the application_id UUID needed for version lookups and installs"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Proceed to GET .../application/{application_id}/version/ to retrieve available versions"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"application_name","in":"query","schemaId":"schema_323","description":"filter by application name"},{"name":"package_name","in":"query","schemaId":"schema_323","description":"filter by package name"},{"name":"package_name_exact","in":"query","schemaId":"schema_323","description":"filter by package name (exact match)"},{"name":"has_uploaded_version","in":"query","schemaId":"schema_324","description":"Returns applications having atleast one version uploaded"},{"name":"category","in":"query","schemaId":"schema_323","description":"filter by category"},{"name":"supported_sdk","in":"query","schemaId":"schema_325","description":"filter by supported sdk versions"},{"name":"is_active","in":"query","schemaId":"schema_324","description":"filter by active applications"},{"name":"is_hidden","in":"query","schemaId":"schema_326","description":"filter default esper apps"},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"filter applications created after a given timestamp"},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"filter applications created before a given timestamp"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"filter applications updated after a given timestamp"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"filter applications updated before a given timestamp"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/application/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"application_name","in":"query","schemaId":"schema_323"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"package_name_exact","in":"query","schemaId":"schema_323"},{"name":"has_uploaded_version","in":"query","schemaId":"schema_324"},{"name":"category","in":"query","schemaId":"schema_323"},{"name":"supported_sdk","in":"query","schemaId":"schema_325"},{"name":"is_active","in":"query","schemaId":"schema_324"},{"name":"is_hidden","in":"query","schemaId":"schema_326"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/enterprise/{enterprise_id}/application/","href":"esper_cloud_api_application/getallapplications","openApiOperationId":"getAllApplications","summary":"List apps in enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_330"}},"schemaId":"schema_330"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_330","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_330"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getallapplications"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/"},{"label":"Get application information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getapplication","routeSlug":"/openapi/esper_cloud_api_application/getapplication","metadata":{"seo":{"title":"Get application information","description":"Lists all versions of a specific application registered in the enterprise library.Returns a paginated collection of AppVersion records for the specified application, filterable by version code, build number. Default page size is 20; results can be ordered by install count."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getApplication","name":"Get application information","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get application information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all versions of a specific application registered in the enterprise library."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated collection of AppVersion records for the specified application, filterable by version code, build number. Default page size is 20; results can be ordered by install count."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List App Versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Esper application can have multiple versions, each tracked as a distinct AppVersion record with its own UUID (version_id).The version_id is required when issuing install commands to specific devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — filter by the version code string (as set in the APK manifest)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_number — filter by build number"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approval_status — filter by lifecycle status: AVAILABLE, ACCEPTED, APPROVED, or REJECTED"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_enabled — filter for enabled versions only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — filter for the default version of the application"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — sort by installed_count (ascending) or -installed_count (descending)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — results per page (default: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the list of versions before selecting one for a device install command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store version_id values from results — these UUIDs are required for device install and app detail lookups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the target application_id and any filters"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Select the appropriate version from the results and record its id (version_id)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use version_id in install commands or in GET .../version/{version_id}/ for full version detail"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/application/{application_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/","href":"esper_cloud_api_application/getapplication","openApiOperationId":"getApplication","summary":"Get application information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Application"}},"schemaId":"components/schemas/esper_cloud_api_Application"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Application","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Application"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getapplication"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/"},{"label":"Delete an application","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/deleteapplication","routeSlug":"/openapi/esper_cloud_api_application/deleteapplication","metadata":{"seo":{"title":"Delete an application","description":"Alternative Available: DELETE /v1/enterprise/{enterprise_id}/application/{application_id}/To remove an iOS or Windows application version: DELETE /v2/tenant-apps/{appId}/versions/{versionId}Delete Android enterprise application. Permanently removes an application and all of its associated versions from the enterprise. Once deleted, the application can no longer be assigned to devices or policies and cannot be managed or distributed unless re-uploaded.Common Use Cases Removing deprecated or unsupported applications from the enterprise catalog, cleaning up unused or test applications, eliminating duplicate entries, and decommissioning applications no longer approved for distribution.Best Practices Before deleting, download a backup copy of the application package from the Apps section in the console — deletion is permanent and cannot be undone. Verify the application is not referenced in any active blueprints before calling this endpoint; an application associated with a blueprint must be removed from that blueprint first or the deletion will fail. Review device and policy assignments to avoid unintended disruption to managed devices.Note: This endpoint removes the entire application record along with all versions. To remove iOS or Windows tenant application versions individually, use DELETE /v2/tenant-apps/{appId}/versions/{versionId} instead.Workflow:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteApplication","name":"Delete an application","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an application","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available: DELETE /v1/enterprise/{enterprise_id}/application/{application_id}/"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To remove an iOS or Windows application version: DELETE /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete Android enterprise application. Permanently removes an application and all of its associated versions from the enterprise. Once deleted, the application can no longer be assigned to devices or policies and cannot be managed or distributed unless re-uploaded."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Removing deprecated or unsupported applications from the enterprise catalog, cleaning up unused or test applications, eliminating duplicate entries, and decommissioning applications no longer approved for distribution."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Before deleting, download a backup copy of the application package from the Apps section in the console — deletion is permanent and cannot be undone. Verify the application is not referenced in any active blueprints before calling this endpoint; an application associated with a blueprint must be removed from that blueprint first or the deletion will fail. Review device and policy assignments to avoid unintended disruption to managed devices."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note: This endpoint removes the entire application record along with all versions. To remove iOS or Windows tenant application versions individually, use DELETE /v2/tenant-apps/{appId}/versions/{versionId} instead."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the List apps in enterprise endpoint to retrieve the application_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check whether the application is present in any blueprints: GET /v2/blueprints/"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the application appears in one or more blueprints, note the relevant blueprint_id values."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For each affected blueprint, remove the application by calling: PUT /v2/blueprints/{blueprint_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once the application has been removed from all blueprints, call this endpoint with the application_id to permanently delete it and all associated versions from the enterprise."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/application/{application_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/","href":"esper_cloud_api_application/deleteapplication","openApiOperationId":"deleteApplication","summary":"Delete an application"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/deleteapplication"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/"},{"label":"List App versions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getappversions","routeSlug":"/openapi/esper_cloud_api_application/getappversions","metadata":{"seo":{"title":"List App versions","description":"Lists all versions of a specific application registered in the enterprise library."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppVersions","name":"List App versions","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List App versions","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all versions of a specific application registered in the enterprise library."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated collection of AppVersion records for the specified application, filterable by version code, build number, approval status, Google Play origin, enabled state, and timestamps. Default page size is 20; results can be ordered by install count."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List App Versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Esper application can have multiple versions, each tracked as a distinct AppVersion record with its own UUID (version_id). Versions may originate from a direct APK upload or from the Console Google Play Store (identifiable via is_g_play). Each version carries an approval_status (AVAILABLE, ACCEPTED, APPROVED, or REJECTED) and can be enabled or disabled independently. The version_id is required when issuing install commands to specific devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — filter by the version code string (as set in the APK manifest)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_number — filter by build number"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_g_play — true returns only versions sourced from the Console Google Play Store"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approval_status — filter by lifecycle status: AVAILABLE, ACCEPTED, APPROVED, or REJECTED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_enabled — filter for enabled versions only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — filter for the default version of the application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — sort by installed_count (ascending) or -installed_count (descending)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — results per page (default: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the list of approved, enabled versions before selecting one for a device install command"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit which app versions are currently deployed across devices using installed_count ordering"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify versions with approval_status=REJECTED or is_enabled=false to clean up the library"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by approval_status=APPROVED and is_enabled=true to limit results to deployment-ready versions"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use is_g_play=false when working exclusively with internally uploaded APKs to exclude Play Store-sourced versions"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store version_id values from results — these UUIDs are required for device install and app detail lookups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the target application_id and any filters (approval status, enabled state)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Select the appropriate version from the results and record its id (version_id)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use version_id in install commands or in GET .../version/{version_id}/ for full version detail"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"version_code","in":"query","schemaId":"schema_323","description":"filter by version code"},{"name":"build_number","in":"query","schemaId":"schema_323","description":"filter by build number"},{"name":"is_g_play","in":"query","schemaId":"schema_324","description":"filter google play applications"},{"name":"approval_status","in":"query","schemaId":"schema_331","description":"filter by approval status"},{"name":"is_enabled","in":"query","schemaId":"schema_324","description":"filter by enabled versions"},{"name":"is_default","in":"query","schemaId":"schema_324","description":"filter by default versions"},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"filter applications created after a given timestamp"},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"filter applications created before a given timestamp"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"filter applications updated after a given timestamp"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"filter applications updated before a given timestamp"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."},{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order result set by field name."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"installed_count: order by asc"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"-installed_count: order by desc"},"children":[]}]}]}]}]}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/application/{application_id}/version/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"version_code","in":"query","schemaId":"schema_323"},{"name":"build_number","in":"query","schemaId":"schema_323"},{"name":"is_g_play","in":"query","schemaId":"schema_324"},{"name":"approval_status","in":"query","schemaId":"schema_331"},{"name":"is_enabled","in":"query","schemaId":"schema_324"},{"name":"is_default","in":"query","schemaId":"schema_324"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"},{"name":"ordering","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/version/","href":"esper_cloud_api_application/getappversions","openApiOperationId":"getAppVersions","summary":"List App versions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_332"}},"schemaId":"schema_332"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_332","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_332"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getappversions"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/version/"},{"label":"Get app version information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getappversion","routeSlug":"/openapi/esper_cloud_api_application/getappversion","metadata":{"seo":{"title":"Get app version information","description":"Retrieves full details for a single application version by its UUID.Returns the AppVersion object including version code, build number, release name, release track, approval status, enabled/default state, SDK version constraints, and install count. Use when you need complete metadata on a specific version identified by version_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppVersion","name":"Get app version information","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get app version information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves full details for a single application version by its UUID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the AppVersion object including version code, build number, release name, release track, approval status, enabled/default state, SDK version constraints, and install count. Use when you need complete metadata on a specific version identified by version_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get App Version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AppVersion records in Esper represent individual APK builds associated with an application. Each version has its own version_id UUID and carries release lifecycle metadata — including its release_track (Alpha, Beta, or Production), approval_status, and is_enabled flag — that governs whether it is eligible for deployment. This endpoint also includes a request_id query parameter that, when matched in cache, triggers deletion of the cached application and entry, useful for invalidating stale state during upload "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_id - The UUID of the application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_id — path parameter UUID identifying this specific version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — the version identifier from the APK manifest"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_number — build-level identifier for the release"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_enabled — whether this version is available for deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — whether this version is the designated default for the application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the approval status and release track of a version before scheduling a device install"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve SDK version constraints (min_sdk_version, target_sdk_version) to verify device compatibility"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Look up a version's installed_count to understand deployment breadth before deprecating or replacing it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify is_enabled=true before using a version_id in an install command"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint rather than the version list when you already have the version_id and need authoritative metadata fast"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the version_id from a prior version list call or stored reference"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve full version metadata"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm release track and approval status, then proceed with install or deployment commands"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"request_id","in":"query","schemaId":"schema_323","description":"If this value exists in cache, delete the application and cache entry."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"request_id","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application/getappversion","openApiOperationId":"getAppVersion","summary":"Get app version information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersion"}},"schemaId":"components/schemas/esper_cloud_api_AppVersion"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersion","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersion"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getappversion"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"Delete app version","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/deleteappversion","routeSlug":"/openapi/esper_cloud_api_application/deleteappversion","metadata":{"seo":{"title":"Delete app version","description":"Alternative Available: DELETE /v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/ To remove an iOS or Windows application version: DELETE /v2/tenant-apps/{appId}/versions/{versionId}"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAppVersion","name":"Delete app version","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete app version","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available: DELETE /v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/ To remove an iOS or Windows application version: DELETE /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete Android enterprise application version. Permanently removes a specific version of an application from the enterprise app catalog. Only the targeted version is deleted — the application record and all other versions remain intact and unaffected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Removing a buggy or recalled release, cleaning up test or development builds, and reducing catalog clutter by retiring outdated versions no longer approved for distribution."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important behavior: You do not need to delete older versions before uploading a new one. Use this endpoint only when you want the selected version fully and permanently removed from the catalog."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Before deleting, download and retain a copy of the build artifact outside of Esper — this action is irreversible and the version cannot be recovered through the API. Verify the version is not referenced in any active blueprints before calling this endpoint; a version associated with a blueprint must be removed from that blueprint first or the deletion will fail. Review any deployment "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s that may reference this specific version to avoid unintended disruption."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": 1. Use the List apps in enterprise endpoint to retrieve the application_id. 2. Use the List app versions endpoint to identify the version_id you want to remove. 3. Check whether the version is present in any blueprints: GET /v2/blueprints/ 4. If the version appears in one or more blueprints, note the relevant blueprint_id values. 5. For each affected blueprint, remove the version reference by calling: PUT /v2/blueprints/{blueprint_id}/ 6. Once the version has been removed from all blueprints, call this endpoint with the application_id and version_id to permanently delete it."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","204","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application/deleteappversion","openApiOperationId":"deleteAppVersion","summary":"Delete app version"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No request id is provided and the application is linked to one or more templates. Returns a request_id. Call with this request id to delete the resource."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"}},"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"},{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersionDelete","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"}}},{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/deleteappversion"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"Patch an App version instance","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/patchappversion","routeSlug":"/openapi/esper_cloud_api_application/patchappversion","metadata":{"seo":{"title":"Patch an App version instance","description":"Alternative Available: PATCH /v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/To update an iOS or Windows application version: PUT /v2/tenant-apps/{appId}/versions/{versionId}"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchAppVersion","name":"Patch an App version instance","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patch an App version instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available: PATCH /v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To update an iOS or Windows application version: PUT /v2/tenant-apps/{appId}/versions/{versionId}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Patch Android enterprise application version. Updates editable metadata for a specific application version without changing the underlying build. Use this endpoint to modify fields such as release name, release comments, release track, approval status, SDK targets, and whether the version is enabled or set as the default."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Updating release notes or comments after upload, changing a version's release track (Alpha, Beta, or Production), enabling or disabling a specific version, setting a version as the default, and updating approval status as part of a review "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Important behavior: This endpoint does not upload or replace the app binary. To publish a new build, use: POST /enterprise/{enterprise_id}/application/upload/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Only include the fields you intend to change — unspecified fields will remain unchanged. Confirm the version_id before patching to avoid updating the wrong release. If updating approval_status or is_enabled as part of a release "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", verify downstream policies and blueprints referencing this version are ready before making the version active."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the List apps in enterprise endpoint to retrieve the application_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the List app versions endpoint to identify the version_id you want to update."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a PATCH request with only the metadata fields you want to modify."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_333"}},"schemaId":"schema_333","pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"schema_333"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application/patchappversion","openApiOperationId":"patchAppVersion","summary":"Patch an App version instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_333","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_333"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersion"}},"schemaId":"components/schemas/esper_cloud_api_AppVersion"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersion","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersion"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/patchappversion"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"List install devices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getinstalldevices","routeSlug":"/openapi/esper_cloud_api_application/getinstalldevices","metadata":{"seo":{"title":"List install devices","description":"List all devices with a specific app version installed. Retrieves a paginated list of devices on which the specified application version is currently installed. Results can be searched by device name, device alias, or group name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getInstallDevices","name":"List install devices","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List install devices","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all devices with a specific app version installed. Retrieves a paginated list of devices on which the specified application version is currently installed. Results can be searched by device name, device alias, or group name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About App Install Tracking"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper tracks the installation state of each app version across enrolled devices. This endpoint provides an app-centric view of device coverage — rather than querying each device individually for its installed apps, you can query a specific app version to see exactly which devices have it installed. This is particularly useful for verifying deployment coverage after issuing an install command across a fleet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Platform limitations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is not supported for iOS, Linux, or Windows devices — retrieving a list of devices by app version is an Android-only capability. Additionally, kiosk-specific app attributes such as KioskAppName are not included in the summary-level device records returned by this endpoint; retrieving those attributes requires individual device detail calls via GET /enterprise/{enterprise_id}/device/{device_id}/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /enterprise/{enterprise_id}/application/ to retrieve the application_id for the app you want to audit."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /enterprise/{enterprise_id}/application/{application_id}/version/ to retrieve the version_id for the specific version."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the list of devices with that version installed."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference results against your target device list to identify any devices that are missing the installation."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use POST /commands/v0/commands/ to issue an install command to devices that have not yet received the app version."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"search","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A search term, search based on device name, device alias_name, group name"},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page"},{"name":"offset","in":"query","schemaId":"schema_325","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","href":"esper_cloud_api_application/getinstalldevices","openApiOperationId":"getInstallDevices","summary":"List install devices"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_334"}},"schemaId":"schema_334"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_334","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_334"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getinstalldevices"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices"},{"label":"Upload an application to enterprise","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/upload","routeSlug":"/openapi/esper_cloud_api_application/upload","metadata":{"seo":{"title":"Upload an application to enterprise","description":"⚠️ Android only. This endpoint accepts APK files and applies exclusively to Android-managed devices. See iOS and Windows application endpoints for Workflows."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"upload","name":"Upload an application to enterprise","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1upload~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload an application to enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint accepts APK files and applies exclusively to Android-managed devices. See iOS and Windows application endpoints for "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads an APK file to the enterprise application library, creating or updating an application and version record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a multipart/form-data payload with a single required field (app_file), and returns the resulting Application object including the newly created version upon success. This is the primary mechanism for adding privately distributed APKs to the Esper platform for enterprise deployment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload Application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The upload endpoint ingests an APK binary and parses it to extract metadata such as package name, version code, and SDK requirements, automatically associating the upload with the correct application record (creating one if none exists for the package name). The returned Application object includes the new version in its versions array."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_file — required; the binary APK file to upload, sent as multipart/form-data"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add a new internal or privately distributed app to the enterprise library for managed deployment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload a new version of an existing app, updating the version catalog without creating a duplicate application record"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automate app updates as part of a CI/CD pipeline that pushes new APK builds to Esper. Use the Operations endpoint for large deployments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure the APK is valid and signed before uploading — malformed or unsigned APKs will result in a 400 Bad Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the application_id and version_id from the response to use directly in install commands without a subsequent lookup"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build and sign your APK"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the APK binary as app_file in a multipart/form-data request to this endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the application_id and new version_id from the response, then proceed with install "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1upload~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data","application/x-www-form-urlencoded"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_335"},"application/x-www-form-urlencoded":{"schemaId":"schema_335"}},"schemaId":"schema_335","pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1upload~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/application/upload/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_335"},"application/x-www-form-urlencoded":{"schemaId":"schema_335"}},"responseCodes":["201","400","401","403","415","500"],"pointer":"/enterprise/{enterprise_id}/application/upload/","href":"esper_cloud_api_application/upload","openApiOperationId":"upload","summary":"Upload an application to enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_335","mediaTypes":["multipart/form-data","application/x-www-form-urlencoded"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_335"},"application/x-www-form-urlencoded":{"schemaId":"schema_335"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_336"}},"schemaId":"schema_336"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"415","description":"Unsupported media type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1application~1upload~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_336","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_336"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/upload"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/application/upload/"},{"label":"List Google enterprises","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getemminstances","routeSlug":"/openapi/esper_cloud_api_application/getemminstances","metadata":{"seo":{"title":"List Google enterprises","description":"List all Google Enterprise (EMM) instances for the enterprise. Retrieves all Google Enterprise bindings associated with the specified Esper enterprise, including the google_enterprise_id that links each binding to Google's EMM infrastructure."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEMMInstances","name":"List Google enterprises","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Google enterprises","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all Google Enterprise (EMM) instances for the enterprise. Retrieves all Google Enterprise bindings associated with the specified Esper enterprise, including the google_enterprise_id that links each binding to Google's EMM infrastructure."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Google EMM"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Google Enterprise binding connects an Esper enterprise to Google's Enterprise Mobility Management (EMM) infrastructure, enabling management of GMS-enabled Android devices. This binding is the foundation for silent app installation, Play Store customization, managed configurations, and advanced device provisioning across a GMS fleet. Without an active EMM binding, Google Play-dependent management features are unavailable."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming that a Google Enterprise binding exists before attempting GMS-dependent operations, retrieving the emm_id needed to call related EMM endpoints, and auditing the EMM enrollment state for a given enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to confirm the enterprise has an active EMM binding and retrieve the emm_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v0/enterprise/{enterprise_id}/emm/{emm_id}/ to retrieve full details for a specific EMM instance."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm","href":"esper_cloud_api_application/getemminstances","openApiOperationId":"getEMMInstances","summary":"List Google enterprises"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_337"}},"schemaId":"schema_337"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_337","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_337"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getemminstances"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm"},{"label":"Get Google enterprise information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getemminstance","routeSlug":"/openapi/esper_cloud_api_application/getemminstance","metadata":{"seo":{"title":"Get Google enterprise information","description":"Get a specific Google Enterprise (EMM) instance for the enterprise. Retrieves the details of a single Google Enterprise binding identified by emm_id, including its association with the Esper enterprise and the google_enterprise_id that links it to Google's EMM infrastructure."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEMMInstance","name":"Get Google enterprise information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Google enterprise information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a specific Google Enterprise (EMM) instance for the enterprise. Retrieves the details of a single Google Enterprise binding identified by emm_id, including its association with the Esper enterprise and the google_enterprise_id that links it to Google's EMM infrastructure."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming the details of a specific EMM binding before performing GMS-dependent operations, retrieving the google_enterprise_id for use in downstream "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s, and validating that the correct EMM instance is associated with the enterprise before managing web tokens or Google Play applications."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/ to retrieve the emm_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to confirm the details of a specific EMM instance."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}","href":"esper_cloud_api_application/getemminstance","openApiOperationId":"getEMMInstance","summary":"Get Google enterprise information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleEnterprise"}},"schemaId":"components/schemas/esper_cloud_api_GoogleEnterprise"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleEnterprise","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleEnterprise"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getemminstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}"},{"label":"List webtokens","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getwebtokens","routeSlug":"/openapi/esper_cloud_api_application/getwebtokens","metadata":{"seo":{"title":"List webtokens","description":"List all web tokens for a Google Enterprise (EMM) instance. Retrieves all web tokens associated with the specified EMM binding, including each token's value, parent_url, active status, and creation timestamp. Retrieve your webtoken from the Apps section of the console by using the inspector's network tab."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWebtokens","name":"List webtokens","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List webtokens","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all web tokens for a Google Enterprise (EMM) instance. Retrieves all web tokens associated with the specified EMM binding, including each token's value, parent_url, active status, and creation timestamp. Retrieve your webtoken from the Apps section of the console by using the inspector's network tab."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Web Tokens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Google web token is a credential required to access the Managed Google Play interface within the Esper Console. Web tokens are also a key part of the EMM enterprise enrollment "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" — if token generation or retrieval fails, it can block new device onboarding and prevent access to app management features entirely."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving existing web tokens to verify their active status before launching the Managed Play Store interface, auditing which parent_url values are authorized for console Google Play Store use, and obtaining a webtoken_id needed to update or delete a specific token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/ to retrieve the emm_id for the enterprise's Google Enterprise binding."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to list all existing web tokens and check their active status and associated parent_url."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a suitable active token exists, use it to access the Managed Google Play interface for app selection, managed configurations, and Play Store customization."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","href":"esper_cloud_api_application/getwebtokens","openApiOperationId":"getWebtokens","summary":"List webtokens"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_338"}},"schemaId":"schema_338"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_338","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_338"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getwebtokens"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/"},{"label":"Creates a webtoken instance","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/createwebtoken","routeSlug":"/openapi/esper_cloud_api_application/createwebtoken","metadata":{"seo":{"title":"Creates a webtoken instance","description":"We recommend enrolling in EMM (Google Play) through the UI. See Setting Up Google Play for more information. Create a new web token for a Google Enterprise (EMM) instance. Generates a new web token scoped to a specified parent_url, which can then be used to access the Managed Google Play interface within the Esper Console or a custom management application. Returns the created token including its id, token value, parent_url, and active status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createWebtoken","name":"Creates a webtoken instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Creates a webtoken instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We recommend enrolling in EMM (Google Play) through the UI. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652188061585-Setting-Up-Google-Play-EMM-Enrollment"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Google Play"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. Create a new web token for a Google Enterprise (EMM) instance. Generates a new web token scoped to a specified parent_url, which can then be used to access the Managed Google Play interface within the Esper Console or a custom management application. Returns the created token including its id, token value, parent_url, and active status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required request body fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"emm — the integer ID of the EMM instance (from GET /v0/enterprise/{enterprise_id}/emm/)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent_url — the URL of the application that will host the Play Store iFrame; must use the https scheme"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"responseCodes":["201","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","href":"esper_cloud_api_application/createwebtoken","openApiOperationId":"createWebtoken","summary":"Creates a webtoken instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_GoogleWebToken","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/createwebtoken"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/"},{"label":"Get webtoken instance","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getwebtokeninstance","routeSlug":"/openapi/esper_cloud_api_application/getwebtokeninstance","metadata":{"seo":{"title":"Get webtoken instance","description":"Get a specific web token for a Google Enterprise (EMM) instance. See Setting Up Google Play for more information. Retrieves the details of a single web token identified by webtoken_id, including its token value, associated emm ID, parent_url, active status, and creation timestamp."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWebtokenInstance","name":"Get webtoken instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get webtoken instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a specific web token for a Google Enterprise (EMM) instance. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652188061585-Setting-Up-Google-Play-EMM-Enrollment"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Google Play"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. Retrieves the details of a single web token identified by webtoken_id, including its token value, associated emm ID, parent_url, active status, and creation timestamp."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Verifying the active status and parent_url of a specific token before using it to render the Managed Google Play iFrame, retrieving token details for auditing or troubleshooting app management issues, and confirming a token's configuration before updating or deleting it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/ to retrieve the emm_id for the enterprise's Google Enterprise binding."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/ to list all web tokens and identify the webtoken_id for the token you want to inspect."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full details of the specific token."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the token is active and the parent_url is correct, use the token value to authenticate the Managed Google Play iFrame."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use PUT /v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}/ to update the token, or DELETE to remove it if it is no longer needed. After deleting, reach out to Esper Support."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"webtoken_id","in":"path","schemaId":"schema_323","description":"An integer identifying the webtoken.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"webtoken_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","href":"esper_cloud_api_application/getwebtokeninstance","openApiOperationId":"getWebtokenInstance","summary":"Get webtoken instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleWebToken","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getwebtokeninstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}"},{"label":"Updates webtoken instance","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/updatewebtokeninstance","routeSlug":"/openapi/esper_cloud_api_application/updatewebtokeninstance","metadata":{"seo":{"title":"Updates webtoken instance","description":"See Setting Up Google Play for more information. We generally recommend updating the token via the UI. Update a specific web token for a Google Enterprise (EMM) instance. Performs a full replacement of the web token record identified by webtoken_id, updating its configuration and returning the updated token object."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateWebtokenInstance","name":"Updates webtoken instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Updates webtoken instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652188061585-Setting-Up-Google-Play-EMM-Enrollment"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Google Play"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. We generally recommend updating the token via the UI. Update a specific web token for a Google Enterprise (EMM) instance. Performs a full replacement of the web token record identified by webtoken_id, updating its configuration and returning the updated token object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required request body fields:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"emm — the integer ID of the EMM instance (from GET /v0/enterprise/{enterprise_id}/emm/)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent_url — the URL of the application that will host the Play Store iFrame; must use the https scheme"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"webtoken_id","in":"path","schemaId":"schema_323","description":"An integer identifying the webtoken.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"webtoken_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"responseCodes":["200","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","href":"esper_cloud_api_application/updatewebtokeninstance","openApiOperationId":"updateWebtokenInstance","summary":"Updates webtoken instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleWebToken","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/updatewebtokeninstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}"},{"label":"Patches webtoken instance","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/patchwebtokeninstance","routeSlug":"/openapi/esper_cloud_api_application/patchwebtokeninstance","metadata":{"seo":{"title":"Patches webtoken instance","description":"We recommend handling EMM updates through the UI. See Setting Up Google Play for more information. Partially update a specific web token for a Google Enterprise (EMM) instance. Applies a partial update to the web token record identified by webtoken_id, modifying only the fields included in the request body and returning the updated token object."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchWebtokenInstance","name":"Patches webtoken instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patches webtoken instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We recommend handling EMM updates through the UI. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652188061585-Setting-Up-Google-Play-EMM-Enrollment"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Google Play"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. Partially update a specific web token for a Google Enterprise (EMM) instance. Applies a partial update to the web token record identified by webtoken_id, modifying only the fields included in the request body and returning the updated token object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updatable fields:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"emm — the integer ID of the associated EMM instance"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent_url — the URL of the application hosting the Play Store iFrame; must use the https scheme"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — whether the token is currently active"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"webtoken_id","in":"path","schemaId":"schema_323","description":"An integer identifying the webtoken.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"webtoken_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements"}},"responseCodes":["200","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","href":"esper_cloud_api_application/patchwebtokeninstance","openApiOperationId":"patchWebtokenInstance","summary":"Patches webtoken instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}},"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleWebToken","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleWebToken"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/patchwebtokeninstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}"},{"label":"Deletes a webtoken instance","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/deletewebtokeninstance","routeSlug":"/openapi/esper_cloud_api_application/deletewebtokeninstance","metadata":{"seo":{"title":"Deletes a webtoken instance","description":"We recommend unenrollment from the UI. See Setting Up Google Play for more information. Delete a specific web token for a Google Enterprise (EMM) instance. Permanently removes the web token identified by webtoken_id from the specified EMM instance. Returns an empty response on success (204 No Content). Reach out to Esper Support after unsubscribing from Managed Google Play."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteWebtokenInstance","name":"Deletes a webtoken instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Deletes a webtoken instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"We recommend unenrollment from the UI. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652188061585-Setting-Up-Google-Play-EMM-Enrollment"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting Up Google Play"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. Delete a specific web token for a Google Enterprise (EMM) instance. Permanently removes the web token identified by webtoken_id from the specified EMM instance. Returns an empty response on success (204 No Content). Reach out to Esper Support after unsubscribing from Managed Google Play."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"webtoken_id","in":"path","schemaId":"schema_323","description":"An integer identifying the webtoken.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"webtoken_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","href":"esper_cloud_api_application/deletewebtokeninstance","openApiOperationId":"deleteWebtokenInstance","summary":"Deletes a webtoken instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1webtoken~1{webtoken_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/deletewebtokeninstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}"},{"label":"List Google Play applications","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getgoogleapps","routeSlug":"/openapi/esper_cloud_api_application/getgoogleapps","metadata":{"seo":{"title":"List Google Play applications","description":"List all Google Play applications approved for a Google Enterprise (EMM) instance. See Managing Google Play Apps for more information. Retrieves a paginated list of Google Play apps that have been approved and associated with the specified EMM binding, including each app's google_product_id, package_name, title, icon_url, min_sdk_version, active status, and approval state. Results can be filtered by google_product_id, package_name, or creation and update timestamps."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGoogleApps","name":"List Google Play applications","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Google Play applications","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all Google Play applications approved for a Google Enterprise (EMM) instance. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652339776401-Managing-Google-Play-Store-Apps"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Managing Google Play Apps"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information. Retrieves a paginated list of Google Play apps that have been approved and associated with the specified EMM binding, including each app's google_product_id, package_name, title, icon_url, min_sdk_version, active status, and approval state. Results can be filtered by google_product_id, package_name, or creation and update timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Google Play Products"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When an enterprise enrolls in Google EMM, administrators approve specific apps from the Google Play Store for use across their GMS device fleet. Each approved app is represented as a product record tied to the EMM instance. These product records are the foundation for silent app installation and Play Store customization — only apps that appear in this list can be silently pushed to devices or made available to end users through the managed Play Store."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available query parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"google_product_id — filter by the Google product ID (formatted as app:<package_name>, e.g. app:com.android.chrome)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — filter by the app's package name"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on — filter by the date the product record was created"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"updated_on — filter by the date the product record was last updated"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit / offset — for pagination (default page size: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":":"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/ to retrieve the emm_id for the enterprise's Google Enterprise binding."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the list of approved Google Play apps and identify the google_product_id or id for the app you want to work with."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}/ to retrieve full details for a specific app."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"google_product_id","in":"query","schemaId":"schema_323","description":"filter by Google product id"},{"name":"package_name","in":"query","schemaId":"schema_323","description":"filter by package name"},{"name":"created_on","in":"query","schemaId":"schema_339","description":"filter by date app created"},{"name":"updated_on","in":"query","schemaId":"schema_339","description":"filter by date app updated"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[{"name":"google_product_id","in":"query","schemaId":"schema_323"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"created_on","in":"query","schemaId":"schema_339"},{"name":"updated_on","in":"query","schemaId":"schema_339"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","href":"esper_cloud_api_application/getgoogleapps","openApiOperationId":"getGoogleApps","summary":"List Google Play applications"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_340"}},"schemaId":"schema_340"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_340","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_340"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getgoogleapps"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/"},{"label":"Post a Google play application","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/addgoogleapp","routeSlug":"/openapi/esper_cloud_api_application/addgoogleapp","metadata":{"seo":{"title":"Post a Google play application","description":"Add a Google Play application to a Google Enterprise (EMM) instance. We recommend adding and approving Google Play applications through the UI. See Managing Google Play StoreApps for more information."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addGoogleApp","name":"Post a Google play application","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Post a Google play application","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add a Google Play application to a Google Enterprise (EMM) instance. We recommend adding and approving Google Play applications through the UI. See Managing "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652339776401-Managing-Google-Play-Store-Apps"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Google Play Store"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apps for more information."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"schemaId":"components/schemas/esper_cloud_api_GoogleProduct","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"responseCodes":["201","400","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","href":"esper_cloud_api_application/addgoogleapp","openApiOperationId":"addGoogleApp","summary":"Post a Google play application"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GoogleProduct","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_GoogleProduct","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/addgoogleapp"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/"},{"label":"Get application information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getappinfo","routeSlug":"/openapi/esper_cloud_api_application/getappinfo","metadata":{"seo":{"title":"Get application information","description":"Get a specific Google Play application from a Google Enterprise (EMM) instance. Retrieves the full details of a single Google Play product record identified by product_id, including its google_product_id, package_name, title, icon_url, min_sdk_version, active status, and approval state."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppInfo","name":"Get application information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get application information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a specific Google Play application from a Google Enterprise (EMM) instance. Retrieves the full details of a single Google Play product record identified by product_id, including its google_product_id, package_name, title, icon_url, min_sdk_version, active status, and approval state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming the google_product_id and active status of a specific app before using it in a silent install command, verifying that an app's approval state is valid after it has been added to the EMM instance, and retrieving full product details for auditing or troubleshooting app deployment issues."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v0/enterprise/{enterprise_id}/emm/{emm_id}/product/ first to list all product records and obtain the product_id (the Esper-generated UUID id field in the response) before calling this endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"product_id","in":"path","schemaId":"schema_323","description":"A string identifying the product.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"product_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","href":"esper_cloud_api_application/getappinfo","openApiOperationId":"getAppInfo","summary":"Get application information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleProduct","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getappinfo"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}"},{"label":"Update application instance","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/updateappinfo","routeSlug":"/openapi/esper_cloud_api_application/updateappinfo","metadata":{"seo":{"title":"Update application instance","description":"Update or approve a specific Google Play application for a Google Enterprise (EMM) instance. We recommend handling Google Play application modifications via the UI. See Managing Google Play Store Apps for more information."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAppInfo","name":"Update application instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update application instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update or approve a specific Google Play application for a Google Enterprise (EMM) instance. We recommend handling Google Play application modifications via the UI. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652339776401-Managing-Google-Play-Store-Apps"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Managing Google Play Store Apps"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"product_id","in":"path","schemaId":"schema_323","description":"A string identifying the product.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_341"}},"schemaId":"schema_341","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"product_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"schema_341"}},"responseCodes":["200","204","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","href":"esper_cloud_api_application/updateappinfo","openApiOperationId":"updateAppInfo","summary":"Update application instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_341","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_341"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}},"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"},{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GoogleProduct","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GoogleProduct"}}},{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/updateappinfo"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}"},{"label":"Patch application instance","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/patchappinfo","routeSlug":"/openapi/esper_cloud_api_application/patchappinfo","metadata":{"seo":{"title":"Patch application instance","description":"Partially update specific fields of a managed Google Play application for a Google Enterprise (EMM) instance. We recommend handling Google Play application modifications via the UI. See Managing Google Play Store Apps for more information."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchAppInfo","name":"Patch application instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patch application instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially update specific fields of a managed Google Play application for a Google Enterprise (EMM) instance. We recommend handling Google Play application modifications via the UI. See "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12652339776401-Managing-Google-Play-Store-Apps"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Managing Google Play Store Apps"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for more information."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"product_id","in":"path","schemaId":"schema_323","description":"A string identifying the product.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_342"}},"schemaId":"schema_342","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"product_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"schema_342"}},"responseCodes":["200","204","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","href":"esper_cloud_api_application/patchappinfo","openApiOperationId":"patchAppInfo","summary":"Patch application instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_342","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_342"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PatchGoogleProduct"}},"schemaId":"components/schemas/esper_cloud_api_PatchGoogleProduct"},{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_PatchGoogleProduct","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PatchGoogleProduct"}}},{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/patchappinfo"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}"},{"label":"Delete application instance","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/deleteappinstance","routeSlug":"/openapi/esper_cloud_api_application/deleteappinstance","metadata":{"seo":{"title":"Delete application instance","description":"Delete application. Permanently removes an application from the enterprise. This action deletes the application record and its associated metadata, preventing it from being assigned to devices, policies, or blueprints. Once deleted, the application cannot be managed or distributed unless it is re-uploaded."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAppInstance","name":"Delete application instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete application instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete application. Permanently removes an application from the enterprise. This action deletes the application record and its associated metadata, preventing it from being assigned to devices, policies, or blueprints. Once deleted, the application cannot be managed or distributed unless it is re-uploaded."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing deprecated or unsupported applications, cleaning up unused or test applications, eliminating duplicate entries, or decommissioning applications that are no longer approved for distribution."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before deleting an application, download a copy for backup and archival purposes. To do this, navigate to the Apps section in the console and download the application package. Deletion is permanent and cannot be undone."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Additionally, ensure the application is not referenced in any blueprints prior to deletion. An application associated with a blueprint must be removed from that blueprint before it can be successfully deleted. Review device and blueprint assignments to avoid unintended disruption."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the List apps in enterprise endpoint to retrieve the application_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check whether the application is present in any blueprints by calling:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET https://{foo}-api.esper.cloud/api/v2/blueprints/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the application appears in one or more blueprints, note the relevant blueprint_id values."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For each affected blueprint, update it to remove the application entry by calling:"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT https://{foo}-api.esper.cloud/api/v2/blueprints/{blueprint_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After the application has been removed from all blueprints, call this endpoint with the application_id to permanently delete the application from the enterprise."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"product_id","in":"path","schemaId":"schema_323","description":"A string identifying the product.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"product_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","href":"esper_cloud_api_application/deleteappinstance","openApiOperationId":"deleteAppInstance","summary":"Delete application instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/deleteappinstance"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}"},{"label":"List product installations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/listproducts","routeSlug":"/openapi/esper_cloud_api_application/listproducts","metadata":{"seo":{"title":"List product installations","description":"List all installation records for Google Play applications on a Google Enterprise (EMM) instance. Retrieves a paginated list of installation records for the specified product, each representing the install state of the app on a specific GMS device. Results can be filtered by Google device ID, install state, version code, creation timestamp range, and active status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listProducts","name":"List product installations","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}~1install~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List product installations","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all installation records for Google Play applications on a Google Enterprise (EMM) instance. Retrieves a paginated list of installation records for the specified product, each representing the install state of the app on a specific GMS device. Results can be filtered by Google device ID, install state, version code, creation timestamp range, and active status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/enterprise/{enterprise_id}/emm/{emm_id}/product/ to retrieve the Esper-generated id UUID for the app you want to audit — this is the value used as product_id in the path."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"emm_id","in":"path","schemaId":"schema_325","description":"An integer representing the ID of enterprise.","required":true},{"name":"product_id","in":"path","schemaId":"schema_323","description":"A string identifying the product.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}~1install~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"google_product","in":"query","schemaId":"schema_323","description":"Filter by Google product"},{"name":"google_device","in":"query","schemaId":"schema_323","description":"Filter by Google device"},{"name":"install_state","in":"query","schemaId":"schema_323","description":"Filter by install state"},{"name":"version_code","in":"query","schemaId":"schema_323","description":"Filter by version code"},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"filter installations created after a given timestamp"},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"filter installations created before a given timestamp"},{"name":"is_active","in":"query","schemaId":"schema_324","description":"filter by active installations"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}~1install~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}/install/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"emm_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"product_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"google_product","in":"query","schemaId":"schema_323"},{"name":"google_device","in":"query","schemaId":"schema_323"},{"name":"install_state","in":"query","schemaId":"schema_323"},{"name":"version_code","in":"query","schemaId":"schema_323"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"is_active","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}/install/","href":"esper_cloud_api_application/listproducts","openApiOperationId":"listProducts","summary":"List product installations"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_343"}},"schemaId":"schema_343"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1emm~1{emm_id}~1product~1{product_id}~1install~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_343","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_343"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/listproducts"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}/install/"},{"label":"Gets minimum information regarding application","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application/getminappinfo","routeSlug":"/openapi/esper_cloud_api_application/getminappinfo","metadata":{"seo":{"title":"Gets minimum information regarding application","description":"List minimal application information for all applications in the enterprise. Returns a lightweight list containing only the id (UUID) and package_name for each application uploaded to the enterprise. Use this endpoint instead of the full application list endpoints when you only need to look up an application_id by package name, or build a quick reference map of all applications in the enterprise without the overhead of retrieving full application metadata."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMinAppInfo","name":"Gets minimum information regarding application","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1applications-minimal~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Gets minimum information regarding application","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List minimal application information for all applications in the enterprise. Returns a lightweight list containing only the id (UUID) and package_name for each application uploaded to the enterprise. Use this endpoint instead of the full application list endpoints when you only need to look up an application_id by package name, or build a quick reference map of all applications in the enterprise without the overhead of retrieving full application metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns Android applications only. For other platforms, use the following alternatives:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS (tenant/enterprise apps): GET /v2/tenant-apps/ — returns iOS IPAs and supports filtering by package_name and app_name"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS (VPP and App Store apps): GET /v2/ios-apps/ — returns information about VPP-managed and App Store iOS apps"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS (unified app list including webclips): GET /v2/apps/ — returns a unified list of iOS apps and webclips for the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full list of Android application id and package_name pairs for the enterprise."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the application_id UUID for the package you want to work with."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v1/enterprise/{enterprise_id}/application/{application_id}/version/ to retrieve available versions for that application."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the version_id from step 3 in POST /commands/v0/commands/ to issue an install command to target devices."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1applications-minimal~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/applications-minimal/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/applications-minimal/","href":"esper_cloud_api_application/getminappinfo","openApiOperationId":"getMinAppInfo","summary":"Gets minimum information regarding application"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_344"}},"schemaId":"schema_344"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1applications-minimal~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_344","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_344"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application/getminappinfo"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/applications-minimal/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Application"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Application","showPageActions":true},{"nodeType":"markdoc","content":"APIs for application management"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12652127923857","description":"Find out more about application management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/{enterprise_id}/application/","summary":"List apps in enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getallapplications","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/","summary":"Get application information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getapplication","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/","summary":"Delete an application","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/deleteapplication","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/version/","summary":"List App versions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getappversions","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Get app version information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getappversion","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Delete app version","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/deleteappversion","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Patch an App version instance","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/patchappversion","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","summary":"List install devices","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getinstalldevices","deprecated":false},{"title":"/enterprise/{enterprise_id}/application/upload/","summary":"Upload an application to enterprise","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/upload","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm","summary":"List Google enterprises","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getemminstances","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}","summary":"Get Google enterprise information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getemminstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","summary":"List webtokens","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getwebtokens","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/","summary":"Creates a webtoken instance","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/createwebtoken","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","summary":"Get webtoken instance","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getwebtokeninstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","summary":"Updates webtoken instance","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/updatewebtokeninstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","summary":"Patches webtoken instance","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/patchwebtokeninstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/webtoken/{webtoken_id}","summary":"Deletes a webtoken instance","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/deletewebtokeninstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","summary":"List Google Play applications","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getgoogleapps","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/","summary":"Post a Google play application","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/addgoogleapp","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","summary":"Get application information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getappinfo","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","summary":"Update application instance","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/updateappinfo","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","summary":"Patch application instance","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/patchappinfo","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}","summary":"Delete application instance","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/deleteappinstance","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/emm/{emm_id}/product/{product_id}/install/","summary":"List product installations","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/listproducts","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/applications-minimal/","summary":"Gets minimum information regarding application","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application/getminappinfo","deprecated":false}]}]}]}]}},{"type":"group","label":"Application V1","link":"/openapi/esper_cloud_api_application-v1","routeSlug":"/openapi/esper_cloud_api_application-v1","items":[{"label":"List apps in enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/getallapplicationsv1","routeSlug":"/openapi/esper_cloud_api_application-v1/getallapplicationsv1","metadata":{"seo":{"title":"List apps in enterprise","description":"Returns a paginated list of all Android applications uploaded to the enterprise, with optional filters for name, package name, category, SDK version, and more."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllApplicationsV1","name":"List apps in enterprise","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List apps in enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all Android applications uploaded to the enterprise, with optional filters for name, package name, category, SDK version, and more."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to search and inventory the Android apps available in your enterprise before installing, managing, or auditing app versions across your fleet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Applications"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is part of the Application V1 family (/v1/enterprise/{enterprise_id}/application/...), which manages the enterprise's Android app library — uploaded APKs and Google Play-sourced apps. It is the V1 version of the unversioned GET /enterprise/{enterprise_id}/application/ endpoint; both share the same filter parameters and response shape but use different schema versions (ApplicationV1 vs Application)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are two other application API families with distinct scopes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tenant Apps (/v2/tenant-apps/...) — manages uploaded apps for iOS and Windows platforms (IPA files, Windows binaries). Use this family for non-Android app library management."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device Apps (/v2/devices/{deviceId}/device-apps/ and GET /v2/device-apps) — queries apps installed on a specific device or finds devices with a given app installed, covering iOS and Windows app types (VPP, TENANT_IOS, ESPER_IOS, WEBCLIP, ESPER_WINDOWS, TENANT_WINDOWS). Use this family when you need device-level app inventory rather than the enterprise library."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns ApplicationV1 objects. Each result includes the app's UUID, display name, package name, and a nested latest_version object. Results are paginated with a default page size of 20. Use the application_id from results to target individual apps for deletion or version queries."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_name — Filter by partial or full display name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — Filter by Android package name (partial match)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name_exact — Filter by Android package name (exact match)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_uploaded_version — When true, returns only apps with at least one uploaded version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"category — Filter by application category"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"supported_sdk — Filter by minimum Android SDK version supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Filter by active applications only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_hidden (default: false) — When true, includes Esper default system apps in results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on_gt / created_on_lt — Filter by creation timestamp range"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"updated_on_gt / updated_on_lt — Filter by last-updated timestamp range"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit (default: 20) — Number of results per page"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset (default: 0) — Starting index for pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Searching for an Android app by package name before retrieving its version list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all apps registered to the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a pre-install checklist by filtering for apps with has_uploaded_version: true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use package_name_exact rather than package_name when you know the full package name — it avoids ambiguous partial matches"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For iOS or Windows apps, use GET /v2/tenant-apps instead — this endpoint returns Android apps only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For per-device app inventory or to find which devices have a given app installed, use the Device Apps family (/v2/devices/{deviceId}/device-apps/ or GET /v2/device-apps) instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset on large enterprises; use count from the response to determine total pages"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store application_id values from results for use in version and install queries downstream"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/enterprise/{enterprise_id}/application/ with relevant filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate through results using next links or offset increments until next is null"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note the id (application UUID) for any apps to inspect further"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the id to call GET /v1/enterprise/{enterprise_id}/application/{application_id}/ for full detail or proceed to version management"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"application_name","in":"query","schemaId":"schema_323","description":"filter by application name"},{"name":"package_name","in":"query","schemaId":"schema_323","description":"filter by package name"},{"name":"package_name_exact","in":"query","schemaId":"schema_323","description":"filter by package name (exact match)"},{"name":"has_uploaded_version","in":"query","schemaId":"schema_324","description":"Returns applications having atleast one version uploaded"},{"name":"category","in":"query","schemaId":"schema_323","description":"filter by category"},{"name":"supported_sdk","in":"query","schemaId":"schema_325","description":"filter by supported sdk versions"},{"name":"is_active","in":"query","schemaId":"schema_324","description":"filter by active applications"},{"name":"is_hidden","in":"query","schemaId":"schema_326","description":"filter default esper apps"},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"filter applications created after a given timestamp"},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"filter applications created before a given timestamp"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"filter applications updated after a given timestamp"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"filter applications updated before a given timestamp"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/application/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"application_name","in":"query","schemaId":"schema_323"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"package_name_exact","in":"query","schemaId":"schema_323"},{"name":"has_uploaded_version","in":"query","schemaId":"schema_324"},{"name":"category","in":"query","schemaId":"schema_323"},{"name":"supported_sdk","in":"query","schemaId":"schema_325"},{"name":"is_active","in":"query","schemaId":"schema_324"},{"name":"is_hidden","in":"query","schemaId":"schema_326"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/","href":"esper_cloud_api_application-v1/getallapplicationsv1","openApiOperationId":"getAllApplicationsV1","summary":"List apps in enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_345"}},"schemaId":"schema_345"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_345","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_345"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/getallapplicationsv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/"},{"label":"Get application information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/getapplicationv1","routeSlug":"/openapi/esper_cloud_api_application-v1/getapplicationv1","metadata":{"seo":{"title":"Get application information","description":"Alternative AvailableGET /enterprise/{enterprise_id}/application/{application_id}/"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getApplicationv1","name":"Get application information","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get application information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /enterprise/{enterprise_id}/application/{application_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To retrieve an iOS or Windows application use GET /v2/tenant-apps/{appId}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get Android enterprise application details (V1). Retrieves application details including metadata and the latest version, such as version code, build number, minimum SDK version, package name, and visibility settings. Use this endpoint when working with blueprint configurations, as V1 application endpoints are used in blueprint "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Retrieving application details before referencing an app in a blueprint, validating package name and version metadata prior to deployment, confirming app visibility (is_hidden) before assigning to devices or policies, and auditing SDK compatibility."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Use this endpoint when your "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" involves blueprints — V1 application data is what blueprint configurations reference. For non-blueprint "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s, the non-versioned GET /enterprise/{enterprise_id}/application/{application_id}/ endpoint returns richer version detail. Confirm is_hidden status before assigning an app to a policy or device group to avoid silent failures."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the List apps in enterprise (V1) endpoint to retrieve the application_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pass the application_id to this endpoint to retrieve full application details and latest version metadata."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/","href":"esper_cloud_api_application-v1/getapplicationv1","openApiOperationId":"getApplicationv1","summary":"Get application information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplicationV1"}},"schemaId":"components/schemas/esper_cloud_api_ApplicationV1"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_ApplicationV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplicationV1"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/getapplicationv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/"},{"label":"Delete an application","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/deleteapplicationv1","routeSlug":"/openapi/esper_cloud_api_application-v1/deleteapplicationv1","metadata":{"seo":{"title":"Delete an application","description":"Permanently deletes an Android application record and all of its associated versions from the enterprise."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteApplicationV1","name":"Delete an application","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an application","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes an Android application record and all of its associated versions from the enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This operation is irreversible; the application and every version uploaded under it are removed entirely. Returns HTTP 204 with no response body on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Application"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is part of the Application V1 family, which manages the enterprise's Android app library. Deleting an application removes the top-level app record and cascades to all associated ApplicationVersionV1 records — every version uploaded under this application_id is deleted along with it. The app will no longer appear in the Android app inventory and cannot be targeted for installation or policy assignment. You must remove the application from all assoicated blueprints (and bluperint versions) before calling this endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are two other application API families with distinct scopes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tenant Apps (/v2/tenant-apps/...) — manages uploaded apps for iOS and Windows platforms. Deletions of iOS or Windows apps are handled there."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device Apps (/v2/devices/{deviceId}/device-apps/ and GET /v2/device-apps) — queries app install state on devices for iOS and Windows app types. This family does not perform deletions from the app library."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you only need to remove a specific version rather than the entire app, use the version-level delete endpoint instead. There is no soft-delete or recovery path for this operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id (path, required) — UUID of the enterprise"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_id (path, required) — UUID of the Android application to delete"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an Android app that was uploaded in error or is no longer relevant to the fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up the Android app library during a fleet restructure or platform migration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Purging outdated or retired apps that should not be available for future installation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practice"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the correct application_id using GET /v1/enterprise/{enterprise_id}/application/{application_id}/ before issuing DELETE — there is no undo"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check whether any devices still have the app installed before deleting; use GET /v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices per version to audit coverage"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To delete iOS or Windows apps, use the Tenant Apps family (DELETE /v2/tenant-apps/{appId}) instead — this endpoint only covers the Android app library"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you only want to remove a specific version, use the version-level delete endpoint rather than deleting the entire application record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the target app with GET /v1/enterprise/{enterprise_id}/application/{application_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optionally audit installed devices per version using the installdevices endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /v1/enterprise/{enterprise_id}/application/{application_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Expect a 204 response with an empty body confirming deletion"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/","href":"esper_cloud_api_application-v1/deleteapplicationv1","openApiOperationId":"deleteApplicationV1","summary":"Delete an application"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/deleteapplicationv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/"},{"label":"List App versions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/getappversionsv1","routeSlug":"/openapi/esper_cloud_api_application-v1/getappversionsv1","metadata":{"seo":{"title":"List App versions","description":"Lists all versions of a specific application using the V1 schema, which includes direct file and icon URLs, release date, and file size."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppVersionsV1","name":"List App versions","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List App versions","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all versions of a specific application using the V1 schema, which includes direct file and icon URLs, release date, and file size."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated AppVersionV1 collection for the specified application, with the same filter set as the base version list plus timestamp filters. Unlike the base version endpoint, results include app_file (direct APK download URL), app_icon (icon URL), size_in_mb, and release_date."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List App Versions (V1)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The V1 version list returns the same logical set of version records as GET .../application/{application_id}/version/ but uses the AppVersionV1 schema, which surfaces additional fields that are absent from the base AppVersion schema: a direct download URL for the APK (app_file), an icon URL (app_icon), the file size in megabytes (size_in_mb), and a release_date timestamp. Use the V1 endpoint when your integration needs to display or verify file-level metadata without making additional requests. Note that release_track and target_sdk_version, present in the base schema, are not returned by AppVersionV1."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — filter by version code string"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_number — filter by build number"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_g_play — true returns versions sourced from the Console Google Play Store"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approval_status — filter by AVAILABLE, ACCEPTED, APPROVED, or REJECTED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_enabled — filter for enabled versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — filter for the default version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on_gt / created_on_lt / updated_on_gt / updated_on_lt — timestamp range filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — sort by installed_count (ascending) or -installed_count (descending)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List versions when your integration needs direct APK download URLs or icon URLs without a separate lookup."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve size_in_mb to estimate storage requirements before deploying a version to a fleet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use timestamp filters for incremental sync "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s that track newly uploaded or updated versions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer the V1 endpoint over the base version list when you need app_file, app_icon, or size_in_mb — it avoids redundant per-version detail calls."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that release_track and target_sdk_version are not available in the V1 schema; use the base version endpoint if those fields are required."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by approval_status=APPROVED and is_enabled=true to limit results to deployment-ready versions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the target application_id and relevant filters."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use app_file and app_icon URLs directly in your integration for display or download."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Record version_id values for use in install commands or V1 version detail lookups."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"version_code","in":"query","schemaId":"schema_323","description":"filter by version code"},{"name":"build_number","in":"query","schemaId":"schema_323","description":"filter by build number"},{"name":"is_g_play","in":"query","schemaId":"schema_324","description":"filter google play applications"},{"name":"approval_status","in":"query","schemaId":"schema_331","description":"filter by approval status"},{"name":"is_enabled","in":"query","schemaId":"schema_324","description":"filter by enabled versions"},{"name":"is_default","in":"query","schemaId":"schema_324","description":"filter by default versions"},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"filter applications created after a given timestamp"},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"filter applications created before a given timestamp"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"filter applications updated after a given timestamp"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"filter applications updated before a given timestamp"},{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."},{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order result set by field name."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"installed_count: order by asc"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"-installed_count: order by desc"},"children":[]}]}]}]}]}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"version_code","in":"query","schemaId":"schema_323"},{"name":"build_number","in":"query","schemaId":"schema_323"},{"name":"is_g_play","in":"query","schemaId":"schema_324"},{"name":"approval_status","in":"query","schemaId":"schema_331"},{"name":"is_enabled","in":"query","schemaId":"schema_324"},{"name":"is_default","in":"query","schemaId":"schema_324"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_329"},{"name":"ordering","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/","href":"esper_cloud_api_application-v1/getappversionsv1","openApiOperationId":"getAppVersionsV1","summary":"List App versions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_346"}},"schemaId":"schema_346"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_346","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_346"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/getappversionsv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/"},{"label":"Get app version information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/getappversionv1","routeSlug":"/openapi/esper_cloud_api_application-v1/getappversionv1","metadata":{"seo":{"title":"Get app version information","description":"Retrieves full V1 details for a single application version by its UUID, including direct APK and icon URLs, file size, and release date."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppVersionV1","name":"Get app version information","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get app version information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves full V1 details for a single application version by its UUID, including direct APK and icon URLs, file size, and release date."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the AppVersionV1 object for the specified version. Use this endpoint over the base version detail when your integration needs app_file, app_icon, size_in_mb, or release_date without the overhead of iterating through a list."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get App Version (V1)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The V1 version detail endpoint returns the same core version metadata as GET .../application/{application_id}/version/{version_id}/ but uses the AppVersionV1 schema. Key additions over the base schema include: app_file (a direct URL to the APK binary), app_icon (a direct URL to the version's icon), size_in_mb (file size), and release_date. These additions are particularly useful for integrations that surface version detail in a UI or need to trigger downloads. Note that release_track and target_sdk_version from the base schema are absent in V1 — use the base endpoint if those fields are needed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_file — direct URL to download the APK binary for this version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_icon — direct URL to the version's app icon image"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"size_in_mb — file size of the APK in megabytes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"release_date — timestamp of when this version was released"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"release_comments — freeform notes about this release"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approval_status — current lifecycle status: AVAILABLE, ACCEPTED, APPROVED, or REJECTED (defaults to APPROVED)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — whether this version is the designated default for the application (defaults to false)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"installed_count — number of devices with this version currently installed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a direct APK download URL for a specific version without listing all versions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Display version detail (icon, size, release date, release comments) in a custom management UI."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm installed_count before deprecating or removing a version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint instead of the base version detail when app_file, app_icon, or size_in_mb are needed — it avoids a redundant follow-up call."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If release_track or target_sdk_version are required, fall back to the base GET .../application/{application_id}/version/{version_id}/ endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify approval_status=APPROVED and is_default=true or is_enabled (check base schema) before using this version in an install command."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the version_id from a V1 version list call or stored reference"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve full V1 version detail including file and icon URLs"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use app_file for download or display; confirm approval_status before referencing in an install command"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application-v1/getappversionv1","openApiOperationId":"getAppVersionV1","summary":"Get app version information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"}},"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersionV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/getappversionv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"Delete app version","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/deleteappversionv1","routeSlug":"/openapi/esper_cloud_api_application-v1/deleteappversionv1","metadata":{"seo":{"title":"Delete app version","description":"Permanently removes a specific version of an enterprise application from Esper. If the target version is currently referenced by one or more blueprints, the version must be removed tfrom the blueprint before the version can be deleted. If no blueprint references exist, the version is deleted outright and the endpoint returns HTTP 204."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAppVersionV1","name":"Delete app version","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete app version","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes a specific version of an enterprise application from Esper. If the target version is currently referenced by one or more blueprints, the version must be removed tfrom the blueprint before the version can be deleted. If no blueprint references exist, the version is deleted outright and the endpoint returns HTTP 204."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete App Version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each application in Esper can have multiple uploaded versions, and individual versions can be removed without deleting the parent application. The blueprint authors must explicitly confirm intent to orphan those references."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_id — UUID of the specific app version to delete; required path parameter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_id — UUID of the parent application; required path parameter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id — UUID of the enterprise; required path parameter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request_id — Query parameter; if a prior call returned a request_id (because the version is in use by blueprints), pass it here to confirm deletion and clear the cache entry"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing a recalled or defective APK version that should no longer be deployable."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up old test builds or pre-release versions after a stable version is promoted."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Freeing storage and reducing version clutter in the application library."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always check the response code on the first call — a 200 with a request_id body means the version is blueprint-referenced and requires a second confirmation call; a 204 means it was deleted immediately."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit which blueprints reference the version before deleting to avoid breaking active device configurations."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Coordinate with teams managing blueprints before removing versions that may be in production use."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /api/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/ with path parameters only."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If response is 204, deletion is complete — no further action needed."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If response is 200 with a request_id, resubmit the same request appending ?request_id={returned_id} to confirm the deletion."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"request_id","in":"query","schemaId":"schema_323","description":"If this value exists in cache, delete the application and cache entry."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"request_id","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","204","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application-v1/deleteappversionv1","openApiOperationId":"deleteAppVersionV1","summary":"Delete app version"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"No request id is provided and the application is linked to one or more templates. Returns a request_id. Call with this request id to delete the resource."},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"}},"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"},{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersionDelete","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionDelete"}}},{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/deleteappversionv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"Patch an App version instance","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/patchappversionv1","routeSlug":"/openapi/esper_cloud_api_application-v1/patchappversionv1","metadata":{"seo":{"title":"Patch an App version instance","description":"Partially updates the metadata of a specific application version without modifying its APK or binary content.Use this endpoint to update human-readable labels. Only the fields included in the request body are modified; omitted fields remain unchanged."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchAppVersionV1","name":"Patch an App version instance","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patch an App version instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates the metadata of a specific application version without modifying its APK or binary content.Use this endpoint to update human-readable labels. Only the fields included in the request body are modified; omitted fields remain unchanged."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Patch App Version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Application versions in Esper carry both technical metadata (version code, minimum SDK, build number) and management metadata (release name, default flag, approval status). The PATCH operation enables targeted updates to either set without re-uploading the binary."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"release_name — Human-readable label for this version (e.g., \"Q2 Release - Stable\")"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating a version description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use version description such as PROD or DEV to differentiate between production and development builds"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the current version details using GET /api/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/ to confirm current field values."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Construct a PATCH request body with only the fields to update."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit the request and confirm the returned AppVersionV1 object reflects the expected changes."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_347"}},"schemaId":"schema_347","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"schema_347"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","href":"esper_cloud_api_application-v1/patchappversionv1","openApiOperationId":"patchAppVersionV1","summary":"Patch an App version instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_347","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_347"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"}},"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AppVersionV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AppVersionV1"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/patchappversionv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/"},{"label":"List install devices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_application-v1/getinstalldevicesv1","routeSlug":"/openapi/esper_cloud_api_application-v1/getinstalldevicesv1","metadata":{"seo":{"title":"List install devices","description":"Returns a paginated list of devices that have a specific Android application version installed."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getInstallDevicesV1","name":"List install devices","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List install devices","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of devices that have a specific Android application version installed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit the install coverage of a particular app version across your fleet, searchable by device name, alias, or group name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Install Devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is part of the Application V1 family, which manages the enterprise's Android app library. It answers the question \"which devices have version X of this Android app installed?\" for a specific application_id and version_id pair. Each result is an InstallDevices object containing the device UUID, device name, alias name, and group name — enough context to identify and locate devices without a separate device lookup."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"There are two other application API families with distinct scopes:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tenant Apps (/v2/tenant-apps/...) — manages uploaded apps for iOS and Windows. This family does not have a device-level install query endpoint."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device Apps (/v2/devices/{deviceId}/device-apps/ and GET /v2/device-apps) — is the correct family for install queries involving iOS and Windows app types (VPP, TENANT_IOS, ESPER_IOS, WEBCLIP, ESPER_WINDOWS, TENANT_WINDOWS). Use GET /v2/device-apps?app_id=...&app_version_id=... for the equivalent cross-device install query on non-Android apps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For Android apps, this endpoint is the right tool. Results are paginated; use limit and offset to page through large fleets."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id (path, required) — UUID of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"application_id (path, required) — UUID of the Android application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_id (path, required) — UUID of the specific app version to query"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search (optional) — Free-text search across device name, alias name, and group name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit (optional) — Number of results per page"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset (optional) — Starting index for pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (response) — UUID of the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_name — System-assigned device name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alias_name — Human-friendly alias for the device; may be null"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_name — Name of the device group the device belongs to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying that an Android app deployment reached all intended devices"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying which devices still have an outdated version installed before pushing an update"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing install coverage before deleting an app version to confirm no devices will be left in an unexpected state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For iOS or Windows app install queries, use GET /v2/device-apps?app_id=...&app_version_id=... from the Device Apps family instead — this endpoint covers Android only"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Run this query per version before calling the application or version-level delete endpoint to avoid removing a version still in active use"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use search to narrow results to a specific group or device without paginating through the entire fleet"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference group_name with your intended deployment targets to catch devices in unexpected groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain application_id from GET /v1/enterprise/{enterprise_id}/application/ and version_id from GET /v1/enterprise/{enterprise_id}/application/{application_id}/version/"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET .../version/{version_id}/installdevices, optionally with search and pagination params"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate through results until next is null"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the device UUIDs (id) or group_name to identify devices for follow-up actions such as issuing an update command or flagging stragglers"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"version_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this app version.","required":true},{"name":"application_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this application.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"search","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A search term, search based on device name, device alias_name, group name"},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page"},{"name":"offset","in":"query","schemaId":"schema_325","description":"The initial index from which to return the results"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"application_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","href":"esper_cloud_api_application-v1/getinstalldevicesv1","openApiOperationId":"getInstallDevicesV1","summary":"List install devices"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_334"}},"schemaId":"schema_334"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1application~1{application_id}~1version~1{version_id}~1installdevices/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_334","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_334"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_application-v1/getinstalldevicesv1"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Application V1"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Application V1","showPageActions":true},{"nodeType":"markdoc","content":"APIs for application management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/application/","summary":"List apps in enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/getallapplicationsv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/","summary":"Get application information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/getapplicationv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/","summary":"Delete an application","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/deleteapplicationv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/","summary":"List App versions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/getappversionsv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Get app version information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/getappversionv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Delete app version","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/deleteappversionv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/","summary":"Patch an App version instance","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/patchappversionv1","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/application/{application_id}/version/{version_id}/installdevices","summary":"List install devices","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_application-v1/getinstalldevicesv1","deprecated":false}]}]}]}]}},{"type":"group","label":"AndroidDevice","link":"/openapi/esper_cloud_api_androiddevice","routeSlug":"/openapi/esper_cloud_api_androiddevice","items":[{"label":"Fetch all devices in an enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getalldevices","routeSlug":"/openapi/esper_cloud_api_androiddevice/getalldevices","metadata":{"seo":{"title":"Fetch all devices in an enterprise","description":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper. For other devices, use the other device management endpoints."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllDevices","name":"Fetch all devices in an enterprise","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch all devices in an enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper. For other devices, use the other device management endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all devices enrolled in an enterprise, with rich filtering options."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated collection of DeviceInfo records with filters for device name, group, IMEI, serial number, state, brand, GMS support, tags, blueprint assignment, and more. Default page size is 20."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Enterprise Devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Devices in Esper represent Android endpoints enrolled under enterprise management. Each device record contains hardware identifiers (IMEI, serial), current state, group membership, blueprint assignment, and status metadata. The group filter traverses the full subtree — filtering by a parent group will include all devices in its subgroups. This endpoint is the primary entry point for fleet-wide device discovery and inventory."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — filter by device display name"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group — filter by group UUID; returns all devices in that group and all of its subgroups"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"imei — filter by IMEI number"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"serial — filter by device serial number"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — filter by enrollment state (see DeviceStateEnum)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"brand — filter by device manufacturer/brand"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_gms — filter for GMS (Google Mobile Services)-capable devices"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — free-text search across device name, IMEI, and MAC address"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags — partial text search across device tags"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assigned_blueprint_id — filter devices by their assigned blueprint UUID"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"current_blueprint_id — filter devices by the blueprint currently applied"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"current_blueprint_version_id — filter by the specific blueprint version currently applied"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — results per page (default: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enumerate all devices in a specific group (including subgroups) for bulk operations or reporting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Search for a device by serial number or IMEI when responding to a field support request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by blueprint assignment to identify devices running a specific configuration or a stale blueprint version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the group filter to scope operations to a target group's subtree rather than processing the full enterprise list"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine search with state to quickly isolate enrolled-but-offline devices in large fleets"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use assigned_blueprint_id vs. current_blueprint_id deliberately — a device may have a new blueprint assigned but not yet applied"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with relevant filters (group, state, blueprint) to identify the target device set"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Collect device_id values from the paginated results"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use individual device IDs for detail lookups, command dispatch, or app queries"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"name","in":"query","schemaId":"schema_323","description":"filter by device name"},{"name":"group","in":"query","schemaId":"schema_322","description":"filter by group id. It will list all the devices under this gorup including the subgroups"},{"name":"imei","in":"query","schemaId":"schema_323","description":"filter by imei"},{"name":"serial","in":"query","schemaId":"schema_323","description":"filter by serial number"},{"name":"state","in":"query","schemaId":"schema_348"},{"name":"brand","in":"query","schemaId":"schema_323","description":"filter by brand"},{"name":"is_gms","in":"query","schemaId":"schema_324","description":"filter for gms devices"},{"name":"search","in":"query","schemaId":"schema_323","description":"A search term. Search by device name, imei or mac address"},{"name":"tags","in":"query","schemaId":"schema_323","description":"A partial text search for device tags"},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322","description":"Filter by assigned blueprint id"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322","description":"Filter by current blueprint id"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322","description":"Filter by current blueprint version id"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"name","in":"query","schemaId":"schema_323"},{"name":"group","in":"query","schemaId":"schema_322"},{"name":"imei","in":"query","schemaId":"schema_323"},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"components/schemas/esper_cloud_api_DeviceStateEnum"},{"name":"brand","in":"query","schemaId":"schema_323"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"tags","in":"query","schemaId":"schema_323"},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/device/","href":"esper_cloud_api_androiddevice/getalldevices","openApiOperationId":"getAllDevices","summary":"Fetch all devices in an enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_349"}},"schemaId":"schema_349"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_349","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_349"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getalldevices"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/device/"},{"label":"Fetch device details by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getdevicebyid","routeSlug":"/openapi/esper_cloud_api_androiddevice/getdevicebyid","metadata":{"seo":{"title":"Fetch device details by ID","description":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceById","name":"Fetch device details by ID","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch device details by ID","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the v2 endpoint /v2/devices/{id} for an updated and forward-compatible device model, especially in multi-OS environments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full DeviceInfo record for a single enrolled device by its UUID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns comprehensive device metadata including hardware identifiers, enrollment state, group membership, applied and assigned blueprint versions, and status information. Use when you already have a device_id and need complete, authoritative device detail."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The DeviceInfo object is Esper's full representation of an enrolled Android device. It includes all fields returned in list results, plus any additional status and configuration detail associated with the device's current enrollment state. Device IDs are stable UUIDs and do not change after enrollment; they are the primary reference for all device-specific API operations — commands, app installs, event feeds, and status queries."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_id — path parameter UUID; Esper's stable internal identifier for this device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprint fields — reflect the gap between assigned_blueprint_id (what's intended) and current_blueprint_id / current_blueprint_version_id (what's applied)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enrollment state — current device lifecycle state (see DeviceStateEnum)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve full device details after discovering a device_id from a list or event payload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm current enrollment state before issuing a command or checking compliance"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect blueprint assignment vs. applied blueprint to detect configuration drift"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint for authoritative single-device lookups rather than scanning list results — it avoids pagination overhead and returns a complete record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check state before dispatching commands; commands may not execute on devices in offline or unenrolled states."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the device_id UUID in your system — it is the stable key for all downstream device operations and does not change."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain device_id from a device list call, enrollment event, or stored reference."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full DeviceInfo record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned state and configuration data to determine the appropriate next action (command, install, group operation)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true},{"name":"device_id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/","href":"esper_cloud_api_androiddevice/getdevicebyid","openApiOperationId":"getDeviceById","summary":"Fetch device details by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceInfo"}},"schemaId":"components/schemas/esper_cloud_api_DeviceInfo"},{"code":"400","description":"Bad request"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceInfo","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceInfo"}}},{"code":"400"}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getdevicebyid"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/"},{"label":"List all device apps","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getdeviceapps","routeSlug":"/openapi/esper_cloud_api_androiddevice/getdeviceapps","metadata":{"seo":{"title":"List all device apps","description":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper.Alternative Available"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceApps","name":"List all device apps","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all device apps","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For iOS and Windows device applications, use /api/v2/tenant-esper-apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all apps present on a specific enrolled device, as tracked by Esper."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated DeviceApp collection reflecting the apps Esper is aware of on the device, filterable by package name or app name. Default page size is 20."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Device Apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The DeviceApp resource represents the per-device app inventory as seen by Esper — each record corresponds to an app instance on the device, tied to the device's reported state. This differs from the enterprise application library (.../application/) which tracks apps available for deployment; the device app list reflects what is actually installed and known on a given device. Results can be filtered by package name for precise lookups or searched by app name for broader discovery."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — filter by exact Android package name (e.g. com.example.app)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"whitelisted — filter by whitelist status"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — free-text search by app name (app_name field)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — results per page (default: 20)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit which apps are installed on a specific device for compliance or security review."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify that a target app (by package name) is present on the device before or after an install command."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check whitelist status of installed apps on a managed device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use package_name for targeted lookups rather than fetching the full list and filtering client-side."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference results with the enterprise application library to identify apps on the device that are not managed through Esper."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm app presence via this endpoint after issuing an install command to verify successful delivery."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the device_id from a device list or stored reference."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint, optionally filtering by package_name or search."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the returned DeviceApp records to confirm installation state and whitelist status."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying device.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"package_name","in":"query","schemaId":"schema_323","description":"Filter by Package name"},{"name":"whitelisted","in":"query","schemaId":"schema_323","description":"Whitelist filter"},{"name":"search","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A search term. Search by app_name."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_325","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/app/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"whitelisted","in":"query","schemaId":"schema_323"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/app/","href":"esper_cloud_api_androiddevice/getdeviceapps","openApiOperationId":"getDeviceApps","summary":"List all device apps"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_350"}},"schemaId":"schema_350"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_350","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_350"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getdeviceapps"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/app/"},{"label":"Get device app details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getdeviceappbyid","routeSlug":"/openapi/esper_cloud_api_androiddevice/getdeviceappbyid","metadata":{"seo":{"title":"Get device app details","description":"Get details of a specific app installed on an Android device. Retrieves the full DeviceApp record for a single app identified by app_id on the specified Android device, including the app's app_name, package_name, state, app_type, version_code, version_name, is_active, is_kiosk_app, is_esper_controlled, whitelisted, is_data_clearable, and is_uninstallable fields."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceAppById","name":"Get device app details","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1{app_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device app details","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get details of a specific app installed on an Android device. Retrieves the full DeviceApp record for a single app identified by app_id on the specified Android device, including the app's app_name, package_name, state, app_type, version_code, version_name, is_active, is_kiosk_app, is_esper_controlled, whitelisted, is_data_clearable, and is_uninstallable fields."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full list of Android application id and package_name pairs for the enterprise."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the application_id UUID for the package you want to work with."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v1/enterprise/{enterprise_id}/application/{application_id}/version/ to retrieve available versions for that application."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the version_id from step 3 in POST /commands/v0/commands/ to issue an install command to target devices."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"app_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this device app.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this device.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enteprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1{app_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/app/{app_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"app_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/app/{app_id}/","href":"esper_cloud_api_androiddevice/getdeviceappbyid","openApiOperationId":"getDeviceAppById","summary":"Get device app details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceApp"}},"schemaId":"components/schemas/esper_cloud_api_DeviceApp"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1app~1{app_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceApp","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceApp"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getdeviceappbyid"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/app/{app_id}/"},{"label":"List installed apps","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getappinstalls","routeSlug":"/openapi/esper_cloud_api_androiddevice/getappinstalls","metadata":{"seo":{"title":"List installed apps","description":"Get details of a specific app installed on an Android device. Retrieves the full DeviceApp record for a single app identified by app_id on the specified Android device, including the app's app_name, package_name, state, app_type, version_code, version_name, is_active, is_kiosk_app, is_esper_controlled, whitelisted, is_data_clearable, and is_uninstallable fields."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAppInstalls","name":"List installed apps","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1install~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List installed apps","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get details of a specific app installed on an Android device. Retrieves the full DeviceApp record for a single app identified by app_id on the specified Android device, including the app's app_name, package_name, state, app_type, version_code, version_name, is_active, is_kiosk_app, is_esper_controlled, whitelisted, is_data_clearable, and is_uninstallable fields."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for Android devices only. For other platforms use the following alternatives:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS and other non-Android devices: GET /v2/devices/{deviceId}/device-apps/ — returns apps for a device and supports filtering by app type including VPP, TENANT_IOS, ESPER_IOS, WEBCLIP, ESPER_WINDOWS, and TENANT_WINDOWS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the full details of a specific app on an Android device to check its current state, version, or kiosk configuration, confirming whether an app is set as the kiosk app (is_kiosk_app: true) on a device, verifying app attributes such as is_uninstallable or is_data_clearable before issuing an uninstall or data-clear command, and auditing whether a specific app is whitelisted on a device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /enterprise/{enterprise_id}/device/{device_id}/app/ and filter by package_name to locate the app and retrieve its app_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full DeviceApp record for that specific app."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check state, version_code, and is_active to confirm the app's current status on the device."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying device.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1install~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"device","in":"query","schemaId":"schema_323","description":"filter by device id"},{"name":"package_name","in":"query","schemaId":"schema_323","description":"filter by package name"},{"name":"application_name","in":"query","schemaId":"schema_323","description":"filter by application name"},{"name":"install_state","in":"query","schemaId":"schema_323","description":"filter by install state"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1install~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/install/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"device","in":"query","schemaId":"schema_323"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"application_name","in":"query","schemaId":"schema_323"},{"name":"install_state","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/install/","href":"esper_cloud_api_androiddevice/getappinstalls","openApiOperationId":"getAppInstalls","summary":"List installed apps"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_351"}},"schemaId":"schema_351"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1install~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_351","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_351"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getappinstalls"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/install/"},{"label":"Get latest device event","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/getdeviceevent","routeSlug":"/openapi/esper_cloud_api_androiddevice/getdeviceevent","metadata":{"seo":{"title":"Get latest device event","description":"Get the latest status event for an Android device. Retrieves the most recent DeviceStatus record for the specified Android device, containing a data payload with the device's current telemetry snapshot — including battery, connectivity, memory, storage, and other real-time device state information — along with the associated device and enterprise references and the event created_on timestamp.This endpoint is for Android devices only. For other platforms, use the following alternatives:"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceEvent","name":"Get latest device event","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1status~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get latest device event","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get the latest status event for an Android device. Retrieves the most recent DeviceStatus record for the specified Android device, containing a data payload with the device's current telemetry snapshot — including battery, connectivity, memory, storage, and other real-time device state information — along with the associated device and enterprise references and the event created_on timestamp."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for Android devices only. For other platforms, use the following alternatives:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS, Linux, and Windows devices: GET /device/v0/devices/{id}/devicestate — returns current device state for non-Android platforms"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Android (v2): GET /v2/devices/{id}/ — returns a broader Android device record including current state fields in a more structured format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note The latest_event query parameter must be set to 1 to return the most recent status event. Without this parameter the endpoint may return a paginated list of historical status records rather than the current snapshot."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Retrieving a real-time telemetry snapshot of an Android device's current state before issuing commands, checking battery level, connectivity, and storage availability as part of a pre-deployment health check, monitoring device state in custom dashboards or alerting "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s, and diagnosing device issues by reviewing the most recent reported status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always include latest_event=1 when you need the current device state rather than historical events — omitting it may return a paginated history rather than the snapshot you expect. For broader device metadata including policy assignments, group membership, and hardware information, use GET /enterprise/{enterprise_id}/device/{device_id}/ instead. For a full history of device events over time, use GET /enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying device.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1status~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"latest_event","in":"query","schemaId":"schema_325","description":"Returns the latest event. Must be set to 1.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1status~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/status/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"latest_event","in":"query","required":true,"schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/status/","href":"esper_cloud_api_androiddevice/getdeviceevent","openApiOperationId":"getDeviceEvent","summary":"Get latest device event"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_352"}},"schemaId":"schema_352"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1status~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_352","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_352"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/getdeviceevent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/status/"},{"label":"Download Event Feed for Device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get","routeSlug":"/openapi/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get","metadata":{"seo":{"title":"Download Event Feed for Device","description":"Download the event feed for an Android device. Retrieves a paginated, chronologically ordered list of EventFeed records for the specified Android device, each containing an event id, message_id, device_status_id, created_on timestamp, and a message describing what occurred — including commands issued, who issued them, and from which state they were issued. Results default to 250 records per page."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Download Event Feed for Device","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Download Event Feed for Device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Download the event feed for an Android device. Retrieves a paginated, chronologically ordered list of EventFeed records for the specified Android device, each containing an event id, message_id, device_status_id, created_on timestamp, and a message describing what occurred — including commands issued, who issued them, and from which state they were issued. Results default to 250 records per page."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for Android devices only. For group-level event history, use GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/ instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About the Event Feed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The event feed is a chronological record of activity on a device, capturing commands, state transitions, and other significant events. It is the primary source for auditing device history, investigating incidents, and understanding the sequence of operations performed on a device. Each event links back to a device_status_id, which can be used to retrieve the full telemetry snapshot associated with that event."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available query parameters:"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — number of results per page (default: 250)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — pagination offset (default: 0)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the full history of commands issued to a specific Android device, investigating device incidents by reviewing the sequence of events leading up to a failure or unexpected state change, downloading a complete event log for offline analysis or compliance reporting, and correlating device events with command requests to verify that operations were executed as expected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For large event histories, use limit and offset to paginate through results rather than fetching everything in a single call. If you only need the most recent device status snapshot rather than a full event history, use GET /enterprise/{enterprise_id}/device/{device_id}/status/?latest_event=1 instead — it is significantly lighter. For the Esper Console timeline view of device events, use GET /v1/enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/ instead, which returns the same data with a smaller default page size suited to UI rendering."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /enterprise/{enterprise_id}/device/{device_id}/ to confirm the device details and retrieve the device_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full chronological event feed for the device."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use message and created_on to identify the events relevant to your investigation or audit."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use device_status_id from a specific event to retrieve the associated telemetry snapshot via GET /enterprise/{enterprise_id}/device/{device_id}/status/ if deeper context is needed."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the device","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_353","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"limit","in":"query","schemaId":"schema_353"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/","href":"esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get","summary":"Download Event Feed for Device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_354"}},"schemaId":"schema_354"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_354","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_354"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/"},{"label":"Download Event Feed for Group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get","routeSlug":"/openapi/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get","metadata":{"seo":{"title":"Download Event Feed for Group","description":"Download the event feed for an Android device group. Retrieves a paginated, chronologically ordered list of command request records for the specified group, each containing details of operations issued to the group. Results default to 250 records per page."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Download Event Feed for Group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Download Event Feed for Group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Download the event feed for an Android device group. Retrieves a paginated, chronologically ordered list of command request records for the specified group, each containing details of operations issued to the group. Results default to 250 records per page."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for Android device groups only. For device-level event history, use GET /enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/ instead."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About the Group Event Feed: The group event feed provides a chronological record of command requests issued at the group level, making it the primary source for auditing bulk operations across a device group. Rather than reviewing events device by device, this endpoint surfaces the group-level commands that were dispatched — useful for understanding the sequence of operations applied to a group as a whole, and for correlating group-level actions with individual device outcomes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the history of commands issued to a specific Android device group, investigating incidents by reviewing the sequence of group-level operations leading up to an unexpected fleet state, downloading a complete group command log for offline analysis or compliance reporting, and verifying that scheduled or bulk operations were dispatched to the group as expected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use limit and offset to paginate through results for groups with long command histories rather than fetching everything in a single call. For individual device-level event history within the group, use GET /enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/ per device. To check the execution status of a specific command request returned in this feed, use GET /commands/v0/status/?request={request_id} to retrieve per-device status records for that command."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Available query parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — number of results per page (default: 250)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — pagination offset (default: 0)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /enterprise/{enterprise_id}/devicegroup/ to list all groups and retrieve the group_id for the group you want to audit."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the chronological command history for that group."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the command requests relevant to your investigation using the event details and timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /commands/v0/status/?request={request_id} to retrieve per-device execution status for any specific command request returned in the feed."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"group_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the group","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_353","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"limit","in":"query","schemaId":"schema_353"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/","href":"esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get","summary":"Download Event Feed for Group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_355"}},"schemaId":"schema_355"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_355","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_355"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/"},{"label":"Lists event feed for device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_androiddevice/geteventfeed","routeSlug":"/openapi/esper_cloud_api_androiddevice/geteventfeed","metadata":{"seo":{"title":"Lists event feed for device","description":"List event feed for device. Retrieves a device’s event history, including command activity and system events, in reverse-chronological order. The response is paginated and returns entries in the results array."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEventFeed","name":"Lists event feed for device","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1device~1{device_id}~1report~1eventfeed~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Lists event feed for device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List event feed for device. Retrieves a device’s event history, including command activity and system events, in reverse-chronological order. The response is paginated and returns entries in the results array."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Event Feed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The event feed provides an audit trail of significant device lifecycle events — enrollment state transitions, command executions, and status changes — as recorded by Esper. Each record includes a message field that describes the event in plain language (including the command issued and the initiating user), a device_status_id linking to the device status snapshot at the time of the event, and a message_id UUID. This endpoint returns paginated JSON; for bulk export of event history, use the download variant at GET .../device/{device_id}/download/eventfeed/ (default page size: 250)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for Event Feed activities for device commands. Use (GET https://{foo}-api.esper.cloud/api/v0/devices/{deviceId}/operations/) for dispatch (Operations) commands."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing who issued commands and when, tracking command state changes (acknowledged → in progress → success/failure), investigating device activity over time, and correlating events to operational issues."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use limit and pagination (next/previous, or offset) to manage large event histories and reduce response size. When troubleshooting a specific window of time, page in smaller increments to avoid missing relevant events."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the device_id using a device listing endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the device_id to retrieve the device’s event feed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Follow the next URL (or increment offset) until you’ve collected the events you need."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Learn more: https://help.esper.io/hc/en-us/articles/43110064004881-What-Are-Device-Commands"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the device","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1device~1{device_id}~1report~1eventfeed~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1device~1{device_id}~1report~1eventfeed~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v1/enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/","href":"esper_cloud_api_androiddevice/geteventfeed","openApiOperationId":"getEventFeed","summary":"Lists event feed for device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_354"}},"schemaId":"schema_354"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1device~1{device_id}~1report~1eventfeed~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_354","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_354"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_androiddevice/geteventfeed"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_AndroidDevice"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"AndroidDevice","showPageActions":true},{"nodeType":"markdoc","content":"APIs for android device management"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12523891684369","description":"Find out more about device management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/{enterprise_id}/device/","summary":"Fetch all devices in an enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/getalldevices","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/","summary":"Fetch device details by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_androiddevice/getdevicebyid","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/app/","summary":"List all device apps","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_androiddevice/getdeviceapps","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/app/{app_id}/","summary":"Get device app details","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/getdeviceappbyid","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/install/","summary":"List installed apps","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/getappinstalls","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/status/","summary":"Get latest device event","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/getdeviceevent","deprecated":false},{"title":"/enterprise/{enterprise_id}/device/{device_id}/download/eventfeed/","summary":"Download Event Feed for Device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1device~1{device_id}~1download~1eventfeed~1/get","deprecated":false},{"title":"/enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/","summary":"Download Event Feed for Group","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/paths/~1enterprise~1{enterprise_id}~1group~1{group_id}~1download~1eventfeed~1/get","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/device/{device_id}/report/eventfeed/","summary":"Lists event feed for device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_androiddevice/geteventfeed","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Group","link":"/openapi/esper_cloud_api_device-group","routeSlug":"/openapi/esper_cloud_api_device-group","items":[{"label":"List device groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/getallgroups","routeSlug":"/openapi/esper_cloud_api_device-group/getallgroups","metadata":{"seo":{"title":"List device groups","description":"Returns a paginated list of all device groups in the enterprise. Device groups organize devices into logical collections by location, use case, or deployment stage, and serve as the primary unit for policy assignment, app deployment, and bulk commands."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllGroups","name":"List device groups","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List device groups","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all device groups in the enterprise. Device groups organize devices into logical collections by location, use case, or deployment stage, and serve as the primary unit for policy assignment, app deployment, and bulk commands."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discovering group IDs for downstream operations; auditing group structure; populating group selectors in custom tools; confirming a group exists before assigning devices or Blueprints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter to filter instead of fetching all groups; cache group IDs for use in commands and policy calls; paginate with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"limit"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"offset"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for large enterprises."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"name","in":"query","schemaId":"schema_323","description":"Filter by group name"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"The initial index from which to return the results."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"name","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/","href":"esper_cloud_api_device-group/getallgroups","openApiOperationId":"getAllGroups","summary":"List device groups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_356"}},"schemaId":"schema_356"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_356","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_356"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/getallgroups"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/"},{"label":"Create a device group","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/creategroup","routeSlug":"/openapi/esper_cloud_api_device-group/creategroup","metadata":{"seo":{"title":"Create a device group","description":"Creates a new device group within the enterprise. Device groups organize devices into logical collections for policy assignment, app deployment, Blueprint application, and bulk command targeting. Groups can be nested — pass a parent group ID to create a subgroup within an existing group hierarchy."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createGroup","name":"Create a device group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a device group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new device group within the enterprise. Device groups organize devices into logical collections for policy assignment, app deployment, Blueprint application, and bulk command targeting. Groups can be nested — pass a parent group ID to create a subgroup within an existing group hierarchy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name (required) — Display name for the new group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent (optional) — UUID of the parent group; omit to create a top-level group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_ids (optional) — Array of device UUIDs to add to the group at creation time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting up a new group before provisioning a batch of devices into it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creating subgroups to represent locations, departments, or device roles within a larger fleet segment"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Programmatically building out a group hierarchy as part of an onboarding or deployment "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Group names should be descriptive and consistent with your naming convention — they appear throughout the Console and API responses"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can add devices at creation via device_ids, or add them later using the update endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the id from the 201 response immediately — it's required for all subsequent group operations (policy assignment, commands, Blueprint targeting, etc.)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /enterprise/{enterprise_id}/devicegroup/ first to confirm the group doesn't already exist before creating a duplicate"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/devicegroup/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"responseCodes":["201","400","401","403","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/","href":"esper_cloud_api_device-group/creategroup","openApiOperationId":"createGroup","summary":"Create a device group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_DeviceGroup","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/creategroup"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/"},{"label":"Get device group information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/getgroupbyid","routeSlug":"/openapi/esper_cloud_api_device-group/getgroupbyid","metadata":{"seo":{"title":"Get device group information","description":"Retrieves full details for a single device group by its UUID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGroupById","name":"Get device group information","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device group information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves full details for a single device group by its UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to fetch group metadata — including name, device count, child group count, hierarchy path, and associated blueprint — when you have a specific group_id and need its current state rather than a paginated list."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Group Information"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device groups in Esper are hierarchical collections of devices used to organize and apply policies at scale. Each group can have a parent group, child groups, and an associated blueprint that defines the configuration applied to devices in that group. This endpoint returns a snapshot of a single group's metadata and is commonly used to validate group structure before performing bulk operations or blueprint assignments. To retrieve a group_id, use the List Device Groups endpoint first."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — The group's UUID; use this as group_id in subsequent group-scoped requests"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"path — The full hierarchy path of the group within the enterprise's group tree"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent — URL reference to the parent group, if the group is nested"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_count — Number of devices directly in this group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"children_count — Number of child groups nested under this group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"blueprint — URL reference to the blueprint currently associated with this group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm a group exists and retrieve its metadata before applying a blueprint or running a pipeline"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect a group's position in the hierarchy (path, parent) when managing nested group structures"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify device_count before initiating bulk device operations against a group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use List Device Groups to discover group_id values; avoid hardcoding UUIDs across environments"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check children_count before deleting a group — child groups must be removed first, and groups containing devices cannot be deleted until devices are moved or removed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cache group metadata conservatively; group structure can change as devices are enrolled or moved"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call List Device Groups (GET /enterprise/{enterprise_id}/devicegroup/) to find the target group and retrieve its group_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the group_id to fetch full group details"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned blueprint, path, and device_count to inform downstream operations such as blueprint updates, pipeline targeting, or group deletion"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"group_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise device group.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","href":"esper_cloud_api_device-group/getgroupbyid","openApiOperationId":"getGroupById","summary":"Get device group information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceGroup","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/getgroupbyid"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/"},{"label":"Update device group","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/updategroup","routeSlug":"/openapi/esper_cloud_api_device-group/updategroup","metadata":{"seo":{"title":"Update device group","description":"Fully updates a device group's properties using the action query parameter to specify the operation being performed. This endpoint controls group membership, naming, and hierarchy — use it to add or remove devices, rename a group, or move it to a different parent in the group tree."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateGroup","name":"Update device group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update device group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fully updates a device group's properties using the action query parameter to specify the operation being performed. This endpoint controls group membership, naming, and hierarchy — use it to add or remove devices, rename a group, or move it to a different parent in the group tree."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action query parameter values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"add — Add the devices specified in device_ids to the group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"remove — Remove the devices specified in device_ids from the group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"rename — Rename the group using the name field"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"move — Move the group under a new parent using the parent field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (DeviceGroupUpdate)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name (required by schema, contextual by action) — Group display name; used with rename"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent — UUID of the new parent group; used with move"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_ids — Array of device UUIDs to add or remove; used with add / remove"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding newly provisioned devices into their target group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reorganizing a group hierarchy by moving subgroups to a new parent"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a group to reflect a changed location, team, or deployment role"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing retired or reassigned devices from a group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always supply the correct action value — omitting it or mismatching it with the body fields will produce unexpected behavior"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For bulk membership changes, prefer passing all affected device_ids in a single call rather than iterating per device"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /enterprise/{enterprise_id}/devicegroup/{group_id}/ to verify current group state before and after updates"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For partial updates (e.g., updating only one field without requiring all required fields), prefer PATCH /enterprise/{enterprise_id}/devicegroup/{group_id}/ instead"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"group_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise device group.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"action","in":"query","schemaId":"schema_323","description":"add / remove / rename / move"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"action","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"responseCodes":["200","400","401","404","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","href":"esper_cloud_api_device-group/updategroup","openApiOperationId":"updateGroup","summary":"Update device group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"},{"code":"400","description":"User update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceGroup","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/updategroup"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/"},{"label":"Delete a device group","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/deletegroup","routeSlug":"/openapi/esper_cloud_api_device-group/deletegroup","metadata":{"seo":{"title":"Delete a device group","description":"Permanently deletes a device group from the enterprise. The group must be empty — groups containing one or more devices cannot be deleted. Move all member devices to another group first before issuing the delete request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteGroup","name":"Delete a device group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a device group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a device group from the enterprise. The group must be empty — groups containing one or more devices cannot be deleted. Move all member devices to another group first before issuing the delete request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing groups that are no longer needed after a deployment phase ends"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up duplicate or incorrectly named groups"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reorganizing fleet structure by consolidating groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure the group has no devices before calling this endpoint — the operation will fail if any devices remain in the group; use PUT /enterprise/{enterprise_id}/devicegroup/{group_id}/ with action=remove or action=move to empty the group first"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the group ID is correct using GET /enterprise/{enterprise_id}/devicegroup/{group_id}/ before issuing the delete — this action is irreversible"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check for any active Pipelines, Blueprints, or scheduled commands targeting this group before deleting to avoid orphaned configurations"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the goal is to reorganize rather than fully remove, consider using action=move to reassign the group to a new parent instead"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"group_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise device group.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","href":"esper_cloud_api_device-group/deletegroup","openApiOperationId":"deleteGroup","summary":"Delete a device group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/deletegroup"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/"},{"label":"Partially update a device group","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/partialupdategroup","routeSlug":"/openapi/esper_cloud_api_device-group/partialupdategroup","metadata":{"seo":{"title":"Partially update a device group","description":"Partially updates one or more properties of a device group without requiring all fields to be present in the request body. Like the full update endpoint, the action query parameter specifies the operation being performed — but here only the fields relevant to that action need to be included. Use this endpoint instead of PUT when making a single targeted change, such as renaming a group or adding a small set of devices, without needing to supply the full group object."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialUpdateGroup","name":"Partially update a device group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially update a device group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates one or more properties of a device group without requiring all fields to be present in the request body. Like the full update endpoint, the action query parameter specifies the operation being performed — but here only the fields relevant to that action need to be included. Use this endpoint instead of PUT when making a single targeted change, such as renaming a group or adding a small set of devices, without needing to supply the full group object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action query parameter values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"add — Add the devices specified in device_ids to the group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"remove — Remove the devices specified in device_ids from the group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"rename — Rename the group using the name field"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"move — Move the group under a new parent using the parent field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (all optional)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Group display name; used with rename"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent — UUID of the new parent group; used with move"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_ids — Array of device UUIDs; used with add / remove"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a group without affecting its membership or hierarchy"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding or removing a subset of devices without resending the full group payload"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Moving a group to a new parent as part of a hierarchy reorganization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer this endpoint over PUT for single-field changes — it reduces payload size and minimizes the risk of accidentally overwriting other fields"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always supply the action query parameter and ensure the body fields match the intended action"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /enterprise/{enterprise_id}/devicegroup/{group_id}/ to verify the current group state before and after updates"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"group_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise device group.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"action","in":"query","schemaId":"schema_323","description":"add / remove / rename / move"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"action","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","href":"esper_cloud_api_device-group/partialupdategroup","openApiOperationId":"partialUpdateGroup","summary":"Partially update a device group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}},"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceGroup","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceGroup"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/partialupdategroup"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/"},{"label":"Upload a thumbnail pic","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/uploadgroupthumbnail","routeSlug":"/openapi/esper_cloud_api_device-group/uploadgroupthumbnail","metadata":{"seo":{"title":"Upload a thumbnail pic","description":"Upload an image to represent the group in Devices & Groups."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"uploadGroupThumbnail","name":"Upload a thumbnail pic","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload a thumbnail pic","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload an image to represent the group in Devices & Groups."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_357"}},"schemaId":"schema_357","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_357"}},"responseCodes":["200"],"pointer":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","href":"esper_cloud_api_device-group/uploadgroupthumbnail","openApiOperationId":"uploadGroupThumbnail","summary":"Upload a thumbnail pic"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_357","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_357"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Thumbnail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}},"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GroupThumbnail","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/uploadgroupthumbnail"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/thumbnail/"},{"label":"List thumbnail pics","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/listgroupthumbnail","routeSlug":"/openapi/esper_cloud_api_device-group/listgroupthumbnail","metadata":{"seo":{"title":"List thumbnail pics","description":"Get a list of group thumbnail image files in Devices & Groups."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listGroupThumbnail","name":"List thumbnail pics","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List thumbnail pics","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Get a list of group thumbnail image files in Devices & Groups."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","href":"esper_cloud_api_device-group/listgroupthumbnail","openApiOperationId":"listGroupThumbnail","summary":"List thumbnail pics"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Thumbnail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_358"}},"schemaId":"schema_358"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_358","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_358"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/listgroupthumbnail"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/thumbnail/"},{"label":"Get thumbnail detail","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/getgroupthumbnail","routeSlug":"/openapi/esper_cloud_api_device-group/getgroupthumbnail","metadata":{"seo":{"title":"Get thumbnail detail","description":"Get a thumbnail by its ID. Use List thumbnail pics to find thumbnail IDs."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGroupThumbnail","name":"Get thumbnail detail","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get thumbnail detail","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a thumbnail by its ID. Use List thumbnail pics to find thumbnail IDs. "},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"thumbnail_id","in":"path","schemaId":"schema_322","description":"Group thumbnail ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"thumbnail_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","href":"esper_cloud_api_device-group/getgroupthumbnail","openApiOperationId":"getGroupThumbnail","summary":"Get thumbnail detail"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Thumbnail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}},"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_GroupThumbnail","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GroupThumbnail"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/getgroupthumbnail"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/"},{"label":"Delete group thumbnail","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/deletegroupthumbnail","routeSlug":"/openapi/esper_cloud_api_device-group/deletegroupthumbnail","metadata":{"seo":{"title":"Delete group thumbnail","description":"Delete a thumbnail in Devices & Groups."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteGroupThumbnail","name":"Delete group thumbnail","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete group thumbnail","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a thumbnail in Devices & Groups."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"thumbnail_id","in":"path","schemaId":"schema_322","description":"Group thumbnail ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"thumbnail_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","href":"esper_cloud_api_device-group/deletegroupthumbnail","openApiOperationId":"deleteGroupThumbnail","summary":"Delete group thumbnail"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted group thumbnail"},{"code":"401","description":"Group thumbnail delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1thumbnail~1{thumbnail_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/deletegroupthumbnail"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/"},{"label":"List the subgroups of list of groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-group/getallsubgroups","routeSlug":"/openapi/esper_cloud_api_device-group/getallsubgroups","metadata":{"seo":{"title":"List the subgroups of list of groups","description":"Returns a list of subgroup UUIDs for one or more parent groups. Use the parent_group_ids parameter to specify which parent groups to query, and the immediate parameter to control whether the response includes only direct children or all descendants at every level of the hierarchy."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllSubGroups","name":"List the subgroups of list of groups","isWebhook":false,"pointer":"/paths/~1api~1v2~1subgroups~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List the subgroups of list of groups","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a list of subgroup UUIDs for one or more parent groups. Use the parent_group_ids parameter to specify which parent groups to query, and the immediate parameter to control whether the response includes only direct children or all descendants at every level of the hierarchy."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that the response contains only subgroup UUIDs — not full group objects. Use GET /enterprise/{enterprise_id}/devicegroup/{group_id}/ to retrieve full details for any returned group ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"parent_group_ids (optional) — Comma-separated list of parent group UUIDs to query; omitting this parameter may return subgroups across all groups"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"immediate (optional, default: false) — When false, returns all descendant subgroups at every level; when true, returns only the immediate (direct) children of the specified parent groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Traversing a group hierarchy to discover all subgroups beneath one or more parent groups"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether a group has children before deciding to delete or restructure it"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Collecting a full list of descendant group IDs to use as targets for bulk operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When only direct children are needed, set immediate=true to avoid retrieving the full descendant tree, which may be large in deep hierarchies"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Since the response returns UUIDs only, plan for follow-up calls to GET /devicegroup/{group_id}/ if group names, device counts, or other metadata are required"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use parent_group_ids to scope the query — querying without it may return more data than expected"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"parent_group_ids","in":"query","schemaId":"schema_323","description":"Filter by parent group ids. This is a comma separated list of group ids."},{"name":"immediate","in":"query","schemaId":"schema_326","description":"This is a boolean value. If true, only immediate subgroups are returned."}],"pointer":"/paths/~1api~1v2~1subgroups~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/api/v2/subgroups/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"parent_group_ids","in":"query","schemaId":"schema_323"},{"name":"immediate","in":"query","schemaId":"schema_326"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/api/v2/subgroups/","href":"esper_cloud_api_device-group/getallsubgroups","openApiOperationId":"getAllSubGroups","summary":"List the subgroups of list of groups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_359"}},"schemaId":"schema_359"},{"code":"400","description":"Bad Request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1api~1v2~1subgroups~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_359","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_359"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-group/getallsubgroups"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/api/v2/subgroups/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Device Group"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Group","showPageActions":true},{"nodeType":"markdoc","content":"APIs for device group management"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12523891684369","description":"Find out more about device group management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/{enterprise_id}/devicegroup/","summary":"List device groups","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/getallgroups","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/","summary":"Create a device group","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/creategroup","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","summary":"Get device group information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/getgroupbyid","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","summary":"Update device group","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/updategroup","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","summary":"Delete a device group","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/deletegroup","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/","summary":"Partially update a device group","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/partialupdategroup","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","summary":"Upload a thumbnail pic","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/uploadgroupthumbnail","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/thumbnail/","summary":"List thumbnail pics","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/listgroupthumbnail","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","summary":"Get thumbnail detail","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/getgroupthumbnail","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/thumbnail/{thumbnail_id}/","summary":"Delete group thumbnail","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/deletegroupthumbnail","deprecated":false},{"title":"/api/v2/subgroups/","summary":"List the subgroups of list of groups","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-group/getallsubgroups","deprecated":false}]}]}]}]}},{"type":"group","label":"Token (Deprecated)","link":"/openapi/esper_cloud_api_token-(deprecated)","routeSlug":"/openapi/esper_cloud_api_token-(deprecated)","items":[{"label":"Renew Token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_token-(deprecated)/renewtoken","routeSlug":"/openapi/esper_cloud_api_token-(deprecated)/renewtoken","metadata":{"seo":{"title":"Renew Token","description":"API to renew your token"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"renewToken","name":"Renew Token","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1developerapp~1{developerapp_id}~1renew-token~1/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Renew Token","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"API to renew your token"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying this enterprise.","required":true},{"name":"developerapp_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the developerapp","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1developerapp~1{developerapp_id}~1renew-token~1/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"access_token","in":"query","schemaId":"schema_323","description":"Token to be renewed","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1developerapp~1{developerapp_id}~1renew-token~1/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/developerapp/{developerapp_id}/renew-token/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"developerapp_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"access_token","in":"query","required":true,"schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["201","400","401","403","500"],"pointer":"/v0/enterprise/{enterprise_id}/developerapp/{developerapp_id}/renew-token/","href":"esper_cloud_api_token-(deprecated)/renewtoken","openApiOperationId":"renewToken","summary":"Renew Token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TokenRenewV0"}},"schemaId":"components/schemas/esper_cloud_api_TokenRenewV0"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1developerapp~1{developerapp_id}~1renew-token~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_TokenRenewV0","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TokenRenewV0"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_token-(deprecated)/renewtoken"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v0/enterprise/{enterprise_id}/developerapp/{developerapp_id}/renew-token/"},{"label":"Token Information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_token-(deprecated)/gettokeninfo","routeSlug":"/openapi/esper_cloud_api_token-(deprecated)/gettokeninfo","metadata":{"seo":{"title":"Token Information","description":"API to get resource information associated with your token like your enterprise, user etc"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTokenInfo","name":"Token Information","isWebhook":false,"pointer":"/paths/~1v1~1token-info~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Token Information","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"API to get resource information associated with your token like your enterprise, user etc"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/token-info/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/token-info/","href":"esper_cloud_api_token-(deprecated)/gettokeninfo","openApiOperationId":"getTokenInfo","summary":"Token Information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TokenInfoV1"}},"schemaId":"components/schemas/esper_cloud_api_TokenInfoV1"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1token-info~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_TokenInfoV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TokenInfoV1"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_token-(deprecated)/gettokeninfo"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/token-info/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Token (Deprecated)"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Token (Deprecated)","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following APIs will soon be deprecated. Use the console to manage API keys instead."},"children":[]}]}]}]},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12656959508497","description":"Find out more about API Key generation"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/enterprise/{enterprise_id}/developerapp/{developerapp_id}/renew-token/","summary":"Renew Token","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_token-(deprecated)/renewtoken","deprecated":false},{"title":"/v1/token-info/","summary":"Token Information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_token-(deprecated)/gettokeninfo","deprecated":false}]}]}]}]}},{"type":"group","label":"Commands V2","link":"/openapi/esper_cloud_api_commands-v2","routeSlug":"/openapi/esper_cloud_api_commands-v2","items":[{"label":"List command requests","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_commands-v2/listcommandrequest","routeSlug":"/openapi/esper_cloud_api_commands-v2/listcommandrequest","metadata":{"seo":{"title":"List command requests","description":"Alternative Available (recommended): For broader multi-OS support and enhanced command visibility, use the stable command request API: https://api.esper.io/openapi/command-request/listcommandrequests"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listCommandRequest","name":"List command requests","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List command requests","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Alternative Available (recommended): For broader multi-OS support and enhanced command visibility, use the stable command request API: https://api.esper.io/openapi/command-request/listcommandrequests\n\nReturns a paginated list of command requests within the enterprise. Each record includes the command type, targeted devices or groups, schedule details, arguments, and current status.\n\nThis endpoint provides visibility into commands that have been issued, whether they are queued, in progress, successful, or failed."},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"command_type","in":"query","schemaId":"schema_323","description":"Filter by type of command request i.e device, group etc"},{"name":"devices","in":"query","schemaId":"schema_323","description":"Filter by device IDs. Accepts comma separated values."},{"name":"device_type","in":"query","schemaId":"schema_323","description":"Filter by device type i.e active, inactive etc"},{"name":"command","in":"query","schemaId":"schema_323","description":"Filter by command name"},{"name":"issued_by","in":"query","schemaId":"schema_323","description":"Filter by user. Accepts user id."}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/command/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"command_type","in":"query","schemaId":"schema_323"},{"name":"devices","in":"query","schemaId":"schema_323"},{"name":"device_type","in":"query","schemaId":"schema_323"},{"name":"command","in":"query","schemaId":"schema_323"},{"name":"issued_by","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/command/","href":"esper_cloud_api_commands-v2/listcommandrequest","openApiOperationId":"listCommandRequest","summary":"List command requests"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"on successful request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_360"}},"schemaId":"schema_360"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_360","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_360"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_commands-v2/listcommandrequest"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/command/"},{"label":"Create a command request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_commands-v2/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post","routeSlug":"/openapi/esper_cloud_api_commands-v2/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post","metadata":{"seo":{"title":"Create a command request","description":"⚠️ Android only. This endpoint issues commands to Android-managed devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a command request","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a command request","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint issues commands to Android-managed devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A newer, multi-OS commands API is available and recommended for most use cases"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"https://api.esper.io/openapi/command-request/createcommandrequest"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a command request targeting one or more devices or groups, dispatching a managed operation such as an install, reboot, lock, or configuration change. Accepts a V0CommandRequest body specifying the target scope (DEVICE, GROUP, or DYNAMIC), the command type, any required arguments, and an optional schedule. Returns the created command request including its id (request_id), which is used to poll for per-device execution status. Alternative endpoint- https://{foo}-api.esper.cloud/api/commands/v0/commands/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Command Request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's command system dispatches operations to enrolled Android devices asynchronously. A command request defines what to do (command), who to do it to (devices or groups), any parameters the command requires (command_args), and when to do it (schedule and schedule_args). The command_type field determines targeting scope: DEVICE targets up to 1,000 specific devices, GROUP targets up to 500 groups, and DYNAMIC targets a custom cross-group subset. After creation, use the request_id to query per-device execution status at the status endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command_type — targeting scope: DEVICE, GROUP, or DYNAMIC"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices — list of device UUIDs to target (up to 1,000); used with command_type: DEVICE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"groups — list of group UUIDs to target (up to 500); used with command_type: GROUP"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command — the operation to perform (e.g. INSTALL, REBOOT, LOCK; see V0DeviceCommandEnum for the full list)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command_args — command-specific parameters (e.g. app_version UUID for INSTALL, package_name for CLEAR_APP_DATA)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule — scheduling mode (immediate or deferred)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule_args — scheduling parameters when using deferred execution"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See https://help.esper.io/hc/en-us/articles/29710806069393-Creating-API-Commands for command examples."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"}},"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post/requestBody","description":"The request body to create a command for set of devices or groups"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/command/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"}},"responseCodes":["201","400","401","403","500"],"pointer":"/v0/enterprise/{enterprise_id}/command/","href":"esper_cloud_api_commands-v2/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post","summary":"Create a command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"command request successfully created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"}},"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_V0CommandRequest","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_V0CommandRequest"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_commands-v2/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/command/"},{"label":"get status list for command request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_commands-v2/getcommandrequeststatus","routeSlug":"/openapi/esper_cloud_api_commands-v2/getcommandrequeststatus","metadata":{"seo":{"title":"get status list for command request","description":"⚠️ Android only. This endpoint applies to command requests issued to Android-managed devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandRequestStatus","name":"get status list for command request","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1{request_id}~1status~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"get status list for command request","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies to command requests issued to Android-managed devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A newer, multi-OS commands API is available and recommended for most use cases https://api.esper.io/openapi/command-request/listcommandrequests"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the per-device execution status for a specific command request, with optional filtering by device or command state."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of V0CommandStatus1 records — one per targeted device — each showing the device reference, current execution state, reason, and timestamps. Use this to monitor command propagation after creating a request via POST .../command/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Command Request Status"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a command request is created, Esper generates a per-device status record for each target in the request. This endpoint surfaces those records, allowing integrators to track whether each device has queued, acknowledged, completed, failed, timed out, or been cancelled. The state field reflects the full command lifecycle from Command Queued through Command Success or Command Failure. The reason field provides detail on why a command reached its current state — useful for diagnosing failures."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request_id — path parameter; UUID of the command request whose status to retrieve."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device — optional query filter; narrows results to a single device UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — optional query filter; narrows results to a specific execution state (e.g. Command Failure, Command Success)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state values: Command Queued, Command Initiated, Command Acknowledged, Command In Progress, Command TimeOut, Command Success"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", Command Failure, Command Scheduled, Command Cancelled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reason — plain-language explanation of why the command is in its current state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor rollout progress for a group-scoped install command by checking how many devices have reached Command Success."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify devices that failed or timed out by filtering on state=Command Failure or state=Command TimeOut. Note: timeout status will continue to scuees or failur."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm that a specific device received and acknowledged a command before proceeding with a dependent operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll this endpoint periodically after creating a command request rather than expecting immediate completion — devices may be offline or slow to respond"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state=Command Failure first to quickly surface problem devices before reviewing overall progress"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store request_id from the create response immediately — it cannot be recovered from the status endpoint itself"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After creating a command request, capture the request_id from the POST response."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the request_id to retrieve per-device status records."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state to isolate devices in specific execution states; retry or investigate failures as needed."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true},{"name":"request_id","in":"path","schemaId":"schema_322","description":"ID for the command request","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1{request_id}~1status~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"device","in":"query","schemaId":"schema_323","description":"Filter status result by device id."},{"name":"state","in":"query","schemaId":"schema_323","description":"Filter by command state"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1{request_id}~1status~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/command/{request_id}/status/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"request_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"device","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/command/{request_id}/status/","href":"esper_cloud_api_commands-v2/getcommandrequeststatus","openApiOperationId":"getCommandRequestStatus","summary":"get status list for command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"on successful request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_361"}},"schemaId":"schema_361"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1command~1{request_id}~1status~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_361","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_361"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_commands-v2/getcommandrequeststatus"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/command/{request_id}/status/"},{"label":"get command history for device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_commands-v2/getdevicecommandhistory","routeSlug":"/openapi/esper_cloud_api_commands-v2/getdevicecommandhistory","metadata":{"seo":{"title":"get command history for device","description":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceCommandHistory","name":"get command history for device","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1device~1{device_id}~1command-history~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"get command history for device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Alternative Available"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use https://api.esper.io/openapi/command-status/getcommandinbox for a device's queued commands."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full command history for a specific device, filterable by execution state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of V0CommandStatus records scoped to the specified device, each including the command name, arguments, issuing user, current state, reason, requeue count, and timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This provides richer detail than the per-request status endpoint, making it the preferred choice for device-level command audit and troubleshooting."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Command History"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"While GET .../command/{request_id}/status/ surfaces status for a specific command request across its target devices, the command-history endpoint inverts the view — returning all commands ever"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"issued to a single device, regardless of which request they originated from. Each record includes the full command name, the command_args used, the issued_by user object, a requeue_value tracking how many times the command was retried, and the reason for the current state. This makes it the authoritative source for per-device command forensics."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters / Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — optional filter; narrows results to a specific execution state (e.g. Command Failure, Command Success)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command — the name of the operation that was issued (e.g. INSTALL, REBOOT)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command_args — the arguments passed with the command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"issued_by — object containing id and username of the user who issued the command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"requeue_value — number of times the command was requeued for this device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reason — plain-language detail on why the command is in its current state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the full command history for a device during a support or compliance investigation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify repeatedly failing commands and the arguments that were used."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit which users issued which commands to a device over its lifecycle."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state=Command Failure or state=Command TimeOut to surface problem commands without reviewing the entire history."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use requeue_value to identify commands that were retried the maximum number of times — these are likely permanent failures requiring manual intervention."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pair this endpoint with the event feed (GET .../report/eventfeed/) for a complete device activity picture: command history shows operational commands; the event feed shows broader device state transitions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the device_id from a device list call or stored reference."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint, optionally filtering by state, to retrieve the command history."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Investigate failures using the command, command_args, reason, and requeue_value fields."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Id of the enterprise","required":true},{"name":"device_id","in":"path","schemaId":"schema_322","description":"Id for the command request","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1device~1{device_id}~1command-history~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"state","in":"query","schemaId":"schema_323","description":"Filter by command state"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1device~1{device_id}~1command-history~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/device/{device_id}/command-history/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"device_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"state","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/device/{device_id}/command-history/","href":"esper_cloud_api_commands-v2/getdevicecommandhistory","openApiOperationId":"getDeviceCommandHistory","summary":"get command history for device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"on successful request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_362"}},"schemaId":"schema_362"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1device~1{device_id}~1command-history~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_362","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_362"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_commands-v2/getdevicecommandhistory"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/device/{device_id}/command-history/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Commands V2"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Commands V2","showPageActions":true},{"nodeType":"markdoc","content":"Commands V2.0 provides advanced device commands capabilities like queuing, support for offline devices, dynamic device set for commands and command history. Commands 2.0 is in active development and we will add support for all the commands soon"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12524618746129","description":"Find out more about commands V2.0"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/enterprise/{enterprise_id}/command/","summary":"List command requests","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_commands-v2/listcommandrequest","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/command/","summary":"Create a command request","prefix":{"name":"post","color":"post"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_commands-v2/paths/~1v0~1enterprise~1{enterprise_id}~1command~1/post","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/command/{request_id}/status/","summary":"get status list for command request","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_commands-v2/getcommandrequeststatus","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/device/{device_id}/command-history/","summary":"get command history for device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_commands-v2/getdevicecommandhistory","deprecated":false}]}]}]}]}},{"type":"group","label":"Enterprise Policy","link":"/openapi/esper_cloud_api_enterprise-policy","routeSlug":"/openapi/esper_cloud_api_enterprise-policy","items":[{"label":"List all policies in enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/listpolicies","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/listpolicies","metadata":{"seo":{"title":"List all policies in enterprise","description":"Returns Policies list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listPolicies","name":"List all policies in enterprise","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all policies in enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns Policies list"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"name","in":"query","schemaId":"schema_323","description":"filter by policy name"},{"name":"is_active","in":"query","schemaId":"schema_324","description":"filter by Active policies"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/policy/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"name","in":"query","schemaId":"schema_323"},{"name":"is_active","in":"query","schemaId":"schema_324"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/policy/","href":"esper_cloud_api_enterprise-policy/listpolicies","openApiOperationId":"listPolicies","summary":"List all policies in enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_363"}},"schemaId":"schema_363"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_363","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_363"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/listpolicies"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/"},{"label":"Create a new Enterprise Policy","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/createpolicy","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/createpolicy","metadata":{"seo":{"title":"Create a new Enterprise Policy","description":"API to create a new Enterprise Policy"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPolicy","name":"Create a new Enterprise Policy","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new Enterprise Policy","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"API to create a new Enterprise Policy"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"ID of the enterprise","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/post/requestBody","description":"The request body to create an Enteprise Policy"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/policy/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"responseCodes":["201","400","401","403","500"],"pointer":"/enterprise/{enterprise_id}/policy/","href":"esper_cloud_api_enterprise-policy/createpolicy","openApiOperationId":"createPolicy","summary":"Create a new Enterprise Policy"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"command request successfully created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/createpolicy"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/"},{"label":"Get Enterprise Policy","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/getpolicybyid","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/getpolicybyid","metadata":{"seo":{"title":"Get Enterprise Policy","description":"Returns EnterprisePolicy instance"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPolicyById","name":"Get Enterprise Policy","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Enterprise Policy","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns EnterprisePolicy instance"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"policy_id","in":"path","schemaId":"schema_325","description":"An integer identifying this enterprise policy.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/policy/{policy_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"policy_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/{enterprise_id}/policy/{policy_id}/","href":"esper_cloud_api_enterprise-policy/getpolicybyid","openApiOperationId":"getPolicyById","summary":"Get Enterprise Policy"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/getpolicybyid"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/{policy_id}/"},{"label":"Update Enterprise Policy","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/updatepolicy","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/updatepolicy","metadata":{"seo":{"title":"Update Enterprise Policy","description":"Enterprise/Compliance Policies are a legacy service and may not be generally available to all customers."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePolicy","name":"Update Enterprise Policy","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Enterprise Policy","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enterprise/Compliance Policies are a legacy service and may not be generally available to all customers."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fully replaces an existing Enterprise Policy (known as a Compliance Policy in the console) for the given policy_id with the values provided in the request body. Use this when you need to overwrite all policy fields at once; for updating only specific fields, use the partial-update (PATCH) variant instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requires a complete EnterprisePolicy object in the request body — any fields omitted are treated as unset — and returns the updated EnterprisePolicy instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Enterprise Policy"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Enterprise Policy defines the configuration and restrictions applied to devices under an enterprise. Policies are referenced by an integer policy_id scoped to the enterprise, and devices report which policy_id/policy_name they're currently associated with."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"policy_id — integer identifier for the enterprise policy being updated"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Overwriting an entire policy's configuration in one call after building the full desired state client-side"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use PATCH (partial update) instead of PUT when only a subset of policy fields needs to change, to avoid accidentally clearing fields not included in the request body"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"policy_id","in":"path","schemaId":"schema_325","description":"An integer identifying this enterprise policy.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/enterprise/{enterprise_id}/policy/{policy_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"policy_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"responseCodes":["200","400","401","404","500"],"pointer":"/enterprise/{enterprise_id}/policy/{policy_id}/","href":"esper_cloud_api_enterprise-policy/updatepolicy","openApiOperationId":"updatePolicy","summary":"Update Enterprise Policy"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"},{"code":"400","description":"User update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/updatepolicy"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/{policy_id}/"},{"label":"Delete a Enterprise Policy","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/deleteenterprisepolicy","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/deleteenterprisepolicy","metadata":{"seo":{"title":"Delete a Enterprise Policy","description":"Emtpy response"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteEnterprisePolicy","name":"Delete a Enterprise Policy","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Enterprise Policy","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Emtpy response"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"policy_id","in":"path","schemaId":"schema_325","description":"An integer identifying this enterprise policy.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/policy/{policy_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"policy_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/policy/{policy_id}/","href":"esper_cloud_api_enterprise-policy/deleteenterprisepolicy","openApiOperationId":"deleteEnterprisePolicy","summary":"Delete a Enterprise Policy"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/deleteenterprisepolicy"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/{policy_id}/"},{"label":"Partial update EnterprisePolicy","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_enterprise-policy/partialupdatepolicy","routeSlug":"/openapi/esper_cloud_api_enterprise-policy/partialupdatepolicy","metadata":{"seo":{"title":"Partial update EnterprisePolicy","description":"Returns EnterprisePolicy instance"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialupdatePolicy","name":"Partial update EnterprisePolicy","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partial update EnterprisePolicy","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns EnterprisePolicy instance"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"policy_id","in":"path","schemaId":"schema_325","description":"An integer identifying this enterprise policy.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate","pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/enterprise/{enterprise_id}/policy/{policy_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"policy_id","in":"path","required":true,"schemaId":"schema_325"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/enterprise/{enterprise_id}/policy/{policy_id}/","href":"esper_cloud_api_enterprise-policy/partialupdatepolicy","openApiOperationId":"partialupdatePolicy","summary":"Partial update EnterprisePolicy"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}},"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1policy~1{policy_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_EnterprisePolicy"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_enterprise-policy/partialupdatepolicy"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/{enterprise_id}/policy/{policy_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Enterprise Policy"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Enterprise Policy","showPageActions":true},{"nodeType":"markdoc","content":"APIs to Esper Compliance Policy"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12653153592977","description":"Find out more about Compliance Policy"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/{enterprise_id}/policy/","summary":"List all policies in enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/listpolicies","deprecated":false},{"title":"/enterprise/{enterprise_id}/policy/","summary":"Create a new Enterprise Policy","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/createpolicy","deprecated":false},{"title":"/enterprise/{enterprise_id}/policy/{policy_id}/","summary":"Get Enterprise Policy","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/getpolicybyid","deprecated":false},{"title":"/enterprise/{enterprise_id}/policy/{policy_id}/","summary":"Update Enterprise Policy","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/updatepolicy","deprecated":false},{"title":"/enterprise/{enterprise_id}/policy/{policy_id}/","summary":"Delete a Enterprise Policy","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/deleteenterprisepolicy","deprecated":false},{"title":"/enterprise/{enterprise_id}/policy/{policy_id}/","summary":"Partial update EnterprisePolicy","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_enterprise-policy/partialupdatepolicy","deprecated":false}]}]}]}]}},{"type":"group","label":"Geofence","link":"/openapi/esper_cloud_api_geofence","routeSlug":"/openapi/esper_cloud_api_geofence","items":[{"label":"List Geofences in Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/getallgeofences","routeSlug":"/openapi/esper_cloud_api_geofence/getallgeofences","metadata":{"seo":{"title":"List Geofences in Enterprise","description":"Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllGeofences","name":"List Geofences in Enterprise","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Geofences in Enterprise","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all geofences defined within the enterprise.Use this endpoint to audit existing legacy geofence definitions — their coordinates, radii, and configured device actions — before migrating configurations to blueprints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Geofences (Legacy)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence in Esper defines a geographic boundary — specified by latitude, longitude, and a radius — that triggers device actions (such as lockdown or beep) when a device crosses it. This endpoint belongs to the original standalone geofence API, which has been superseded by geofence configuration within blueprints. New integrations should use /api/v2/blueprints/ rather than this legacy path."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"search","in":"query","schemaId":"schema_323","description":"A search term."},{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_325","description":"The initial index from which to return the results."}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/geofence/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/geofence/","href":"esper_cloud_api_geofence/getallgeofences","openApiOperationId":"getAllGeofences","summary":"List Geofences in Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_364"}},"schemaId":"schema_364"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_364","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_364"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/getallgeofences"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/geofence/"},{"label":"Get geofence information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/getgeofence","routeSlug":"/openapi/esper_cloud_api_geofence/getgeofence","metadata":{"seo":{"title":"Get geofence information","description":"⚠️ Legacy endpoint. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGeofence","name":"Get geofence information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get geofence information","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full details of a single geofence by its UUID.Returns the complete Geofence object including coordinates, radius, configured device actions, device count, and audit timestamps; useful during migration to read the exact parameters of a legacy geofence before recreating it in a blueprint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Geofence (Legacy)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint fetches a single legacy geofence record by geofence_id. Geofences in this legacy system were standalone entities associated with an enterprise and optionally applied to individual devices. The current approach embeds geofence definitions within blueprints via /api/v2/blueprints/, enabling consistent application across device groups rather than per-device assignment."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","href":"esper_cloud_api_geofence/getgeofence","openApiOperationId":"getGeofence","summary":"Get geofence information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/getgeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/"},{"label":"Update geofence information","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/updategeofence","routeSlug":"/openapi/esper_cloud_api_geofence/updategeofence","metadata":{"seo":{"title":"Update geofence information","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateGeofence","name":"Update geofence information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update geofence information","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Performs a full replacement update on an existing legacy geofence record.All writable fields must be included in the request body; omitting a field will overwrite it with a null or default value. Returns the updated Geofence object on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Geofence — Full (Legacy)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This PUT endpoint replaces the entire geofence definition for the specified geofence_id. It operates on the same legacy standalone geofence system as the other /geofence/ path endpoints. Because geofences are now configured within blueprints via /api/v2/blueprints/, edits here will not affect blueprint-managed geofence behavior. Use blueprints for all active geofence configuration changes."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","href":"esper_cloud_api_geofence/updategeofence","openApiOperationId":"updateGeofence","summary":"Update geofence information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/updategeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/"},{"label":"Delete a geofence","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/deletegeofence","routeSlug":"/openapi/esper_cloud_api_geofence/deletegeofence","metadata":{"seo":{"title":"Delete a geofence","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteGeofence","name":"Delete a geofence","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a geofence","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a legacy geofence record by its UUID.Returns HTTP 204 with an empty body on success; the deletion is immediate and irreversible. Use this to remove legacy geofence records after their configurations have been migrated to blueprints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Geofence (Legacy)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint removes a single legacy geofence from the enterprise. Unlike the blueprints system, which ties geofence lifecycle to blueprint deployment, this standalone record can be deleted independently. Before deleting, check device_count via GET to confirm whether any devices are still referencing the legacy geofence."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","href":"esper_cloud_api_geofence/deletegeofence","openApiOperationId":"deleteGeofence","summary":"Delete a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/deletegeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/"},{"label":"Partially updates geofence information","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/partialupdategeofence","routeSlug":"/openapi/esper_cloud_api_geofence/partialupdategeofence","metadata":{"seo":{"title":"Partially updates geofence information","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialUpdateGeofence","name":"Partially updates geofence information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially updates geofence information","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates one or more fields on an existing legacy geofence record. Only the fields included in the request body are modified; all other fields retain their current values. Returns the full updated Geofence object on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Geofence — Partial (Legacy)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This PATCH endpoint applies partial updates to a legacy geofence definition using the GeofenceUpdate schema, which accepts name, description, latitude, longitude, radius, radius_unit, and device_actions. Unlike PUT, omitted fields are preserved. Changes made here do not affect blueprint-managed geofence behavior; use /api/v2/blueprints/ for all active configuration management."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceUpdate"}},"schemaId":"components/schemas/esper_cloud_api_GeofenceUpdate","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceUpdate"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","href":"esper_cloud_api_geofence/partialupdategeofence","openApiOperationId":"partialUpdateGeofence","summary":"Partially updates geofence information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GeofenceUpdate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence"},{"code":"400","description":"Bad Request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1geofence~1{geofence_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/partialupdategeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/"},{"label":"Create a geofence","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/creategeofence","routeSlug":"/openapi/esper_cloud_api_geofence/creategeofence","metadata":{"seo":{"title":"Create a geofence","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createGeofence","name":"Create a geofence","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a geofence","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new geofence and optionally applies it to a list of devices in a single request. Returns the newly created Geofence object (HTTP 201) with the assigned UUID; the devices field allows immediate application to specific devices at creation time, a capability not available through the separate /geofence/ path endpoints."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceCreate"}},"schemaId":"components/schemas/esper_cloud_api_GeofenceCreate","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceCreate"}},"responseCodes":["201","400","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","href":"esper_cloud_api_geofence/creategeofence","openApiOperationId":"createGeofence","summary":"Create a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_GeofenceCreate","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"components/schemas/esper_cloud_api_GeofenceCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/creategeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/"},{"label":"List Geofences in Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/getgeofencelist","routeSlug":"/openapi/esper_cloud_api_geofence/getgeofencelist","metadata":{"seo":{"title":"List Geofences in Enterprise","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGeofenceList","name":"List Geofences in Enterprise","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Geofences in Enterprise","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all geofences in the enterprise via the legacy create-apply-geo-fence path."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"search","in":"query","schemaId":"schema_323","description":"A search term."},{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_325","description":"The initial index from which to return the results."}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","href":"esper_cloud_api_geofence/getgeofencelist","openApiOperationId":"getGeofenceList","summary":"List Geofences in Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_364"}},"schemaId":"schema_364"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geo-fence~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_364","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_364"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/getgeofencelist"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/"},{"label":"Get geofence information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/getthegeofence","routeSlug":"/openapi/esper_cloud_api_geofence/getthegeofence","metadata":{"seo":{"title":"Get geofence information","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTheGeofence","name":"Get geofence information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get geofence information","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full details of a single geofence by UUID via the legacy create-apply-geofence detail path."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the same Geofence object as GET /v0/enterprise/{enterprise_id}/geofence/{geofence_id}/; this path is the detail counterpart to the create-apply-geo-fence creation endpoint, with the hyphenation normalized to create-apply-geofence."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","href":"esper_cloud_api_geofence/getthegeofence","openApiOperationId":"getTheGeofence","summary":"Get geofence information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}},"schemaId":"components/schemas/esper_cloud_api_Geofence"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Geofence","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Geofence"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/getthegeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/"},{"label":"Delete a geofence","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_geofence/deletethegeofence","routeSlug":"/openapi/esper_cloud_api_geofence/deletethegeofence","metadata":{"seo":{"title":"Delete a geofence","description":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTheGeofence","name":"Delete a geofence","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a geofence","badges":[{"name":"Legacy","color":"orange"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy endpoint. Android only. Geofence configuration is now managed through blueprints. Use the blueprints endpoints (/api/v2/blueprints/) to create and manage geofences going forward."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a legacy geofence record by UUID via the create-apply-geofence detail path."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns HTTP 204 with an empty body on success. Remove devices from the geofence before deleting the geofence."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the geofence.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","href":"esper_cloud_api_geofence/deletethegeofence","openApiOperationId":"deleteTheGeofence","summary":"Delete a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1create-apply-geofence~1{geofence_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_geofence/deletethegeofence"}],"panels":[]}]},"badges":[{"name":"Legacy","color":"orange"}],"httpPath":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Geofence"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Geofence","showPageActions":true},{"nodeType":"markdoc","content":"APIs for geofence management"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12655621844753","description":"Find out more about Geofence"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/enterprise/{enterprise_id}/geofence/","summary":"List Geofences in Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/getallgeofences","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","summary":"Get geofence information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/getgeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","summary":"Update geofence information","prefix":{"name":"put","color":"put"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/updategeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","summary":"Delete a geofence","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/deletegeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/geofence/{geofence_id}/","summary":"Partially updates geofence information","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/partialupdategeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","summary":"Create a geofence","prefix":{"name":"post","color":"post"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/creategeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/create-apply-geo-fence/","summary":"List Geofences in Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/getgeofencelist","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","summary":"Get geofence information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/getthegeofence","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/create-apply-geofence/{geofence_id}/","summary":"Delete a geofence","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Legacy","color":"orange"}],"link":"/esper_cloud_api_geofence/deletethegeofence","deprecated":false}]}]}]}]}},{"type":"group","label":"Content","link":"/openapi/esper_cloud_api_content","routeSlug":"/openapi/esper_cloud_api_content","items":[{"label":"List content","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/getallcontent","routeSlug":"/openapi/esper_cloud_api_content/getallcontent","metadata":{"seo":{"title":"List content","description":"Returns a paginated list of all files uploaded to the enterprise's Content Management library. Each result includes file metadata such as MIME type, size, tags, description, path, and ownership — but not the file content itself. Use this endpoint to discover content IDs for use in downstream operations such as pushing files to devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllContent","name":"List content","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List content","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all files uploaded to the enterprise's Content Management library. Each result includes file metadata such as MIME type, size, tags, description, path, and ownership — but not the file content itself. Use this endpoint to discover content IDs for use in downstream operations such as pushing files to devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Query parameters:"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search (optional) — Filter results by tags or description; does not search by filename"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit (optional, default: 20) — Number of results to return per page"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset (optional, default: 0) — Index from which to start returning results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (Content schema):"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key — The filename or identifier for the content"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kind — MIME type of the file (e.g., application/pdf, image/png)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"size — File size in bytes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags — Array of tag strings; searchable via the search parameter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — Optional description for the file; also searchable via search"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"path — Path to the content within the library"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_dir — Whether the entry represents a directory rather than a file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"owner — User who uploaded the content"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discovering content IDs needed to reference files in device push operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the enterprise content library for stale, duplicate, or untagged files"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building content browsing or selection UIs in custom management tools"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying a file exists and retrieving its metadata before issuing a push command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the search parameter to filter by tags or description rather than fetching all content and filtering client-side — note that search does not match on filename (key)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use descriptive tags at upload time to make content discoverable via this endpoint's search"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset for enterprises with large content libraries"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"search","in":"query","schemaId":"schema_323","description":"Seach by tags, description"},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"The initial index from which to return the results."}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/content/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"search","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/","href":"esper_cloud_api_content/getallcontent","openApiOperationId":"getAllContent","summary":"List content"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_365"}},"schemaId":"schema_365"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_365","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_365"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/getallcontent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/"},{"label":"Get content information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/getcontent","routeSlug":"/openapi/esper_cloud_api_content/getcontent","metadata":{"seo":{"title":"Get content information","description":"Returns metadata for a single content item in the enterprise's Content Management library, identified by its content_id. The response includes the same fields as the list endpoint — filename, MIME type, size, tags, description, path, and ownership — but scoped to a single file. Does not return the file's binary content."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getContent","name":"Get content information","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get content information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns metadata for a single content item in the enterprise's Content Management library, identified by its content_id. The response includes the same fields as the list endpoint — filename, MIME type, size, tags, description, path, and ownership — but scoped to a single file. Does not return the file's binary content."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying a specific file's metadata (type, size, tags, path) before referencing it in a device push operation"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a file exists and retrieving its details after upload"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking ownership or modification timestamps for auditing purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v0/enterprise/{enterprise_id}/content/ with the search parameter to find a content_id if you don't already have it — this endpoint requires knowing the ID in advance"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns metadata only"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"content_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying a content instance.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/enterprise/{enterprise_id}/content/{content_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"content_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/{content_id}/","href":"esper_cloud_api_content/getcontent","openApiOperationId":"getContent","summary":"Get content information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}},"schemaId":"components/schemas/esper_cloud_api_Content"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Content","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/getcontent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/{content_id}/"},{"label":"Delete Content","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/deletecontent","routeSlug":"/openapi/esper_cloud_api_content/deletecontent","metadata":{"seo":{"title":"Delete Content","description":"Permanently deletes a content item from the enterprise's Content Management library by content_id. This action is irreversible — the file and its metadata are removed immediately and cannot be recovered."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteContent","name":"Delete Content","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Content","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a content item from the enterprise's Content Management library by content_id. This action is irreversible — the file and its metadata are removed immediately and cannot be recovered."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing outdated or superseded files from the content library"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up test or temporary files uploaded during development"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maintaining a tidy library by removing content that is no longer referenced in any active device operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the correct content_id using GET /v0/enterprise/{enterprise_id}/content/{content_id}/ before deleting — this action cannot be undone"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the file is not actively referenced in any pending or scheduled device push operations before deleting to avoid broken references"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v0/enterprise/{enterprise_id}/content/ to audit the library and identify candidates for deletion"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"content_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying a content instance.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v0/enterprise/{enterprise_id}/content/{content_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"content_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403","404","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/{content_id}/","href":"esper_cloud_api_content/deletecontent","openApiOperationId":"deleteContent","summary":"Delete Content"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/deletecontent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/{content_id}/"},{"label":"Patch a content instance","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/patchcontent","routeSlug":"/openapi/esper_cloud_api_content/patchcontent","metadata":{"seo":{"title":"Patch a content instance","description":"Partially updates the metadata of an existing content item in the enterprise's Content Management library. Only tags and description can be updated — the file itself and its core properties (filename, size, MIME type, path) cannot be modified through this endpoint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchContent","name":"Patch a content instance","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patch a content instance","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates the metadata of an existing content item in the enterprise's Content Management library. Only tags and description can be updated — the file itself and its core properties (filename, size, MIME type, path) cannot be modified through this endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (all optional)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replaces the existing tag array with the new set of tag strings provided"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the human-readable description for the content item"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding or correcting tags to improve discoverability via the search parameter on GET /v0/enterprise/{enterprise_id}/content/"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating a description to reflect a file's current purpose after it has changed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retroactively tagging content that was uploaded without tags"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tags is a full replacement, not an append — if you want to add a tag while preserving existing ones, retrieve the current tags first via GET /v0/enterprise/{enterprise_id}/content/{content_id}/ and include them all in the patch body"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint cannot be used to replace or rename the file itself — upload a new file via POST /v0/enterprise/{enterprise_id}/content/upload/ and delete the old one if the file content needs to change"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apply consistent, descriptive tags across your library to make content searchable and auditable"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"content_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying a content instance.","required":true},{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_366"}},"schemaId":"schema_366","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v0/enterprise/{enterprise_id}/content/{content_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"content_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"*/*":{"schemaId":"schema_366"}},"responseCodes":["200","400","401","403","404","415","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/{content_id}/","href":"esper_cloud_api_content/patchcontent","openApiOperationId":"patchContent","summary":"Patch a content instance"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_366","mediaTypes":["*/*"],"mediaTypeSchemas":{"*/*":{"schemaId":"schema_366"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}},"schemaId":"components/schemas/esper_cloud_api_Content"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"415","description":"Unsupported media type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1{content_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Content","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/patchcontent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/{content_id}/"},{"label":"Upload new content","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/postcontent","routeSlug":"/openapi/esper_cloud_api_content/postcontent","metadata":{"seo":{"title":"Upload new content","description":"Uploads a file to the enterprise content library, creating a new Content record.Accepts a multipart/form-data payload with the binary file in the key field and returns the resulting Content object including id, download_url, MIME type, hash, and size. This is the primary mechanism for adding files to Esper's content library for device distribution."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"postContent","name":"Upload new content","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1upload~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload new content","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads a file to the enterprise content library, creating a new Content record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a multipart/form-data payload with the binary file in the key field and returns the resulting Content object including id, download_url, MIME type, hash, and size. This is the primary mechanism for adding files to Esper's content library for device distribution."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload Content"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The content upload endpoint stores an arbitrary file in Esper's enterprise content library, which acts as a managed file repository for pushing files to enrolled devices. This is not intented for application uploads. Use the app upload enpoint instead. On successful upload, Esper returns a Content record with a download_url, a computed hash for integrity verification, and a detected kind (MIME type). The returned id is used to reference the content in distribution commands and PATCH operations. Unlike the APK upload endpoint, content upload accepts any supported file type — configuration files, scripts, media, documents, and more."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"key — required; the binary file to upload, sent as multipart/form-data"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — returned in the response; integer identifier for this content record used in downstream operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download_url — direct URL to retrieve the uploaded file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"hash — SHA hash of the uploaded file for integrity verification"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"kind — MIME type detected from the uploaded file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags / description — not set at upload; add via PATCH .../content/{content_id}/ after upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload configuration files, scripts, or reference documents to the content library for device distribution."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add media or resource files that devices need to download as part of a provisioning "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automate content updates as part of a CI/CD or content management pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Tags and descriptions cannot be set at upload time — immediately follow a successful upload with PATCH .../content/{content_id}/ to add tags and a description, which are needed for the search parameter on the list endpoint to find this file later."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the id from the response; it is an integer (not a UUID) and is the reference for all downstream content operations."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the returned hash against your local file hash to confirm upload integrity."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file binary as key in a multipart/form-data request."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the id, download_url, and hash from the response."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Immediately PATCH the new content record to add tags and description for searchability."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1upload~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_367"}},"schemaId":"schema_367","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1upload~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/content/upload/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_367"}},"responseCodes":["200","400","401","403","415","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/upload/","href":"esper_cloud_api_content/postcontent","openApiOperationId":"postContent","summary":"Upload new content"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_367","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_367"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}},"schemaId":"components/schemas/esper_cloud_api_Content"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"415","description":"Unsupported media type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1upload~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Content","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Content"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/postcontent"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/upload/"},{"label":"Upload file to Remote File Manager","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/uploadremotefile","routeSlug":"/openapi/esper_cloud_api_content/uploadremotefile","metadata":{"seo":{"title":"Upload file to Remote File Manager","description":"Uploads a file to the Remote File Manager bucket for temporary storage."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"uploadRemoteFile","name":"Upload file to Remote File Manager","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload file to Remote File Manager","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads a file to the Remote File Manager bucket for temporary storage."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a multipart file upload up to 50MB and returns a file_key, bucket name, size, content type, and a pre-signed download_url. Files uploaded here are automatically deleted after 1 day, so this is intended for short-lived transfers rather than long-term content storage."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload File to Remote File Manager"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Remote File Manager bucket is a temporary staging area distinct from Esper's main Content management system. Because files here are auto-deleted after 1440 minutes (1 day), it's best suited for short-lived use cases such as generating a one-time download link or briefly staging a file for another workflow, rather than for files devices need to reference long-term."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file — the file to upload, required, maximum 50MB"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filename — an optional custom filename; defaults to the uploaded file's name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"content_type — an optional MIME type override, auto-detected if omitted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a short-lived, shareable download link for a file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Staging a file temporarily for a downstream automation step"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not rely on this endpoint for files that need to persist beyond 1 day; use the Content API for anything longer-lived"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the file_key immediately, since it is required to generate additional download URLs later"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file as multipart form data to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned file_key and download_url"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the generate_download_url endpoint with the file_key if you need a new pre-signed URL after the original expires"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_368"}},"schemaId":"schema_368","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/content/remote-file/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_368"}},"responseCodes":["201","400","401","403","413","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/remote-file/","href":"esper_cloud_api_content/uploadremotefile","openApiOperationId":"uploadRemoteFile","summary":"Upload file to Remote File Manager"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_368","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_368"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"File uploaded successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_369"}},"schemaId":"schema_369"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_370"}},"schemaId":"schema_370"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"413","description":"File too large (max 50MB)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_371"}},"schemaId":"schema_371"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_372"}},"schemaId":"schema_372"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_369","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_369"}}},{"code":"400","schemaId":"schema_370","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_370"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"413","schemaId":"schema_371","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_371"}}},{"code":"500","schemaId":"schema_372","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_372"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/uploadremotefile"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/remote-file/"},{"label":"Generate download URL for existing file","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_content/generatedownloadurl","routeSlug":"/openapi/esper_cloud_api_content/generatedownloadurl","metadata":{"seo":{"title":"Generate download URL for existing file","description":"Generates a new pre-signed download URL for a file already stored in the Remote File Manager bucket."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"generateDownloadUrl","name":"Generate download URL for existing file","isWebhook":false,"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1generate_download_url~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate download URL for existing file","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generates a new pre-signed download URL for a file already stored in the Remote File Manager bucket."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this when the original download_url returned at upload time has expired but the file itself (auto-deleted after 1 day from upload) is still available. Accepts an optional expires_in value to control how long the new URL remains valid."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Generate Download URL"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The download_url returned when a file is uploaded expires after a set duration; this endpoint issues a fresh pre-signed URL against the same file_key without re-uploading the file. It only works while the underlying file still exists in the bucket, which is limited to roughly 1 day after upload."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file_key — the storage key of the file, required, returned from the original upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expires_in — how long the new URL should remain valid, in seconds; defaults to 3600, minimum 60, maximum 86400"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-generating a download link after the original one expired but before the file's 1-day auto-delete window closes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issuing a longer- or shorter-lived download URL than the one originally returned at upload time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Track each file's upload time so you don't attempt to generate a URL for a file that has already been auto-deleted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set expires_in to match how long the downstream consumer actually needs access, rather than defaulting to the maximum"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the file_key from the original upload response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file_key and desired expires_in to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Share the returned download_url before it expires"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1generate_download_url~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_373"}},"schemaId":"schema_373","pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1generate_download_url~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/enterprise/{enterprise_id}/content/remote-file/generate_download_url/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_373"}},"responseCodes":["200","400","401","403","500"],"pointer":"/v0/enterprise/{enterprise_id}/content/remote-file/generate_download_url/","href":"esper_cloud_api_content/generatedownloadurl","openApiOperationId":"generateDownloadUrl","summary":"Generate download URL for existing file"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_373","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_373"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Download URL generated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_374"}},"schemaId":"schema_374"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_375"}},"schemaId":"schema_375"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_376"}},"schemaId":"schema_376"}],"pointer":"/paths/~1v0~1enterprise~1{enterprise_id}~1content~1remote-file~1generate_download_url~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_374","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_374"}}},{"code":"400","schemaId":"schema_375","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_375"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"schema_376","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_376"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_content/generatedownloadurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/enterprise/{enterprise_id}/content/remote-file/generate_download_url/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Content"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Content","showPageActions":true},{"nodeType":"markdoc","content":"APIs to manage files"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12655910179473","description":"Find out more about Content management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/enterprise/{enterprise_id}/content/","summary":"List content","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/getallcontent","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/{content_id}/","summary":"Get content information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/getcontent","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/{content_id}/","summary":"Delete Content","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/deletecontent","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/{content_id}/","summary":"Patch a content instance","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/patchcontent","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/upload/","summary":"Upload new content","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/postcontent","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/remote-file/","summary":"Upload file to Remote File Manager","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/uploadremotefile","deprecated":false},{"title":"/v0/enterprise/{enterprise_id}/content/remote-file/generate_download_url/","summary":"Generate download URL for existing file","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_content/generatedownloadurl","deprecated":false}]}]}]}]}},{"type":"group","label":"User (Deprecated)","link":"/openapi/esper_cloud_api_user-(deprecated)","routeSlug":"/openapi/esper_cloud_api_user-(deprecated)","items":[{"label":"Create a new User","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user-(deprecated)/createuser","routeSlug":"/openapi/esper_cloud_api_user-(deprecated)/createuser","metadata":{"seo":{"title":"Create a new User","description":"Create a new User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createUser","name":"Create a new User","isWebhook":false,"pointer":"/paths/~1user~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new User","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new User"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"schemaId":"components/schemas/esper_cloud_api_UserCreate","pointer":"/paths/~1user~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/user/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"responseCodes":["201","400","401","403","500"],"pointer":"/user/","href":"esper_cloud_api_user-(deprecated)/createuser","openApiOperationId":"createUser","summary":"Create a new User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UserCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"User Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user-(deprecated)/createuser"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/user/"},{"label":"Update a User","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user-(deprecated)/updateuser","routeSlug":"/openapi/esper_cloud_api_user-(deprecated)/updateuser","metadata":{"seo":{"title":"Update a User","description":"Update a User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateUser","name":"Update a User","isWebhook":false,"pointer":"/paths/~1user~1{user_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a User","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Update a User"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_325","description":"User ID","required":true}],"pointer":"/paths/~1user~1{user_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"schemaId":"components/schemas/esper_cloud_api_UserCreate","pointer":"/paths/~1user~1{user_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/user/{user_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/user/{user_id}/","href":"esper_cloud_api_user-(deprecated)/updateuser","openApiOperationId":"updateUser","summary":"Update a User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UserCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated User","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1{user_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user-(deprecated)/updateuser"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/user/{user_id}/"},{"label":"Partial update a User","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user-(deprecated)/partialupdateuser","routeSlug":"/openapi/esper_cloud_api_user-(deprecated)/partialupdateuser","metadata":{"seo":{"title":"Partial update a User","description":"Partial update a User"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialUpdateUser","name":"Partial update a User","isWebhook":false,"pointer":"/paths/~1user~1{user_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partial update a User","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Partial update a User"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_325","description":"User ID","required":true}],"pointer":"/paths/~1user~1{user_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserUpdate"}},"schemaId":"components/schemas/esper_cloud_api_UserUpdate","pointer":"/paths/~1user~1{user_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/user/{user_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserUpdate"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/user/{user_id}/","href":"esper_cloud_api_user-(deprecated)/partialupdateuser","openApiOperationId":"partialUpdateUser","summary":"Partial update a User"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UserUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Partial updated User","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1{user_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user-(deprecated)/partialupdateuser"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/user/{user_id}/"},{"label":"Delete a user","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user-(deprecated)/userdelete","routeSlug":"/openapi/esper_cloud_api_user-(deprecated)/userdelete","metadata":{"seo":{"title":"Delete a user","description":"Delete a user"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"userDelete","name":"Delete a user","isWebhook":false,"pointer":"/paths/~1user~1{user_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a user","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_325","description":"User ID","required":true}],"pointer":"/paths/~1user~1{user_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/user/{user_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","403","404","500"],"pointer":"/user/{user_id}/","href":"esper_cloud_api_user-(deprecated)/userdelete","openApiOperationId":"userDelete","summary":"Delete a user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted User"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1{user_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user-(deprecated)/userdelete"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/user/{user_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_User (Deprecated)"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"User (Deprecated)","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following APIs will soon be deprecated. Please transition to the User APIs."},"children":[]}]}]}]},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12656615814929","description":"Find out more about User management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/user/","summary":"Create a new User","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_user-(deprecated)/createuser","deprecated":false},{"title":"/user/{user_id}/","summary":"Update a User","prefix":{"name":"put","color":"put"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_user-(deprecated)/updateuser","deprecated":false},{"title":"/user/{user_id}/","summary":"Partial update a User","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_user-(deprecated)/partialupdateuser","deprecated":false},{"title":"/user/{user_id}/","summary":"Delete a user","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_user-(deprecated)/userdelete","deprecated":false}]}]}]}]}},{"type":"group","label":"User","link":"/openapi/esper_cloud_api_user","routeSlug":"/openapi/esper_cloud_api_user","items":[{"label":"User information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/userinfo","routeSlug":"/openapi/esper_cloud_api_user/userinfo","metadata":{"seo":{"title":"User information","description":"Retrieves the profile and account details of the authenticated user associated with the current API key."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"userInfo","name":"User information","isWebhook":false,"pointer":"/paths/~1user_info~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"User information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the profile and account details of the authenticated user associated with the current API key."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to confirm which user identity is bound to your API credentials — useful for debugging access issues, verifying role assignments, or bootstrapping workflows that need to know the acting user's context before proceeding."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get User Info"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every Esper API key is tied to a specific user account within a tenant. This endpoint surfaces that user's full profile, including their role, group memberships, EMM linkage, and account status. It requires no path parameters — the response is scoped entirely to the authenticated caller. This is the canonical way to confirm \"who am I?\" in the Esper API context."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"username — the login identifier for this user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.role — the user's assigned role (e.g., Enterprise Admin, Viewer, Group Admin)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.enterprise — the enterprise UUID this user belongs to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"emm — linked EMM account details, if applicable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — whether this user account is currently enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_login — timestamp of the most recent authenticated session"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming which user identity is in use before executing sensitive operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the caller's enterprise ID for use in subsequent API calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing role assignments for an API key owner"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint at the start of integrations to validate API key identity and capture the enterprise ID, rather than hardcoding it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check is_active to ensure the account hasn't been deactivated before proceeding with bulk operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use profile.role to conditionally adapt your integration's behavior based on permission level"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Authenticate with your API key"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user_info/ to retrieve the caller's identity, enterprise ID, and role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store profile.enterprise for use as enterprise_id in downstream API calls"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user_info/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/user_info/","href":"esper_cloud_api_user/userinfo","openApiOperationId":"userInfo","summary":"User information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User Info","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user_info~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/userinfo"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/user_info/"},{"label":"Invite a user","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/tenantuserinvite","routeSlug":"/openapi/esper_cloud_api_user/tenantuserinvite","metadata":{"seo":{"title":"Invite a user","description":"Sends an invitation email to a new user, provisioning their role and group access within the specified tenant before they have an Esper account."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"tenantUserInvite","name":"Invite a user","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Invite a user","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sends an invitation email to a new user, provisioning their role and group access within the specified tenant before they have an Esper account."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to onboard new team members to an Esper enterprise programmatically — the invite flow handles identity provider registration via the connection_id and assigns the user's role and group scope in a single step."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Invite a User"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's invite system separates access provisioning from account creation. When you call this endpoint, Esper generates an invitation record in the tenant and can optionally trigger an invitation email via the identity provider. The invited user receives a link to complete registration; upon acceptance, their account is created with the role and group access defined in the meta.profile block. This is the recommended way to add users to a tenant in preference to direct user creation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"email — (required) the email address of the person being invited"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.profile.role — (required) the role to assign: Enterprise Admin, Viewer, Group Admin, Group Viewer, or AuthZ Role User. Use AuthZ Role User when assigning a custom RBAC role defined in Esper's authorization service — this role type enables fine-grained scope control tied to a specific authz_role_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.profile.enterprise — (required) the tenant UUID; must match enterprise_id in the path"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.profile.groups — list of group UUIDs to scope access; required for Group Admin and Group Viewer roles"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.profile.authz_role_id — UUID of the custom RBAC role to assign; required when role is AuthZ Role User. This binds the user to a specific scope set managed by Esper's AuthZ service, allowing more granular access control than the built-in fixed roles"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"connection_id — the identity provider connection to use for the invite flow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"invitation_url — returned in the response; the link the user follows to complete registration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Onboarding a new IT admin or support engineer to a tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Granting a new Group Admin scoped access to a specific device group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automating user provisioning workflows where users are invited in bulk from an HR or directory system"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always set meta.profile.groups when the role is Group Admin or Group Viewer — the invite will be created but access will be undefined without it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validate that meta.profile.enterprise matches the enterprise_id path parameter before submitting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned id (invite ID) immediately; you will need it to cancel the invite via DELETE /authn2/v0/tenant/{enterprise_id}/invite/{invite_id} if the user shouldn't have been invited"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v0/tenant/{enterprise_id}/invite to check whether a pending invite for an email already exists before re-sending"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determine the new user's email, intended role, and group scope"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to this endpoint with the meta.profile block fully populated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned invite id for auditing or future cancellation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The user receives an email and follows the invitation_url to complete account creation"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteRequest"}},"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteRequest","pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/authn2/v0/tenant/{enterprise_id}/invite","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteRequest"}},"responseCodes":["201","400","401"],"pointer":"/authn2/v0/tenant/{enterprise_id}/invite","href":"esper_cloud_api_user/tenantuserinvite","openApiOperationId":"tenantUserInvite","summary":"Invite a user"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Invite sent to user","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse"}},"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse"},{"code":"400","description":"tenant user invite create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/tenantuserinvite"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/invite"},{"label":"List user invites","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/gettenantuserinvites","routeSlug":"/openapi/esper_cloud_api_user/gettenantuserinvites","metadata":{"seo":{"title":"List user invites","description":"Returns all pending user invitations for the specified tenant, including each invite's status, metadata, and assigned role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTenantUserInvites","name":"List user invites","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List user invites","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all pending user invitations for the specified tenant, including each invite's status, metadata, and assigned role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit outstanding invitations, detect stale or duplicate invites, or build an admin UI that surfaces which users have been invited but have not yet completed registration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List User Invites"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a user is invited via POST /authn2/v0/tenant/{enterprise_id}/invite, an invite record is created and persists until the user accepts it or it is explicitly deleted. This endpoint returns the full list of those records for the tenant, including the role and group assignments encoded in the meta field, the associated identity provider invite ID (idp_invite_id), and timestamps. The response structure wraps results in a userinvites array alongside a count field."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the Esper invite UUID; use this with the DELETE endpoint to cancel an invite"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"email — the email address the invite was sent to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta — the role and group assignment payload set at invite creation time, including any custom RBAC role binding"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"idp_invite_id — the identity provider's reference ID for this invite"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"send_invitation_email — whether an email was triggered for this invite"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — timestamps for tracking invite age"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which users have pending (unaccepted) invitations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying and cleaning up stale invites before re-inviting a user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building an admin console view of the invite queue"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference email values against your user directory to identify invites sent to addresses that have since changed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use created_at to flag invites that have been pending longer than your organization's acceptable window, then cancel and re-invite as needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check this endpoint before calling POST .../invite to avoid duplicate invitations to the same email"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v0/tenant/{enterprise_id}/invite to retrieve all pending invites"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the userinvites array for emails, roles, and invite age"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For any stale or incorrect invites, note the id and call DELETE /authn2/v0/tenant/{enterprise_id}/invite/{invite_id} to cancel"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authn2/v0/tenant/{enterprise_id}/invite","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["201","400","401"],"pointer":"/authn2/v0/tenant/{enterprise_id}/invite","href":"esper_cloud_api_user/gettenantuserinvites","openApiOperationId":"getTenantUserInvites","summary":"List user invites"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Tenant user invites","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_377"}},"schemaId":"schema_377"},{"code":"400","description":"List tenant user invites error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_377","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_377"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/gettenantuserinvites"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/invite"},{"label":"Delete a invite","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/deletetenantuserinvite","routeSlug":"/openapi/esper_cloud_api_user/deletetenantuserinvite","metadata":{"seo":{"title":"Delete a invite","description":"Cancels and removes a specific pending user invitation from the tenant, preventing the invited user from completing registration with that invite link."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTenantUserInvite","name":"Delete a invite","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite~1{invite_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a invite","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancels and removes a specific pending user invitation from the tenant, preventing the invited user from completing registration with that invite link."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint when an invitation was sent in error, the intended recipient's role or email has changed, or the invite has expired and needs to be reissued."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete a User Invite"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Invite records in Esper remain active until the user accepts them or they are explicitly deleted. User invitations are valid for seven days — after that window, the invite link expires and the user must be re-invited. Deleting an invite does not remove or affect any existing user account — it only invalidates the pending invite record and its associated identity provider invitation. Once deleted, the invitation_url from the original invite will no longer be valid. Returns HTTP 204 on success with no response body."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id — the UUID of the tenant the invite belongs to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"invite_id — the UUID of the invite record to cancel, obtained from POST /authn2/v0/tenant/{enterprise_id}/invite (create response) or GET /authn2/v0/tenant/{enterprise_id}/invite (list)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Revoking an invitation sent to the wrong email address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Clearing expired or stale invites before re-issuing a fresh invitation with updated role or group assignments"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up the invite queue as part of periodic tenant access audits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always retrieve the invite_id from the list endpoint (GET .../invite) rather than storing it externally, to ensure you're targeting the correct and current record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use created_at from the list response to identify invites approaching or past the 7-day expiry window — delete and re-invite rather than waiting for the user to report a broken link"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After deletion, re-invite the user immediately if access is still intended — the previous invitation_url is no longer valid"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the re-invite requires a different role, including switching to or from AuthZ Role User, prepare the correct authz_role_id before calling the invite endpoint again"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm deletion success via the 204 response before notifying stakeholders that the invite has been revoked"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v0/tenant/{enterprise_id}/invite to identify the target invite and retrieve its id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /authn2/v0/tenant/{enterprise_id}/invite/{invite_id} with the correct invite_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the 204 response indicating successful deletion"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-invite the user via POST /authn2/v0/tenant/{enterprise_id}/invite if access is still required"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"invite_id","in":"path","schemaId":"schema_322","description":"Invite ID","required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite~1{invite_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/authn2/v0/tenant/{enterprise_id}/invite/{invite_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"invite_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401"],"pointer":"/authn2/v0/tenant/{enterprise_id}/invite/{invite_id}","href":"esper_cloud_api_user/deletetenantuserinvite","openApiOperationId":"deleteTenantUserInvite","summary":"Delete a invite"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted tenant user invite"},{"code":"400","description":"Tenant user invite delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1invite~1{invite_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/deletetenantuserinvite"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/invite/{invite_id}"},{"label":"Get Users","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/getusers","routeSlug":"/openapi/esper_cloud_api_user/getusers","metadata":{"seo":{"title":"Get Users","description":"Returns a paginated list of all users in the tenant, including their profile details, role assignments, and account status."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUsers","name":"Get Users","isWebhook":false,"pointer":"/paths/~1user~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Users","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all users in the tenant, including their profile details, role assignments, and account status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to enumerate current tenant members, audit role distributions, or build user-management tooling on top of the Esper platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Users"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint retrieves the full set of user records within the authenticated enterprise, returning each user's name, email, role, group memberships, active status, and EMM linkage. Results are paginated with count, next, and previous fields for traversal. Note that POST /user/ (user creation at this same path) is tagged User (Deprecated) — for adding new users, use the invite flow via POST /authn2/v0/tenant/{enterprise_id}/invite instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — integer ID for the user record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"username — the user's login identifier"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"email — the user's email address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.role — assigned role within the enterprise (Enterprise Admin, Viewer, Group Admin, Group Viewer, or AuthZ Role User for custom RBAC assignments)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.groups — group UUIDs the user has access to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — whether the account is currently enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_login — most recent authenticated session timestamp"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_emm — whether the user has an associated EMM account"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all users and their role assignments across a tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying inactive accounts (is_active: false) for deprovisioning"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Mapping user IDs to usernames for use in other API calls (e.g., event logs, audit records)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint for read-only enumeration; use the invite endpoint (POST /authn2/v0/tenant/{enterprise_id}/invite) to add new users rather than the deprecated POST /user/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate through next links when the tenant has a large number of users rather than assuming all users appear in the first response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For users with profile.role of AuthZ Role User, their effective permissions are governed by their custom RBAC scope rather than the fixed role set — account for this when building access audits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user/ to retrieve the first page of tenant users"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Follow the next URL in the response until next is null to retrieve all users"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect each user's profile.role, is_active, and last_login for access auditing or downstream processing"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/user/","href":"esper_cloud_api_user/getusers","openApiOperationId":"getUsers","summary":"Get Users"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Users List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_378"}},"schemaId":"schema_378"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_378","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_378"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/getusers"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/user/"},{"label":"Get User Information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/getuser","routeSlug":"/openapi/esper_cloud_api_user/getuser","metadata":{"seo":{"title":"Get User Information","description":"Retrieves the full profile and account details for a specific user by their integer user ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUser","name":"Get User Information","isWebhook":false,"pointer":"/paths/~1user~1{user_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get User Information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full profile and account details for a specific user by their integer user ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to look up an individual tenant member's role, group assignments, account status, and EMM linkage without fetching the full user list."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get User Information"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns a single user record from the authenticated enterprise, identified by their integer user_id. The response uses the same User schema returned by GET /user/, covering identity, role, group memberships, active status, and EMM association. Note that other methods at this path — PUT, PATCH, and DELETE — are tagged User (Deprecated); for updating a user's role use PUT /authz2/v1/users/{user_id}, and for removing a user use DELETE /authn2/v0/tenant/{enterprise_id}/user/{user_id}/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the integer user ID (matches the path parameter)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"username — the user's login identifier"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"email — the user's email address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.role — assigned role within the enterprise (Enterprise Admin, Viewer, Group Admin, Group Viewer, or AuthZ Role User for custom RBAC assignments)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile.groups — group UUIDs the user has access to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — whether the account is currently enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_login — most recent authenticated session timestamp"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_emm — whether the user has an associated EMM account"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_email_verified — whether the user has completed email verification"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a specific user's role and group scope before modifying their access"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying account status (is_active, is_email_verified) for a user who is reporting access problems"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving a user's EMM linkage details for troubleshooting enrollment issues"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain user_id from GET /user/ — it is an integer, distinct from the UUID-format authn_user_id used by other endpoints such as DELETE /authn2/v0/tenant/{enterprise_id}/user/{user_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For users with profile.role of AuthZ Role User, their effective permissions are governed by their custom RBAC scope — check their role assignment via GET /authz2/v1/users/{user_id}/groups for a complete picture of their access"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /user_info/ instead if you need details about the currently authenticated caller rather than a specific user by ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user/ to enumerate tenant users and identify the target user's integer id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user/{user_id}/ with that id to retrieve the full user record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect profile.role, is_active, and is_email_verified for the information needed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_325","description":"User ID","required":true}],"pointer":"/paths/~1user~1{user_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/user/{user_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/user/{user_id}/","href":"esper_cloud_api_user/getuser","openApiOperationId":"getUser","summary":"Get User Information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User Details","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"401","description":"Authorization information is missing or invalid","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1user~1{user_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/getuser"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/user/{user_id}/"},{"label":"Update user role","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/updatedifferentuser","routeSlug":"/openapi/esper_cloud_api_user/updatedifferentuser","metadata":{"seo":{"title":"Update user role","description":"Updates the role, group assignments, and access scope for a specific user within the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateDifferentUser","name":"Update user role","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1users~1{user_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update user role","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the role, group assignments, and access scope for a specific user within the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint when a user's responsibilities change and their permissions need to be adjusted — including switching between fixed roles, scoping group access, or assigning a custom RBAC role via AuthZ Role User."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update User Role"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the current, supported endpoint for modifying another user's role and access within Esper. It operates on the authn_user_id (UUID format), which is distinct from the integer id returned by GET /user/ — use GET /authn2/v1/users/ to retrieve the correct UUID. The request replaces the user's current role and group assignment in full; partial updates are not supported. Returns the updated User object on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role — (required) the role to assign: Enterprise Admin, Viewer, Group Admin, Group Viewer, or AuthZ Role User"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"groups — (required) list of group UUIDs to scope access; can be empty if has_all_group_access is true or the role does not require group scoping"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"authz_role_id — UUID of the custom RBAC role; required when role is AuthZ Role User"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_all_group_access — set to true to grant access to all groups; required only for AuthZ Role User role type"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"can_factory_reset — whether the user should be permitted to factory reset devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Promoting a Viewer to Enterprise Admin after a role change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scoping a user to specific device groups by switching them to Group Admin or Group Viewer"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assigning a custom RBAC role for fine-grained permission control"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Revoking broad access by narrowing a user's group list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v1/users/ to retrieve the user's UUID (authn_user_id) before calling this endpoint — the integer id from GET /user/ will not work here"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When setting role to AuthZ Role User, always provide both authz_role_id and either a populated groups list or has_all_group_access: true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat this as a full replacement of the user's role record — always include all intended group assignments in a single call rather than assuming previous values are preserved"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v1/users/ to retrieve the target user's UUID (authn_user_id)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determine the new role, group scope, and any custom RBAC role ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to this endpoint with the fully populated request body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the updated role and group assignments in the returned User object"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AuthN User Id. The authn_user_id from the Get Users response."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1authz2~1v1~1users~1{user_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest"}},"schemaId":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest","pointer":"/paths/~1authz2~1v1~1users~1{user_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/authz2/v1/users/{user_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/authz2/v1/users/{user_id}","href":"esper_cloud_api_user/updatedifferentuser","openApiOperationId":"updateDifferentUser","summary":"Update user role"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User Updated Successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1users~1{user_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/updatedifferentuser"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/users/{user_id}"},{"label":"Update user profile","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/updateownuser","routeSlug":"/openapi/esper_cloud_api_user/updateownuser","metadata":{"seo":{"title":"Update user profile","description":"Updates the authenticated user's own profile details."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateOwnUser","name":"Update user profile","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1user~1{user_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update user profile","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the authenticated user's own profile details."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint when the currently authenticated user needs to update their own display name. This endpoint is scoped to self-service profile edits only and cannot be used to modify another user's account or change role and group assignments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update User Profile"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint allows a user to update their own profile via the authn2 identity service. The request body accepts only first_name — role changes, group reassignments, and other administrative updates must be performed by an Enterprise Admin via PUT /authz2/v1/users/{user_id}. The user_id parameter expects the UUID-format authn_user_id, not the integer id from GET /user/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"first_name — (required) the updated first name for the authenticated user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Allowing a user to correct or update their display name after account creation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /user_info/ to confirm the current user's authn_user_id before calling this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For role or group changes, use PUT /authz2/v1/users/{user_id} — this endpoint cannot modify access permissions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user_info/ to retrieve the authenticated user's authn_user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to this endpoint with the updated first_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the change in the returned User object"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"user_id","in":"path","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AuthN User Id. The authn_user_id from the Get Users response."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1authn2~1v0~1user~1{user_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateOwnUserRequest"}},"schemaId":"components/schemas/esper_cloud_api_UpdateOwnUserRequest","pointer":"/paths/~1authn2~1v0~1user~1{user_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/authn2/v0/user/{user_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"user_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateOwnUserRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/authn2/v0/user/{user_id}","href":"esper_cloud_api_user/updateownuser","openApiOperationId":"updateOwnUser","summary":"Update user profile"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateOwnUserRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateOwnUserRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User Updated Successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}},"schemaId":"components/schemas/esper_cloud_api_User"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1user~1{user_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_User","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_User"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/updateownuser"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/user/{user_id}"},{"label":"Get user groups","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/getusergroups","routeSlug":"/openapi/esper_cloud_api_user/getusergroups","metadata":{"seo":{"title":"Get user groups","description":"Returns the device groups a specific user has access to, based on their role and group assignments."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getUserGroups","name":"Get user groups","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1users~1{user_id}~1groups/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get user groups","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the device groups a specific user has access to, based on their role and group assignments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit a user's group-level access scope, or to determine which subgroups they can reach before assigning device commands or bulk operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get User Groups"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint retrieves the group membership for a given user from Esper's authorization service, returning a list of group UUIDs and a flag indicating whether the user has access to all groups in the tenant. The user_id parameter expects the UUID-format authn_user_id. The optional sub_groups query parameter expands the response to include subgroups the user can reach through their group assignments, since users with access to a parent group automatically have access to its subgroups."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"user_id — the UUID-format authn_user_id of the target user; obtain from GET /authn2/v1/users/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sub_groups — (query param, boolean) set to true to include subgroup access in the response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_ids — returned array of group UUIDs the user has access to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"has_all_group_access — if true, the user has access to all tenant groups regardless of the group_ids list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which device groups a user can manage before issuing group-level commands"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying group scope for AuthZ Role User accounts where access is controlled by a custom RBAC role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming subgroup access inheritance when planning nested group structures"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v1/users/ to retrieve the target user's authn_user_id (UUID) before calling this endpoint — the integer id from GET /user/ will not work"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always call with sub_groups=true when you need a complete picture of a user's reachable device scope, not just their directly assigned groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If has_all_group_access is true, the group_ids list is not the full scope — the user can access every group in the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v1/users/ to retrieve the target user's authn_user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/users/{user_id}/groups with sub_groups=true if subgroup access is relevant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect group_ids and has_all_group_access to determine the user's full device group scope"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"user_id","in":"path","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AuthN User Id. The authn_user_id from the Get Users response."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1authz2~1v1~1users~1{user_id}~1groups/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"sub_groups","in":"query","schemaId":"schema_324","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set to true to get a list of the user’s subgroup access. Users have access to their group’s subgroups."},"children":[]}]}]}]}],"pointer":"/paths/~1authz2~1v1~1users~1{user_id}~1groups/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authz2/v1/users/{user_id}/groups","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"user_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"sub_groups","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","403"],"pointer":"/authz2/v1/users/{user_id}/groups","href":"esper_cloud_api_user/getusergroups","openApiOperationId":"getUserGroups","summary":"Get user groups"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"User Groups","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserGroups"}},"schemaId":"components/schemas/esper_cloud_api_UserGroups"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1users~1{user_id}~1groups/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_UserGroups","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UserGroups"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/getusergroups"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/users/{user_id}/groups"},{"label":"Delete a user from Enterprise","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/deletetenantuser","routeSlug":"/openapi/esper_cloud_api_user/deletetenantuser","metadata":{"seo":{"title":"Delete a user from Enterprise","description":"Removes a specific user from the tenant, revoking their access to all Esper resources within that enterprise."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTenantUser","name":"Delete a user from Enterprise","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1user~1{user_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a user from Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removes a specific user from the tenant, revoking their access to all Esper resources within that enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to deprovision a user when they leave the organization, change roles outside the tenant, or have their access revoked as part of an access audit."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete a User from Enterprise"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the current, supported endpoint for removing a user from an Esper tenant. It operates on the authn_user_id (UUID format) rather than the integer id — use GET /authn2/v1/users/ to retrieve the correct identifier. Deletion is immediate and permanent; the user will lose all access to the enterprise upon removal. Returns HTTP 204 on success with no response body. This endpoint replaces the deprecated DELETE /user/{user_id}/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise_id — the UUID of the tenant to remove the user from"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"user_id — the UUID-format authn_user_id of the user to remove; obtain from GET /authn2/v1/users/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offboarding a team member who has left the organization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing a user whose access was granted in error"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up inactive or unverified accounts as part of a periodic access audit"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v1/users/ to confirm the correct authn_user_id before calling — deleting the wrong user is not reversible"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the user has no active device operations or pending commands in flight before removing them"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the user should retain access in a reduced capacity rather than being fully removed, use PUT /authz2/v1/users/{user_id} to downgrade their role instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v1/users/ to retrieve the target user's authn_user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /authn2/v0/tenant/{enterprise_id}/user/{user_id}/ with the correct UUIDs"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the 204 response indicating successful removal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If re-access is needed in future, re-invite the user via POST /authn2/v0/tenant/{enterprise_id}/invite"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"user_id","in":"path","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"AuthN User Id. The authn_user_id from the Get Users response."},"children":[]}]}]}],"required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1user~1{user_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/authn2/v0/tenant/{enterprise_id}/user/{user_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"user_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401"],"pointer":"/authn2/v0/tenant/{enterprise_id}/user/{user_id}/","href":"esper_cloud_api_user/deletetenantuser","openApiOperationId":"deleteTenantUser","summary":"Delete a user from Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted enterprise user"},{"code":"400","description":"Enterprise user delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1user~1{user_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/deletetenantuser"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/user/{user_id}/"},{"label":"Get Users details","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_user/paths/~1authn2~1v1~1users~1/get","routeSlug":"/openapi/esper_cloud_api_user/paths/~1authn2~1v1~1users~1/get","metadata":{"seo":{"title":"Get Users details","description":"Retrieves the list of users belonging to the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get Users details","isWebhook":false,"pointer":"/paths/~1authn2~1v1~1users~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Users details","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the list of users belonging to the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each user's UsersListResponse record, including their UUID-format user_id, email, name, and the connection they authenticated through. Optionally filter by a legacy integer user ID for cross-referencing against older user records."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Users"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the current, supported endpoint for listing users in a tenant, and it returns the UUID-format identifier (user_id) needed for other user-management endpoints such as Update User Role, which requires an authn_user_id in UUID format. This UUID is distinct from the integer id returned by the older GET /user/ endpoint; use this endpoint whenever a downstream call requires the UUID form."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"legacy_user_id — an optional integer filter for cross-referencing against the older, integer-based user id from GET /user/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving a user's UUID before calling Update User Role or another endpoint that requires authn_user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the full list of users in a tenant along with their email and connection"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-referencing a legacy integer user id against its corresponding UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always retrieve the UUID form of a user's id from this endpoint before calling endpoints that require authn_user_id, rather than assuming the integer id from GET /user/ will work"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use legacy_user_id when migrating scripts that were written against the older integer-based user id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to list users, optionally filtering by legacy_user_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the user_id (UUID) for the target user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use that UUID in downstream calls such as Update User Role"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint allows to fetch user list of a tenant"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"legacy_user_id","in":"query","schemaId":"schema_325","description":"Legacy User ID"}],"pointer":"/paths/~1authn2~1v1~1users~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authn2/v1/users/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"legacy_user_id","in":"query","required":false,"schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401"],"pointer":"/authn2/v1/users/","href":"esper_cloud_api_user/paths/~1authn2~1v1~1users~1/get","summary":"Get Users details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Users fetched successfully.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UsersListResponse"}},"schemaId":"components/schemas/esper_cloud_api_UsersListResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v1~1users~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_UsersListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UsersListResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_user/paths/~1authn2~1v1~1users~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v1/users/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_User"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"User","showPageActions":true},{"nodeType":"markdoc","content":"APIs for User Management"},{"nodeType":"external-docs","url":"https://help.esper.io/hc/en-us/articles/12656615814929","description":"Find out more about User management"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/user_info/","summary":"User information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/userinfo","deprecated":false},{"title":"/authn2/v0/tenant/{enterprise_id}/invite","summary":"Invite a user","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/tenantuserinvite","deprecated":false},{"title":"/authn2/v0/tenant/{enterprise_id}/invite","summary":"List user invites","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/gettenantuserinvites","deprecated":false},{"title":"/authn2/v0/tenant/{enterprise_id}/invite/{invite_id}","summary":"Delete a invite","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/deletetenantuserinvite","deprecated":false},{"title":"/user/","summary":"Get Users","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/getusers","deprecated":false},{"title":"/user/{user_id}/","summary":"Get User Information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/getuser","deprecated":false},{"title":"/authz2/v1/users/{user_id}","summary":"Update user role","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/updatedifferentuser","deprecated":false},{"title":"/authn2/v0/user/{user_id}","summary":"Update user profile","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/updateownuser","deprecated":false},{"title":"/authz2/v1/users/{user_id}/groups","summary":"Get user groups","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/getusergroups","deprecated":false},{"title":"/authn2/v0/tenant/{enterprise_id}/user/{user_id}/","summary":"Delete a user from Enterprise","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/deletetenantuser","deprecated":false},{"title":"/authn2/v1/users/","summary":"Get Users details","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_user/paths/~1authn2~1v1~1users~1/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Blueprint (Deprecated)","link":"/openapi/esper_cloud_api_blueprint-(deprecated)","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)","items":[{"label":"Get list of Blueprints for the group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/listblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/listblueprint","metadata":{"seo":{"title":"Get list of Blueprints for the group","description":"Return list of Blueprint instances for the group."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listBlueprint","name":"Get list of Blueprints for the group","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of Blueprints for the group","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Return list of Blueprint instances for the group."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","href":"esper_cloud_api_blueprint-(deprecated)/listblueprint","openApiOperationId":"listBlueprint","summary":"Get list of Blueprints for the group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint detail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_379"}},"schemaId":"schema_379"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_379","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_379"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/listblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/"},{"label":"Create a Blueprint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/createblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/createblueprint","metadata":{"seo":{"title":"Create a Blueprint","description":"Returns the created Blueprint instance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createBlueprint","name":"Create a Blueprint","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Blueprint","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the created Blueprint instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/post/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"responseCodes":["201","400","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","href":"esper_cloud_api_blueprint-(deprecated)/createblueprint","openApiOperationId":"createBlueprint","summary":"Create a Blueprint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint"},{"code":"400","description":"Blueprint create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Blueprint create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/createblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/"},{"label":"Get Blueprint detail","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/getblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/getblueprint","metadata":{"seo":{"title":"Get Blueprint detail","description":"Returns the details of a Blueprint instance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBlueprint","name":"Get Blueprint detail","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Blueprint detail","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the details of a Blueprint instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true},{"name":"blueprint_id","in":"path","schemaId":"schema_322","description":"Blueprint ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","href":"esper_cloud_api_blueprint-(deprecated)/getblueprint","openApiOperationId":"getBlueprint","summary":"Get Blueprint detail"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint detail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/getblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/"},{"label":"Partial update a Blueprint","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/partialupdateblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/partialupdateblueprint","metadata":{"seo":{"title":"Partial update a Blueprint","description":"Returns the details of the updated Blueprint instance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"partialUpdateBlueprint","name":"Partial update a Blueprint","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partial update a Blueprint","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the details of the updated Blueprint instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true},{"name":"blueprint_id","in":"path","schemaId":"schema_322","description":"Blueprint ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"responseCodes":["200","400","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","href":"esper_cloud_api_blueprint-(deprecated)/partialupdateblueprint","openApiOperationId":"partialUpdateBlueprint","summary":"Partial update a Blueprint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Partially updated Blueprint","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint"},{"code":"400","description":"Blueprint update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Blueprint update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/partialupdateblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/"},{"label":"Delete a Blueprint","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/deleteblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/deleteblueprint","metadata":{"seo":{"title":"Delete a Blueprint","description":"Deletes the requested Blueprint instance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteBlueprint","name":"Delete a Blueprint","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Blueprint","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes the requested Blueprint instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true},{"name":"blueprint_id","in":"path","schemaId":"schema_322","description":"Blueprint ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/delete/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","href":"esper_cloud_api_blueprint-(deprecated)/deleteblueprint","openApiOperationId":"deleteBlueprint","summary":"Delete a Blueprint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted Blueprint"},{"code":"401","description":"Blueprint delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/deleteblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/"},{"label":"Get list of Blueprint Revisions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/listblueprintrevisions","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/listblueprintrevisions","metadata":{"seo":{"title":"Get list of Blueprint Revisions","description":"Returns a list of Blueprint Revisions instances for the given Blueprint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listBlueprintRevisions","name":"Get list of Blueprint Revisions","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of Blueprint Revisions","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a list of Blueprint Revisions instances for the given Blueprint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true},{"name":"blueprint_id","in":"path","schemaId":"schema_322","description":"Blueprint ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/","href":"esper_cloud_api_blueprint-(deprecated)/listblueprintrevisions","openApiOperationId":"listBlueprintRevisions","summary":"Get list of Blueprint Revisions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint revision list","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_380"}},"schemaId":"schema_380"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_380","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_380"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/listblueprintrevisions"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/"},{"label":"Get Blueprint Revision detail","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/getblueprintrevision","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/getblueprintrevision","metadata":{"seo":{"title":"Get Blueprint Revision detail","description":"Returns the detail of Blueprint Revision instance."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBlueprintRevision","name":"Get Blueprint Revision detail","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1{revision_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Blueprint Revision detail","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the detail of Blueprint Revision instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true},{"name":"blueprint_id","in":"path","schemaId":"schema_322","description":"Blueprint ID","required":true},{"name":"revision_id","in":"path","schemaId":"schema_322","description":"Blueprint Revision ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1{revision_id}~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1{revision_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/{revision_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"revision_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"without_details","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/{revision_id}/","href":"esper_cloud_api_blueprint-(deprecated)/getblueprintrevision","openApiOperationId":"getBlueprintRevision","summary":"Get Blueprint Revision detail"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint revision detail","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_BlueprintRevision"}},"schemaId":"components/schemas/esper_cloud_api_BlueprintRevision"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1{blueprint_id}~1revisions~1{revision_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_BlueprintRevision","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_BlueprintRevision"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/getblueprintrevision"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/{revision_id}/"},{"label":"Restore a Blueprint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/restoreblueprintrevision","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/restoreblueprintrevision","metadata":{"seo":{"title":"Restore a Blueprint","description":"Returns the Blueprint instance restored to the requested Blueprint Revision."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"restoreBlueprintRevision","name":"Restore a Blueprint","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1restore~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Restore a Blueprint","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the Blueprint instance restored to the requested Blueprint Revision."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1restore~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_381"}},"schemaId":"schema_381","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1restore~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/restore/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_381"}},"responseCodes":["201","400","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/restore/","href":"esper_cloud_api_blueprint-(deprecated)/restoreblueprintrevision","openApiOperationId":"restoreBlueprintRevision","summary":"Restore a Blueprint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_381","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_381"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Restored","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint"},{"code":"400","description":"Blueprint restore error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Blueprint restore error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1restore~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/restoreblueprintrevision"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/restore/"},{"label":"Upload a Blueprint","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_blueprint-(deprecated)/uploadblueprint","routeSlug":"/openapi/esper_cloud_api_blueprint-(deprecated)/uploadblueprint","metadata":{"seo":{"title":"Upload a Blueprint","description":"Create a Blueprint by uploading a json file."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"uploadBlueprint","name":"Upload a Blueprint","isWebhook":false,"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1upload~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload a Blueprint","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a Blueprint by uploading a json file."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" This endpoint will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"group_id","in":"path","schemaId":"schema_322","description":"Device Group ID","required":true}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1upload~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_382"}},"schemaId":"schema_382","pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1upload~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/upload/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"group_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_382"}},"responseCodes":["201","400","401"],"pointer":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/upload/","href":"esper_cloud_api_blueprint-(deprecated)/uploadblueprint","openApiOperationId":"uploadBlueprint","summary":"Upload a Blueprint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_382","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_382"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Uploaded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}},"schemaId":"components/schemas/esper_cloud_api_Blueprint"},{"code":"400","description":"Blueprint upload error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Blueprint upload error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1{enterprise_id}~1devicegroup~1{group_id}~1blueprint~1upload~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Blueprint","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Blueprint"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_blueprint-(deprecated)/uploadblueprint"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/upload/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Blueprint (Deprecated)"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Blueprint (Deprecated)","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the API for the former Blueprints service."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following APIs will soon be deprecated. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Blueprints-API"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" instead."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","summary":"Get list of Blueprints for the group","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/listblueprint","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/","summary":"Create a Blueprint","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/createblueprint","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","summary":"Get Blueprint detail","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/getblueprint","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","summary":"Partial update a Blueprint","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/partialupdateblueprint","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/","summary":"Delete a Blueprint","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/deleteblueprint","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/","summary":"Get list of Blueprint Revisions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/listblueprintrevisions","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/{blueprint_id}/revisions/{revision_id}/","summary":"Get Blueprint Revision detail","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/getblueprintrevision","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/restore/","summary":"Restore a Blueprint","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/restoreblueprintrevision","deprecated":false},{"title":"/enterprise/{enterprise_id}/devicegroup/{group_id}/blueprint/upload/","summary":"Upload a Blueprint","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_blueprint-(deprecated)/uploadblueprint","deprecated":false}]}]}]}]}},{"type":"group","label":"Directory Record","link":"/openapi/esper_cloud_api_directory-record","routeSlug":"/openapi/esper_cloud_api_directory-record","items":[{"label":"Get all Directory Records","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_directory-record/getdirectoryrecords","routeSlug":"/openapi/esper_cloud_api_directory-record/getdirectoryrecords","metadata":{"seo":{"title":"Get all Directory Records","description":"⚠️ Deprecation Notice: The following endpoint is deprecated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDirectoryRecords","name":"Get all Directory Records","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Directory Records","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following endpoint is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all Directory Record instances for an enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list (count/next/previous/results) of Directory Records, which are used for device registration and approval workflows before a device is fully onboarded."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Directory Records"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Directory Record represents a device that has been identified for onboarding via a unique identifier (IMEI, serial number, MEI, or MAC address) before or during enrollment, tracking its approval status as it moves toward being provisioned. Each record can be linked to a device group and carries its own online status, alias, and tags."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/directory_record/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/v1/enterprise/{enterprise_id}/directory_record/","href":"esper_cloud_api_directory-record/getdirectoryrecords","openApiOperationId":"getDirectoryRecords","summary":"Get all Directory Records"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Directory records","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_383"}},"schemaId":"schema_383"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_383","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_383"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_directory-record/getdirectoryrecords"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/enterprise/{enterprise_id}/directory_record/"},{"label":"Create a new Directory Record","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_directory-record/createdirectoryrecord","routeSlug":"/openapi/esper_cloud_api_directory-record/createdirectoryrecord","metadata":{"seo":{"title":"Create a new Directory Record","description":"⚠️ Deprecation Notice: The following endpoint is deprecated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createDirectoryRecord","name":"Create a new Directory Record","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new Directory Record","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following endpoint is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new Directory Record for an enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registers a device ahead of enrollment by submitting its unique identifiers, and returns the created Directory Record instance including its assigned approval status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Directory Records"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Directory Record represents a device identified for onboarding, typically before it has completed enrollment, and is used to drive device registration/approval workflows. Creating one associates one or more unique identifiers with an optional device group, alias, and tags."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordCreate"}},"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordCreate","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/directory_record/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordCreate"}},"responseCodes":["201","400","401"],"pointer":"/v1/enterprise/{enterprise_id}/directory_record/","href":"esper_cloud_api_directory-record/createdirectoryrecord","openApiOperationId":"createDirectoryRecord","summary":"Create a new Directory Record"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}},"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"},{"code":"400","description":"Directory record create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Directory record create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_DirectoryRecord","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_directory-record/createdirectoryrecord"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/enterprise/{enterprise_id}/directory_record/"},{"label":"Get details about a Directory Record","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_directory-record/getdirectoryrecord","routeSlug":"/openapi/esper_cloud_api_directory-record/getdirectoryrecord","metadata":{"seo":{"title":"Get details about a Directory Record","description":"⚠️ Deprecation Notice: The following endpoint is deprecated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDirectoryRecord","name":"Get details about a Directory Record","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get details about a Directory Record","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following endpoint is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Directory Record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full Directory Record instance for the given ID, including its approval status, unique identifiers, and linked device (if any)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Directory Records"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Directory Record represents a device tracked through the registration/approval workflow ahead of or during enrollment. Once approved and enrolled, the record's device_id field links it to the corresponding device."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"directory_record_id","in":"path","schemaId":"schema_322","description":"Directory record ID","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"directory_record_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","href":"esper_cloud_api_directory-record/getdirectoryrecord","openApiOperationId":"getDirectoryRecord","summary":"Get details about a Directory Record"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Directory record information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}},"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DirectoryRecord","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}}},{"code":"default","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_directory-record/getdirectoryrecord"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/"},{"label":"Update a Directory Record","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_directory-record/updatedirectoryrecord","routeSlug":"/openapi/esper_cloud_api_directory-record/updatedirectoryrecord","metadata":{"seo":{"title":"Update a Directory Record","description":"⚠️ Deprecation Notice: The following endpoint is deprecated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateDirectoryRecord","name":"Update a Directory Record","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Directory Record","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following endpoint is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates an existing Directory Record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replaces the editable fields (unique identifiers, group assignment, alias, tags) on a Directory Record and returns the updated instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Directory Records"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Directory Record tracks a device through the registration/approval workflow. Updating one is typically used to change its unique identifiers, reassign it to a different device group, or update its alias/tags — it does not directly change approval_status, which is system-managed."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"directory_record_id","in":"path","schemaId":"schema_322","description":"Directory record ID","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordUpdate"}},"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordUpdate","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"directory_record_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordUpdate"}},"responseCodes":["200","400","401"],"pointer":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","href":"esper_cloud_api_directory-record/updatedirectoryrecord","openApiOperationId":"updateDirectoryRecord","summary":"Update a Directory Record"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecordUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Directory Record Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}},"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"},{"code":"400","description":"Directory record update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Directory record update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DirectoryRecord","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DirectoryRecord"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_directory-record/updatedirectoryrecord"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/"},{"label":"Delete a Directory Record","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_directory-record/deletedirectoryrecord","routeSlug":"/openapi/esper_cloud_api_directory-record/deletedirectoryrecord","metadata":{"seo":{"title":"Delete a Directory Record","description":"⚠️ Deprecation Notice: The following endpoint is deprecated."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteDirectoryRecord","name":"Delete a Directory Record","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Directory Record","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deprecation Notice:"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" The following endpoint is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a specific Directory Record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the identified Directory Record from the enterprise; returns a 204 with no content on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Directory Records"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Directory Record tracks a device through the registration/approval process ahead of or during enrollment. Deleting one removes that pending or historical registration entry — it does not, by itself, delete an already-enrolled device."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"directory_record_id","in":"path","schemaId":"schema_322","description":"Directory record ID","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"directory_record_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401"],"pointer":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","href":"esper_cloud_api_directory-record/deletedirectoryrecord","openApiOperationId":"deleteDirectoryRecord","summary":"Delete a Directory Record"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted Directory Record"},{"code":"401","description":"Directory record delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1directory_record~1{directory_record_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_directory-record/deletedirectoryrecord"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Directory Record"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Directory Record","showPageActions":true},{"nodeType":"markdoc","content":"APIs for Directory Record management. These APIs are only available to the customers using the new Onboarding experience."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/directory_record/","summary":"Get all Directory Records","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_directory-record/getdirectoryrecords","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/directory_record/","summary":"Create a new Directory Record","prefix":{"name":"post","color":"post"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_directory-record/createdirectoryrecord","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","summary":"Get details about a Directory Record","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_directory-record/getdirectoryrecord","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","summary":"Update a Directory Record","prefix":{"name":"put","color":"put"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_directory-record/updatedirectoryrecord","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/directory_record/{directory_record_id}/","summary":"Delete a Directory Record","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/esper_cloud_api_directory-record/deletedirectoryrecord","deprecated":false}]}]}]}]}},{"type":"group","label":"Tile Icon","link":"/openapi/esper_cloud_api_tile-icon","routeSlug":"/openapi/esper_cloud_api_tile-icon","items":[{"label":"Get List of Device Tile Icons","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/gettileicons","routeSlug":"/openapi/esper_cloud_api_tile-icon/gettileicons","metadata":{"seo":{"title":"Get List of Device Tile Icons","description":"Returns list of tile icons"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTileIcons","name":"Get List of Device Tile Icons","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get List of Device Tile Icons","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns list of tile icons"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"Filter tile icons created after a given timestamp."},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"Filter tile icons created before a given timestamp."},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"Filter tile icons updated after a given timestamp."},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"Filter tile icons updated before a given timestamp."},{"name":"category","in":"query","schemaId":"schema_323","description":"Filter tile icons by category."},{"name":"device_model","in":"query","schemaId":"schema_323","description":"Filter tile icons by device model."},{"name":"custom","in":"query","schemaId":"schema_324","description":"Filter custom tile icons."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/tile-icons/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"category","in":"query","schemaId":"schema_323"},{"name":"device_model","in":"query","schemaId":"schema_323"},{"name":"custom","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icons/","href":"esper_cloud_api_tile-icon/gettileicons","openApiOperationId":"getTileIcons","summary":"Get List of Device Tile Icons"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_384"}},"schemaId":"schema_384"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_384","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_384"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/gettileicons"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icons/"},{"label":"Create a  tile icon","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/addtileicon","routeSlug":"/openapi/esper_cloud_api_tile-icon/addtileicon","metadata":{"seo":{"title":"Create a  tile icon","description":"Create a tile icon."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addTileIcon","name":"Create a  tile icon","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a  tile icon","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a tile icon."},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_385"}},"schemaId":"schema_385","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/tile-icons/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_385"}},"responseCodes":["201","400","401","403","415","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icons/","href":"esper_cloud_api_tile-icon/addtileicon","openApiOperationId":"addTileIcon","summary":"Create a  tile icon"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_385","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_385"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TileIcon"}},"schemaId":"components/schemas/esper_cloud_api_TileIcon"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"415","description":"Unsupported media type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_TileIcon","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TileIcon"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/addtileicon"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icons/"},{"label":"Get instance of a tile icon","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/gettileicon","routeSlug":"/openapi/esper_cloud_api_tile-icon/gettileicon","metadata":{"seo":{"title":"Get instance of a tile icon","description":"Get a tile icon."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTileIcon","name":"Get instance of a tile icon","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get instance of a tile icon","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Get a tile icon."},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"tileicons_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the tile icon.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"tileicons_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","href":"esper_cloud_api_tile-icon/gettileicon","openApiOperationId":"getTileIcon","summary":"Get instance of a tile icon"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TileIcon"}},"schemaId":"components/schemas/esper_cloud_api_TileIcon"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_TileIcon","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_TileIcon"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/gettileicon"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/"},{"label":"Delete a tile icon","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/deletetileicon","routeSlug":"/openapi/esper_cloud_api_tile-icon/deletetileicon","metadata":{"seo":{"title":"Delete a tile icon","description":"Deletes a title icon"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTileIcon","name":"Delete a tile icon","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a tile icon","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Deletes a title icon"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"tileicons_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the tile icon.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"tileicons_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","href":"esper_cloud_api_tile-icon/deletetileicon","openApiOperationId":"deleteTileIcon","summary":"Delete a tile icon"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icons~1{tileicons_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/deletetileicon"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/"},{"label":"Set a tile icon for a device","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/applytileicon","routeSlug":"/openapi/esper_cloud_api_tile-icon/applytileicon","metadata":{"seo":{"title":"Set a tile icon for a device","description":"Apply a tile icon to a device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"applyTileIcon","name":"Set a tile icon for a device","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-apply~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Set a tile icon for a device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Apply a tile icon to a device."},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-apply~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"}},"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-apply~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/tile-icon-apply/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"}},"responseCodes":["201","400","401","403","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icon-apply/","href":"esper_cloud_api_tile-icon/applytileicon","openApiOperationId":"applyTileIcon","summary":"Set a tile icon for a device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"}},"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-apply~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ApplyTileIcon"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/applytileicon"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icon-apply/"},{"label":"Removes tile icon for device","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_tile-icon/removetileicon","routeSlug":"/openapi/esper_cloud_api_tile-icon/removetileicon","metadata":{"seo":{"title":"Removes tile icon for device","description":"Returns the model of the device(s)"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"removeTileIcon","name":"Removes tile icon for device","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-unapply~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Removes tile icon for device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns the model of the device(s)"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-unapply~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_386"}},"schemaId":"schema_386","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-unapply~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/tile-icon-unapply/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_386"}},"responseCodes":["201","400","401","403","500"],"pointer":"/v1/enterprise/{enterprise_id}/tile-icon-unapply/","href":"esper_cloud_api_tile-icon/removetileicon","openApiOperationId":"removeTileIcon","summary":"Removes tile icon for device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_386","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_386"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_387"}},"schemaId":"schema_387"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1tile-icon-unapply~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_387","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_387"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_tile-icon/removetileicon"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/tile-icon-unapply/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Tile Icon"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Tile Icon","showPageActions":true},{"nodeType":"markdoc","content":"APIs to manage tile icons. Tile icons allow Templates-based users to apply a icons to devices."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/tile-icons/","summary":"Get List of Device Tile Icons","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/gettileicons","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/tile-icons/","summary":"Create a  tile icon","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/addtileicon","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","summary":"Get instance of a tile icon","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/gettileicon","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/tile-icons/{tileicons_id}/","summary":"Delete a tile icon","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/deletetileicon","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/tile-icon-apply/","summary":"Set a tile icon for a device","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/applytileicon","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/tile-icon-unapply/","summary":"Removes tile icon for device","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_tile-icon/removetileicon","deprecated":false}]}]}]}]}},{"type":"group","label":"Alerts","link":"/openapi/esper_cloud_api_alerts","routeSlug":"/openapi/esper_cloud_api_alerts","items":[{"label":"List alert channels in enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/listalertchannels","routeSlug":"/openapi/esper_cloud_api_alerts/listalertchannels","metadata":{"seo":{"title":"List alert channels in enterprise","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listAlertChannels","name":"List alert channels in enterprise","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List alert channels in enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all alert channels configured in the enterprise. Alert channels define the destinations where alert notifications are sent when alarm rules are triggered — currently supporting email as the delivery type. Use this endpoint to discover channel IDs for associating with alarm rules, or to audit existing notification destinations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving channel IDs to associate with new or existing alarm rules"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing notification destinations across the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying which alarm rules are linked to a given channel before updating or deleting it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check linked_alerts in the response before deleting a channel — removing a channel that is actively linked to alarm rules will affect those rules' notification delivery"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the name filter to quickly locate a specific channel without paginating through all results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that id is an integer, not a UUID — use it as-is in subsequent calls to GET, PUT, PATCH, or DELETE on /alertchannels/{alert_id}"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"name","in":"query","schemaId":"schema_323","description":"Filter alert channels by name."},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/alertchannels/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"name","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/","href":"esper_cloud_api_alerts/listalertchannels","openApiOperationId":"listAlertChannels","summary":"List alert channels in enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_388"}},"schemaId":"schema_388"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_388","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_388"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/listalertchannels"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/"},{"label":"Creates alert channel","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/createalertchannel","routeSlug":"/openapi/esper_cloud_api_alerts/createalertchannel","metadata":{"seo":{"title":"Creates alert channel","description":"Creates a new alert channel in the enterprise, defining a notification destination to be used when alarm rules are triggered. Alert channels are prerequisites for alarm rules — a channel must exist before it can be linked to any rule. Currently, email is the supported delivery type."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createAlertChannel","name":"Creates alert channel","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Creates alert channel","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new alert channel in the enterprise, defining a notification destination to be used when alarm rules are triggered. Alert channels are prerequisites for alarm rules — a channel must exist before it can be linked to any rule. Currently, email is the supported delivery type."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create an alert channel using this endpoint → receive a channel id in the response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use that id when creating or updating an alarm rule via POST /v1/enterprise/{enterprise_id}/alarmrules/ to link the channel as a notification destination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting up a new email destination for device or fleet alert notifications"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creating dedicated channels for different teams (e.g., a channel for ops, another for IT support) so alarm rules can target the appropriate recipients"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Programmatically provisioning notification infrastructure as part of an enterprise onboarding workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a descriptive name that makes the channel's purpose and recipient clear (e.g., \"IT Ops - Device Offline Alerts\") — this is how channels are identified in the Console and when auditing via GET /alertchannels/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the integer id from the 201 response — it is required for all subsequent operations on this channel and for linking it to alarm rules"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A channel can be linked to multiple alarm rules; create shared channels for common recipients rather than duplicating channels per rule"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/alertchannels/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"responseCodes":["201","400","401","403","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/","href":"esper_cloud_api_alerts/createalertchannel","openApiOperationId":"createAlertChannel","summary":"Creates alert channel"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/createalertchannel"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/"},{"label":"Get alert channel","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/getalertchannel","routeSlug":"/openapi/esper_cloud_api_alerts/getalertchannel","metadata":{"seo":{"title":"Get alert channel","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAlertChannel","name":"Get alert channel","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get alert channel","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the details of a single alert channel identified by its alert_id. Use this endpoint to retrieve the current configuration of a specific channel — including its delivery type, destination address, and any alarm rules it is linked to — before updating or deleting it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that alert_id is an integer, not a UUID. Use GET /v1/enterprise/{enterprise_id}/alertchannels/ to look up an alert_id if it is not already known."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — Integer identifier for the channel"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the channel"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type — Delivery format (e.g., email)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"properties.to_address — The email address notifications are sent to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"linked_alerts — Array of alarm rules currently using this channel"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on / updated_on — Timestamps for auditing purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving a channel's current configuration before issuing an update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking linked_alerts to understand which alarm rules depend on this channel before modifying or deleting it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a channel was created correctly after a POST /alertchannels/ call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always retrieve the current state of a channel before updating it to avoid overwriting fields unintentionally"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review linked_alerts before deletion — channels actively linked to alarm rules should be unlinked or replaced first to avoid disrupting alert delivery"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the alert_id is not known, use GET /alertchannels/ with the name filter to locate it"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alert_id","in":"path","schemaId":"schema_325","description":"An integer identifying the alert channel.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alert_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","href":"esper_cloud_api_alerts/getalertchannel","openApiOperationId":"getAlertChannel","summary":"Get alert channel"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/getalertchannel"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}"},{"label":"Update alert channel information","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/updatealertchannel","routeSlug":"/openapi/esper_cloud_api_alerts/updatealertchannel","metadata":{"seo":{"title":"Update alert channel information","description":"Fully updates an existing alert channel identified by its integer alert_id. All writable fields should be included in the request body — this is a full replacement operation, not a partial update. To change only one field without affecting others, use PATCH /v1/enterprise/{enterprise_id}/alertchannels/{alert_id} instead."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAlertChannel","name":"Update alert channel information","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update alert channel information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fully updates an existing alert channel identified by its integer alert_id. All writable fields should be included in the request body — this is a full replacement operation, not a partial update. To change only one field without affecting others, use PATCH /v1/enterprise/{enterprise_id}/alertchannels/{alert_id} instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the channel"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type — Delivery format (e.g., email)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"properties.to_address — The email address notifications are sent to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating the destination email address for a channel (e.g., when a team's distribution list changes)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a channel to better reflect its current purpose or recipients"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting a misconfigured channel after creation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the current channel state with GET /v1/enterprise/{enterprise_id}/alertchannels/{alert_id} before updating — since this is a full replacement, omitting fields may clear them unintentionally"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer PATCH over PUT when only a single field needs to change, to reduce the risk of accidental data loss"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that alert_id is an integer, not a UUID — use GET /alertchannels/ to look it up if needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating the destination address on a channel affects all alarm rules linked to it immediately — review linked_alerts on the channel before making changes that will affect notification routing"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true},{"name":"alert_id","in":"path","schemaId":"schema_325","description":"An integer identifying the alert channel.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"alert_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","href":"esper_cloud_api_alerts/updatealertchannel","openApiOperationId":"updateAlertChannel","summary":"Update alert channel information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/updatealertchannel"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}"},{"label":"Partially updates alert channel information","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/patchalertchannel","routeSlug":"/openapi/esper_cloud_api_alerts/patchalertchannel","metadata":{"seo":{"title":"Partially updates alert channel information","description":"Partially updates one or more fields of an existing alert channel identified by its integer alert_id. Only the fields included in the request body are modified — omitted fields retain their current values. Use this endpoint instead of PUT when making a targeted change to a single field without needing to resend the full channel object."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchAlertChannel","name":"Partially updates alert channel information","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially updates alert channel information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates one or more fields of an existing alert channel identified by its integer alert_id. Only the fields included in the request body are modified — omitted fields retain their current values. Use this endpoint instead of PUT when making a targeted change to a single field without needing to resend the full channel object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (all optional)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the channel"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type — Delivery format (e.g., email)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"properties.to_address — The email address notifications are sent to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating only the destination email address without affecting the channel name or type"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a channel without modifying its delivery configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Making a quick correction to a single field after creation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer this endpoint over PUT for single-field changes — it reduces payload size and eliminates the risk of accidentally clearing fields that are not included in the body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that alert_id is an integer, not a UUID — use GET /alertchannels/ with the name filter to look it up if needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Changes to properties.to_address take effect immediately and affect all alarm rules currently linked to this channel — review linked_alerts via GET /alertchannels/{alert_id} before updating the destination if multiple rules depend on it"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true},{"name":"alert_id","in":"path","schemaId":"schema_325","description":"An integer identifying the alert channel.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"alert_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"responseCodes":["200","400","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","href":"esper_cloud_api_alerts/patchalertchannel","openApiOperationId":"patchAlertChannel","summary":"Partially updates alert channel information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}},"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlertChannelsV1"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/patchalertchannel"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}"},{"label":"Delete an alert channel","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alerts/deletealertchannel","routeSlug":"/openapi/esper_cloud_api_alerts/deletealertchannel","metadata":{"seo":{"title":"Delete an alert channel","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAlertChannel","name":"Delete an alert channel","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an alert channel","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes an alert channel identified by its integer alert_id. This action is irreversible. Any alarm rules that were linked to this channel will lose their association with it — verify the channel's linked_alerts before deleting to avoid silently disrupting alert delivery for active alarm rules."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing a channel whose destination email address is no longer valid or monitored"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up duplicate or test channels created during setup"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning a channel as part of a notification infrastructure reorganization"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check linked_alerts by calling GET /v1/enterprise/{enterprise_id}/alertchannels/{alert_id} before deleting — if the channel is actively linked to alarm rules, update or delete those rules first, or reassign them to a different channel, to avoid broken alert delivery"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the correct alert_id before issuing the delete — this action cannot be undone and alert_id is an integer, not a UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v1/enterprise/{enterprise_id}/alertchannels/ with the name filter to locate the correct channel if the alert_id is not already known"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"A UUID string identifying the enterprise.","required":true},{"name":"alert_id","in":"path","schemaId":"schema_325","description":"An integer identifying the alert channel.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"alert_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","href":"esper_cloud_api_alerts/deletealertchannel","openApiOperationId":"deleteAlertChannel","summary":"Delete an alert channel"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alertchannels~1{alert_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alerts/deletealertchannel"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Alerts"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Alerts","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/alertchannels/","summary":"List alert channels in enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/listalertchannels","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alertchannels/","summary":"Creates alert channel","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/createalertchannel","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","summary":"Get alert channel","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/getalertchannel","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","summary":"Update alert channel information","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/updatealertchannel","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","summary":"Partially updates alert channel information","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/patchalertchannel","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alertchannels/{alert_id}","summary":"Delete an alert channel","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alerts/deletealertchannel","deprecated":false}]}]}]}]}},{"type":"group","label":"Alarms","link":"/openapi/esper_cloud_api_alarms","routeSlug":"/openapi/esper_cloud_api_alarms","items":[{"label":"Get list of alarm rules","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/getalarmrules","routeSlug":"/openapi/esper_cloud_api_alarms/getalarmrules","metadata":{"seo":{"title":"Get list of alarm rules","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAlarmRules","name":"Get list of alarm rules","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of alarm rules","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all alarm rules configured in the enterprise. Alarm rules define the conditions under which device or fleet alerts are triggered — specifying which metric to monitor, the threshold conditions, which devices or groups are in scope, and which alert channels receive notifications when the rule fires."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name (optional) — Filter rules by name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description (optional) — Filter rules by description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active (optional) — Filter by active (true) or inactive (false) rules"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID identifying the alarm rule; used in all subsequent rule operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name / description — Display name and description for the rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metric — The device metric being monitored (e.g., battery level, connectivity)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"conditions — Threshold definition including value, unit, comparator, and toggle_state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices / groups — The specific devices or device groups the rule applies to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_channels — Array of alert channel IDs that receive notifications when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action_emails — Direct email recipients for notifications, independent of alert channels"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the rule is currently enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"realert_interval — Interval in minutes before the rule re-alerts if the condition persists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeat_times — Number of times the alert will repeat"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"trigger_count / daily_trigger_count — Cumulative and daily counts of how many times the rule has fired"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all active alarm rules across the enterprise to review monitoring coverage"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving rule IDs for use in get, update, patch, or delete operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering for inactive rules to identify stale or disabled monitoring configurations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing trigger counts to assess alert frequency and rule health"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use is_active=true to scope results to currently enabled rules when auditing live monitoring configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use created_on_gt / created_on_lt to scope results to a specific time window when reviewing recently added or historical rules"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that alarm_id used in single-rule operations is a UUID, unlike the integer alert_id used by alert channels"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"name","in":"query","schemaId":"schema_323","description":"Filter alarm rules by name."},{"name":"description","in":"query","schemaId":"schema_323","description":"Filter alarm rules by description."},{"name":"is_active","in":"query","schemaId":"schema_324","description":"Filter active alarm rules."},{"name":"created_on_gt","in":"query","schemaId":"schema_323","description":"Filter alarm rules created after a given timestamp."},{"name":"created_on_lt","in":"query","schemaId":"schema_323","description":"Filter alarm rules created before a given timestamp."},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/alarmrules/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"name","in":"query","schemaId":"schema_323"},{"name":"description","in":"query","schemaId":"schema_323"},{"name":"is_active","in":"query","schemaId":"schema_324"},{"name":"created_on_gt","in":"query","schemaId":"schema_323"},{"name":"created_on_lt","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/","href":"esper_cloud_api_alarms/getalarmrules","openApiOperationId":"getAlarmRules","summary":"Get list of alarm rules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_389"}},"schemaId":"schema_389"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_389","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_389"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/getalarmrules"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/"},{"label":"Creates instance of alarm rules","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/addalarmrule","routeSlug":"/openapi/esper_cloud_api_alarms/addalarmrule","metadata":{"seo":{"title":"Creates instance of alarm rules","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addAlarmRule","name":"Creates instance of alarm rules","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Creates instance of alarm rules","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new alarm rule in the enterprise, defining the conditions under which a device metric alert is triggered and where notifications are sent. Alarm rules combine a monitored metric, a threshold condition, a set of target devices or groups, and one or more notification destinations into a single automated monitoring configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An alert channel must already exist before it can be referenced in a new alarm rule. Create channels first via POST /v1/enterprise/{enterprise_id}/alertchannels/ if needed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise — UUID of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metric — The device metric to monitor (e.g., battery level, connectivity status)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"conditions — Threshold definition object containing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"value — Numeric threshold value"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unit — Unit of measurement for the threshold"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"comparator — Comparison operator (e.g., less than, greater than, equals)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"toggle_state — Boolean for toggle-based metrics (e.g., connectivity on/off)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"realert_interval — Interval in minutes before re-alerting if the condition continues to be met"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — Human-readable description of the rule's purpose"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices — Array of specific device IDs to monitor; omit to target groups instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"groups — Array of device group IDs to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_channels — Array of alert channel IDs (UUIDs) to notify when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action_emails — Array of email addresses to notify directly, independent of alert channels"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"actions — Array of actions to perform when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the rule is active immediately on creation (defaults to active if omitted)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeat_times — Number of times to repeat the alert"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create alert channels via POST /alertchannels/ if they don't already exist"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create the alarm rule using this endpoint, referencing the channel IDs in alert_channels"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the UUID id from the 201 response for future get, update, or delete operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor firing activity via GET /alarmrules/{alarm_id}/alarmhistory/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting up automated alerts for low battery thresholds across a device group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitoring connectivity status for devices in a specific location or fleet segment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Configuring re-alert intervals for persistent conditions that require ongoing attention"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Target groups rather than individual devices where possible — group-scoped rules automatically apply to new devices added to the group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supply both alert_channels and action_emails if notifications need to reach both a shared channel and specific individuals"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set a sensible realert_interval to avoid alert fatigue — too short an interval on frequently triggered conditions can flood notification recipients"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a descriptive name and description so the rule's purpose is clear when auditing via GET /alarmrules/"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/alarmrules/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"responseCodes":["201","400","401","403","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/","href":"esper_cloud_api_alarms/addalarmrule","openApiOperationId":"addAlarmRule","summary":"Creates instance of alarm rules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_AlarmRule"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_AlarmRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/addalarmrule"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/"},{"label":"Get instance of alarm rule","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/getalarmrule","routeSlug":"/openapi/esper_cloud_api_alarms/getalarmrule","metadata":{"seo":{"title":"Get instance of alarm rule","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAlarmRule","name":"Get instance of alarm rule","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get instance of alarm rule","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full details of a single alarm rule identified by its UUID alarm_id, including the monitored metric, threshold conditions, target devices or groups, linked alert channels, notification settings, and cumulative trigger counts. Use this endpoint to inspect a rule's current configuration before updating it, or to check trigger activity for a specific rule."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID identifying the alarm rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name / description — Display name and description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metric — The device metric being monitored"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"conditions — Threshold definition including value, unit, comparator, and toggle_state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices / groups — The specific devices or groups the rule applies to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_channels — Alert channel IDs receiving notifications when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action_emails — Direct email recipients independent of alert channels"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the rule is currently enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"realert_interval — Minutes before re-alerting if the condition persists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeat_times — Number of times the alert repeats"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"trigger_count / daily_trigger_count — Cumulative and daily counts of how many times the rule has fired"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving a rule's current configuration before issuing an update or patch"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspecting trigger_count and daily_trigger_count to assess how frequently the rule is firing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a rule was created correctly after a POST /alarmrules/ call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking which devices, groups, and alert channels are currently associated with a rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always retrieve the current state of a rule before updating it to avoid overwriting fields unintentionally when using PUT"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /alarmrules/ with the name filter to locate an alarm_id if it is not already known — note that alarm_id is a UUID, unlike the integer alert_id used by alert channels"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For a history of when and on which devices the rule has fired, use GET /alarmrules/{alarm_id}/alarmhistory/ rather than relying solely on trigger_count"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alarm_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the alarm ruleset.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alarm_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","href":"esper_cloud_api_alarms/getalarmrule","openApiOperationId":"getAlarmRule","summary":"Get instance of alarm rule"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_AlarmRule"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlarmRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/getalarmrule"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/"},{"label":"Update alarm rules","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/updatealarmrule","routeSlug":"/openapi/esper_cloud_api_alarms/updatealarmrule","metadata":{"seo":{"title":"Update alarm rules","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateAlarmRule","name":"Update alarm rules","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update alarm rules","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fully updates an existing alarm rule identified by its UUID alarm_id. This is a full replacement operation — all required fields must be included in the request body and any optional fields not included may be cleared. To change only one or two fields without resending the full rule object, use PATCH /v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/ instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (UpdateAlarmRule)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise — UUID of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metric — The device metric to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"conditions — Threshold definition object containing value, unit, comparator, and toggle_state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"realert_interval — Interval in minutes before re-alerting if the condition persists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — Human-readable description of the rule's purpose"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices — Array of specific device UUIDs to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"groups — Array of device group UUIDs to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_channels — Array of alert channel UUIDs to notify when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action_emails — Array of email addresses to notify directly"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"actions — Array of actions to perform when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the rule is enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeat_times — Number of times to repeat the alert"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating the target devices or groups after a fleet restructure"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Changing the threshold condition or metric as monitoring requirements evolve"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding or swapping alert channels when notification routing changes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enabling or disabling a rule by toggling is_active"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always retrieve the current rule state with GET /v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/ before updating — this is a full replacement and omitting optional fields that were previously set may clear them unintentionally"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer PATCH over PUT for single-field changes to reduce payload size and risk of accidental data loss"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that alarm_id is a UUID, unlike the integer alert_id used by alert channels — use GET /alarmrules/ to look it up if needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating alert_channels replaces the existing channel associations entirely — include all desired channel IDs in the updated body, not just the new ones"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alarm_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the alarm ruleset.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alarm_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","href":"esper_cloud_api_alarms/updatealarmrule","openApiOperationId":"updateAlarmRule","summary":"Update alarm rules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_AlarmRule"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlarmRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/updatealarmrule"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/"},{"label":"Partially updates alarm rules","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/patchalarmrule","routeSlug":"/openapi/esper_cloud_api_alarms/patchalarmrule","metadata":{"seo":{"title":"Partially updates alarm rules","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchAlarmRule","name":"Partially updates alarm rules","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially updates alarm rules","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates one or more fields of an existing alarm rule identified by its UUID alarm_id. Only the fields included in the request body are modified — omitted fields retain their current values. Use this endpoint instead of PUT when making a targeted change to a single field without needing to resend the full rule object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body fields (all optional for PATCH)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"enterprise — UUID of the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Display name for the rule"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"metric — The device metric to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"conditions — Threshold definition object containing value, unit, comparator, and toggle_state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"realert_interval — Interval in minutes before re-alerting if the condition persists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — Human-readable description of the rule's purpose"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices — Array of specific device UUIDs to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"groups — Array of device group UUIDs to monitor"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_channels — Array of alert channel UUIDs to notify when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"action_emails — Array of email addresses to notify directly"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"actions — Array of actions to perform when the rule fires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the rule is enabled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"repeat_times — Number of times to repeat the alert"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Toggling is_active to quickly enable or disable a rule without touching any other configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updating realert_interval to tune alert frequency without modifying threshold conditions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding or replacing alert_channels or action_emails when notification routing changes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adjusting conditions thresholds as device fleet behavior or monitoring standards evolve"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer this endpoint over PUT for targeted changes — it reduces payload size and eliminates the risk of accidentally clearing fields that are not included in the body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that array fields such as alert_channels, devices, and groups are fully replaced when included — if adding to an existing array, retrieve the current values first via GET /alarmrules/{alarm_id}/ and include them all in the patch body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alarm_id is a UUID, not an integer — use GET /alarmrules/ with the name filter to look it up if needed."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alarm_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the alarm ruleset.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alarm_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","href":"esper_cloud_api_alarms/patchalarmrule","openApiOperationId":"patchAlarmRule","summary":"Partially updates alarm rules"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_UpdateAlarmRule"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}},"schemaId":"components/schemas/esper_cloud_api_AlarmRule"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlarmRule","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmRule"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/patchalarmrule"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/"},{"label":"Deletes alarm rule","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/deletealarmrule","routeSlug":"/openapi/esper_cloud_api_alarms/deletealarmrule","metadata":{"seo":{"title":"Deletes alarm rule","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAlarmRule","name":"Deletes alarm rule","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Deletes alarm rule","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes an alarm rule identified by its UUID alarm_id. This action is irreversible — the rule, its configuration, and its association with any alert channels are removed immediately. Historical firing data for the rule is also no longer accessible after deletion."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing alarm rules that are no longer relevant after a fleet restructure or deployment phase ends"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up duplicate or misconfigured rules created during setup"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning monitoring configurations for device groups that have been dissolved"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the rule with GET /v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/ before deleting to confirm it is the correct rule — this action cannot be undone"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the intent is to stop the rule from firing temporarily rather than permanently remove it, consider using PATCH /v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/ to set is_active=false instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review firing history via GET /alarmrules/{alarm_id}/alarmhistory/ before deleting if the rule's historical trigger data is needed for reporting or auditing purposes — this data will not be recoverable after deletion"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that deleting an alarm rule does not delete the alert channels it referenced — channels are enterprise-level resources and remain available for use by other rules"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alarm_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the alarm ruleset.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alarm_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","href":"esper_cloud_api_alarms/deletealarmrule","openApiOperationId":"deleteAlarmRule","summary":"Deletes alarm rule"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/deletealarmrule"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/"},{"label":"Get history of alarm rule","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_alarms/getalarmhistory","routeSlug":"/openapi/esper_cloud_api_alarms/getalarmhistory","metadata":{"seo":{"title":"Get history of alarm rule","description":"⚠️ Android only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAlarmHistory","name":"Get history of alarm rule","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1alarmhistory~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get history of alarm rule","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the firing history for a specific alarm rule identified by its UUID alarm_id. Each record in the response represents an instance when the rule's conditions were met, identifying the device that triggered the alert, the group it belongs to, and the timestamps for when the alert fired and when the condition was last observed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_name — Name of the device that triggered the alert"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_id — UUID of the device that triggered the alert"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_id — Array of group UUIDs the triggering device belongs to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_name — Name of the group the triggering device belongs to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alert_time — Timestamp of when the alert fired"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"latest_seen — Timestamp of when the triggering condition was last observed on the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Investigating which specific devices triggered an alarm rule and when, to support troubleshooting or incident response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing alert activity before deleting an alarm rule to preserve a record of its history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assessing whether a rule is firing too frequently or on unexpected devices, to inform threshold tuning"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating compliance or operational reports on device health events over time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review this endpoint before deleting an alarm rule — firing history is not recoverable after the rule is deleted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference device_id values with GET /enterprise/{enterprise_id}/device/{device_id}/ to retrieve full device context for triggered alerts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alarm_id is a UUID — use GET /alarmrules/ with the name filter to look it up if it is not already known"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"alarm_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the alarm ruleset.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1alarmhistory~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/alarmhistory/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"alarm_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/alarmhistory/","href":"esper_cloud_api_alarms/getalarmhistory","openApiOperationId":"getAlarmHistory","summary":"Get history of alarm rule"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmHistory"}},"schemaId":"components/schemas/esper_cloud_api_AlarmHistory"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1alarmrules~1{alarm_id}~1alarmhistory~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_AlarmHistory","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_AlarmHistory"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_alarms/getalarmhistory"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/alarmhistory/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Alarms"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Alarms","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/alarmrules/","summary":"Get list of alarm rules","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/getalarmrules","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/","summary":"Creates instance of alarm rules","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/addalarmrule","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","summary":"Get instance of alarm rule","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/getalarmrule","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","summary":"Update alarm rules","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/updatealarmrule","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","summary":"Partially updates alarm rules","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/patchalarmrule","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/","summary":"Deletes alarm rule","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/deletealarmrule","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/alarmrules/{alarm_id}/alarmhistory/","summary":"Get history of alarm rule","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_alarms/getalarmhistory","deprecated":false}]}]}]}]}},{"type":"group","label":"Wallpapers","link":"/openapi/esper_cloud_api_wallpapers","routeSlug":"/openapi/esper_cloud_api_wallpapers","items":[{"label":"Get list of wallpapers","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_wallpapers/getwallpapers","routeSlug":"/openapi/esper_cloud_api_wallpapers/getwallpapers","metadata":{"seo":{"title":"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWallpapers","name":"Get list of wallpapers","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of wallpapers","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID identifying the wallpaper; used to reference it in Windows blueprint wallpaper settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"image_file — URL of the full-resolution wallpaper image"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"thumbnail — URL of the thumbnail preview"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"orientation — Orientation of the image (e.g., landscape)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the wallpaper is currently active"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on / updated_on — Timestamps for auditing purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discovering wallpaper_id values to reference in Windows blueprint homescreen or lock screen wallpaper settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying a wallpaper was successfully uploaded before referencing it in a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building wallpaper selection UIs in custom management tools"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use timestamp filters to scope results when auditing recently added or modified wallpapers rather than fetching the full list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store wallpaper_id UUIDs for use in Windows blueprint configuration — the wallpaper_id field appears in both homescreen and lock screen landscape settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that wallpapers uploaded as part of a blueprint configuration will also appear in this list and can be reused across multiple blueprints"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"Filter applications created after a given timestamp."},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"Filter applications created before a given timestamp."},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"Filter applications updated after a given timestamp."},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"Filter applications updated before a given timestamp."},{"name":"limit","in":"query","schemaId":"schema_328","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_329","description":"Return results from this index."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/wallpaper/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"limit","in":"query","schemaId":"schema_328"},{"name":"offset","in":"query","schemaId":"schema_329"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/wallpaper/","href":"esper_cloud_api_wallpapers/getwallpapers","openApiOperationId":"getWallpapers","summary":"Get list of wallpapers"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_390"}},"schemaId":"schema_390"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_390","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_390"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_wallpapers/getwallpapers"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/wallpaper/"},{"label":"Create wallpaper","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_wallpapers/addwallpaper","routeSlug":"/openapi/esper_cloud_api_wallpapers/addwallpaper","metadata":{"seo":{"title":"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addWallpaper","name":"Create wallpaper","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create wallpaper","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body (multipart/form-data)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"image_file (required) — The image file to upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"orientation (required) — Orientation of the image (e.g., landscape)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding a new branded wallpaper before assigning it to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Programmatically uploading wallpapers as part of an enterprise onboarding or branding"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replacing an outdated wallpaper by uploading a new version and updating blueprint references to point to the new wallpaper_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the wallpaper_id UUID from the response — it is required to reference the wallpaper in a blueprint homescreen and lock screen settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Specify orientation accurately at upload time — this metadata cannot be changed after upload; upload a new image if the orientation needs to be corrected"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify a wallpaper is not referenced in any active blueprint before deleting it, as there is no Console warning to flag active references"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_391"}},"schemaId":"schema_391","pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v1/enterprise/{enterprise_id}/wallpaper/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_391"}},"responseCodes":["201","400","401","403","415","500"],"pointer":"/v1/enterprise/{enterprise_id}/wallpaper/","href":"esper_cloud_api_wallpapers/addwallpaper","openApiOperationId":"addWallpaper","summary":"Create wallpaper"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_391","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_391"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Wallpaper"}},"schemaId":"components/schemas/esper_cloud_api_Wallpaper"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"415","description":"Unsupported media type.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Wallpaper","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Wallpaper"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"415","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_wallpapers/addwallpaper"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/wallpaper/"},{"label":"Get instance of wallpaper","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_wallpapers/getwallpaper","routeSlug":"/openapi/esper_cloud_api_wallpapers/getwallpaper","metadata":{"seo":{"title":"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getWallpaper","name":"Get instance of wallpaper","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get instance of wallpaper","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response fields of note"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID identifying the wallpaper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"image_file — URL of the full-resolution wallpaper image"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"thumbnail — URL of the thumbnail preview"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"orientation — Orientation of the image (e.g., landscape)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — Whether the wallpaper is currently active"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_on / updated_on — Timestamps for auditing purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving wallpaper details to confirm a successful upload before referencing the wallpaper_id in a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the metadata of a specific wallpaper when the wallpaper_id is already known"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying the orientation or active status of a wallpaper before assigning it to a Windows blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns metadata and image URLs only; the image itself must be accessed directly via the image_file URL in the response"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"wallpaper_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the wallpaper.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"wallpaper_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","href":"esper_cloud_api_wallpapers/getwallpaper","openApiOperationId":"getWallpaper","summary":"Get instance of wallpaper"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Wallpaper"}},"schemaId":"components/schemas/esper_cloud_api_Wallpaper"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Wallpaper","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Wallpaper"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_wallpapers/getwallpaper"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/"},{"label":"Deletes instance of wallpaper","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_wallpapers/deletewallpaper","routeSlug":"/openapi/esper_cloud_api_wallpapers/deletewallpaper","metadata":{"seo":{"title":"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteWallpaper","name":"Deletes instance of wallpaper","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Deletes instance of wallpaper","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing outdated or superseded wallpaper images from the enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up duplicate or test wallpapers uploaded during setup"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning branding assets that are no longer in use"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the correct wallpaper_id using GET /v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/ before deleting — this action cannot be undone"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"wallpaper_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying the wallpaper.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"wallpaper_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","href":"esper_cloud_api_wallpapers/deletewallpaper","openApiOperationId":"deleteWallpaper","summary":"Deletes instance of wallpaper"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1wallpaper~1{wallpaper_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_wallpapers/deletewallpaper"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Wallpapers"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Wallpapers","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/wallpaper/","summary":"Get list of wallpapers","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_wallpapers/getwallpapers","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/wallpaper/","summary":"Create wallpaper","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_wallpapers/addwallpaper","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","summary":"Get instance of wallpaper","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_wallpapers/getwallpaper","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/wallpaper/{wallpaper_id}/","summary":"Deletes instance of wallpaper","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_wallpapers/deletewallpaper","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Telemetry","link":"/openapi/esper_cloud_api_device-telemetry","routeSlug":"/openapi/esper_cloud_api_device-telemetry","items":[{"label":"Get list of device locations","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getdevicelocations","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getdevicelocations","metadata":{"seo":{"title":"Get list of device locations","description":"Lists reported location data for devices in an enterprise."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceLocations","name":"Get list of device locations","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of device locations","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists reported location data for devices in an enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list (count/next/previous/results) of DeviceLocations records, the same data source used to power the Console's device map/location dashboard view."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Location Reports"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is part of Esper's Device Telemetry reporting, which surfaces device-reported data (like location) for fleet monitoring rather than issuing commands to devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — number of results to return per page"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — the initial index from which to return results"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Powering a map view of where fleet devices are located"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing device location history for compliance or asset-tracking purposes"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325","description":"Number of results to return per page."},{"name":"offset","in":"query","schemaId":"schema_325","description":"The initial index from which to return the results."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/report/location/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/report/location/","href":"esper_cloud_api_device-telemetry/getdevicelocations","openApiOperationId":"getDeviceLocations","summary":"Get list of device locations"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_392"}},"schemaId":"schema_392"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_392","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_392"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getdevicelocations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/report/location/"},{"label":"Get location of specific device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getspecificlocations","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getspecificlocations","metadata":{"seo":{"title":"Get location of specific device","description":"Retrieves a single reported device location record by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSpecificLocations","name":"Get location of specific device","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1{location_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get location of specific device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a single reported device location record by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the DeviceLocations detail for the given location_id, useful when you already have a specific location record's identifier (for example, from the list endpoint) and want its full detail."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Location Reports"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is part of Esper's Device Telemetry reporting, which surfaces device-reported data such as location for fleet monitoring. The location_id here identifies a specific reported location record, not the device itself."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"location_id — integer ID of the specific location record to retrieve"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetching the detail behind a single location entry surfaced in a location list or map view"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"location_id","in":"path","schemaId":"schema_325","description":"An integer identifying the location.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1{location_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/report/location/{location_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"location_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/report/location/{location_id}/","href":"esper_cloud_api_device-telemetry/getspecificlocations","openApiOperationId":"getSpecificLocations","summary":"Get location of specific device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceLocations"}},"schemaId":"components/schemas/esper_cloud_api_DeviceLocations"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1location~1{location_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceLocations","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceLocations"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getspecificlocations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/report/location/{location_id}/"},{"label":"Get list of device tiles reports","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getdevicetilereports","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getdevicetilereports","metadata":{"seo":{"title":"Get list of device tiles reports","description":"Returns list of device tiles reports"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceTileReports","name":"Get list of device tiles reports","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of device tiles reports","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns list of device tiles reports"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"state","in":"query","schemaId":"schema_325","description":"Filter device-tile reports by state."},{"name":"created_on_gt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports created after a given timestamp."},{"name":"created_on_lt","in":"query","schemaId":"schema_327","description":"Flter device-tile reports created before a given timestamp."},{"name":"provisioned_on_gt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports provisioned after a given timestamp."},{"name":"provisioned_on_lt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports provisioned before a given timestamp."},{"name":"updated_on_gt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports updated after a given timestamp."},{"name":"updated_on_lt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports updated before a given timestamp."},{"name":"last_seen_gt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports last seen after a given timestamp."},{"name":"last_seen_lt","in":"query","schemaId":"schema_327","description":"Filter device-tile reports last seen before a given timestamp."},{"name":"battery_level_gte","in":"query","schemaId":"schema_393","description":"Filter device-tile reports by battery level greater than given battery level."},{"name":"battery_level_lte","in":"query","schemaId":"schema_393","description":"Filter device-tile reports by battery level lower than given battery level."},{"name":"at_risk","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by whether they are at risk."},{"name":"security_status","in":"query","schemaId":"schema_394"},{"name":"status","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by status."},{"name":"group","in":"query","schemaId":"schema_322","description":"Filter device-tile reports by group."},{"name":"group_name","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by group name."},{"name":"group_name_multi","in":"query","schemaId":"schema_395","description":"Filter device-tile reports using multiple group names."},{"name":"group_multi","in":"query","schemaId":"schema_396","description":"Filter device-tile reports by using multiple group ID's"},{"name":"group_multi_immediate","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by immediate groups"},{"name":"group_null","in":"query","schemaId":"schema_397","description":"Filter device-tile reports by availability of group. True returns device-tiles with no group. False returns device-tiles with group."},{"name":"imei","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by imei."},{"name":"name","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by device name."},{"name":"recently_added","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by recently added."},{"name":"is_gms","in":"query","schemaId":"schema_324","description":"Filter device-tile reports for gms devices."},{"name":"tags","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by tag."},{"name":"is_geofence_applied","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by geofence application."},{"name":"serial","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by device serial id."},{"name":"android_version","in":"query","schemaId":"schema_325","description":"Filter device-tile reports by android version."},{"name":"android_version_multi","in":"query","schemaId":"schema_398","description":"Filter device-tile reports by multiple android versions."},{"name":"wifi_ssid","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by wifi-ssid."},{"name":"network_type","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by network type."},{"name":"network_type_multi","in":"query","schemaId":"schema_399","description":"Filter device-tile reports by multiple network types."},{"name":"model","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by device model."},{"name":"template","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by template."},{"name":"template_multi","in":"query","schemaId":"schema_400","description":"Filter device-tile reports by multiple templates."},{"name":"policy","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by policy name."},{"name":"policy_multi","in":"query","schemaId":"schema_401","description":"Filter device-tile reports by multiple policies."},{"name":"policy_null","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by null-value policy."},{"name":"dpc_version","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by DPC version."},{"name":"location","in":"query","schemaId":"schema_402","description":"Filter device-tile reports by location."},{"name":"active_connection","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by active connection status."},{"name":"device_type","in":"query","schemaId":"schema_323","description":"Filter device-tile reports by device type."},{"name":"has_seamlessInfo","in":"query","schemaId":"schema_324","description":"Filter device-tile reports by seamless information."}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/report/device-tiles/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"state","in":"query","schemaId":"schema_325"},{"name":"created_on_gt","in":"query","schemaId":"schema_327"},{"name":"created_on_lt","in":"query","schemaId":"schema_327"},{"name":"provisioned_on_gt","in":"query","schemaId":"schema_327"},{"name":"provisioned_on_lt","in":"query","schemaId":"schema_327"},{"name":"updated_on_gt","in":"query","schemaId":"schema_327"},{"name":"updated_on_lt","in":"query","schemaId":"schema_327"},{"name":"last_seen_gt","in":"query","schemaId":"schema_327"},{"name":"last_seen_lt","in":"query","schemaId":"schema_327"},{"name":"battery_level_gte","in":"query","schemaId":"schema_393"},{"name":"battery_level_lte","in":"query","schemaId":"schema_393"},{"name":"at_risk","in":"query","schemaId":"schema_324"},{"name":"security_status","in":"query","schemaId":"components/schemas/esper_cloud_api_SecurityStatesEnum"},{"name":"status","in":"query","schemaId":"schema_323"},{"name":"group","in":"query","schemaId":"schema_322"},{"name":"group_name","in":"query","schemaId":"schema_323"},{"name":"group_name_multi","in":"query","schemaId":"schema_395"},{"name":"group_multi","in":"query","schemaId":"schema_396"},{"name":"group_multi_immediate","in":"query","schemaId":"schema_323"},{"name":"group_null","in":"query","schemaId":"schema_397"},{"name":"imei","in":"query","schemaId":"schema_323"},{"name":"name","in":"query","schemaId":"schema_323"},{"name":"recently_added","in":"query","schemaId":"schema_324"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"tags","in":"query","schemaId":"schema_323"},{"name":"is_geofence_applied","in":"query","schemaId":"schema_324"},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"android_version","in":"query","schemaId":"schema_325"},{"name":"android_version_multi","in":"query","schemaId":"schema_398"},{"name":"wifi_ssid","in":"query","schemaId":"schema_323"},{"name":"network_type","in":"query","schemaId":"schema_323"},{"name":"network_type_multi","in":"query","schemaId":"schema_399"},{"name":"model","in":"query","schemaId":"schema_323"},{"name":"template","in":"query","schemaId":"schema_323"},{"name":"template_multi","in":"query","schemaId":"schema_400"},{"name":"policy","in":"query","schemaId":"schema_323"},{"name":"policy_multi","in":"query","schemaId":"schema_401"},{"name":"policy_null","in":"query","schemaId":"schema_324"},{"name":"dpc_version","in":"query","schemaId":"schema_323"},{"name":"location","in":"query","schemaId":"schema_402"},{"name":"active_connection","in":"query","schemaId":"schema_324"},{"name":"device_type","in":"query","schemaId":"schema_323"},{"name":"has_seamlessInfo","in":"query","schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/report/device-tiles/","href":"esper_cloud_api_device-telemetry/getdevicetilereports","openApiOperationId":"getDeviceTileReports","summary":"Get list of device tiles reports"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_403"}},"schemaId":"schema_403"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_403","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_403"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getdevicetilereports"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/report/device-tiles/"},{"label":"Get instance of device tiles report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getdevicetilereport","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getdevicetilereport","metadata":{"seo":{"title":"Get instance of device tiles report","description":"Returns instance of device tiles report"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceTileReport","name":"Get instance of device tiles report","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1{device_tiles_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get instance of device tiles report","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns instance of device tiles report"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true},{"name":"device_tiles_id","in":"path","schemaId":"schema_325","description":"An integer representing the device tile report.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1{device_tiles_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/report/device-tiles/{device_tiles_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"device_tiles_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/report/device-tiles/{device_tiles_id}/","href":"esper_cloud_api_device-telemetry/getdevicetilereport","openApiOperationId":"getDeviceTileReport","summary":"Get instance of device tiles report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceTiles"}},"schemaId":"components/schemas/esper_cloud_api_DeviceTiles"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1device-tiles~1{device_tiles_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_DeviceTiles","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_DeviceTiles"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getdevicetilereport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/report/device-tiles/{device_tiles_id}/"},{"label":"Get status metrics report for enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getstatusmetrics","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getstatusmetrics","metadata":{"seo":{"title":"Get status metrics report for enterprise","description":"Returns status metrics report for enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getStatusMetrics","name":"Get status metrics report for enterprise","isWebhook":false,"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1status-metrics~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get status metrics report for enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns status metrics report for enterprise"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1status-metrics~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/enterprise/{enterprise_id}/report/status-metrics/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/enterprise/{enterprise_id}/report/status-metrics/","href":"esper_cloud_api_device-telemetry/getstatusmetrics","openApiOperationId":"getStatusMetrics","summary":"Get status metrics report for enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_StatusMetrics"}},"schemaId":"components/schemas/esper_cloud_api_StatusMetrics"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v1~1enterprise~1{enterprise_id}~1report~1status-metrics~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_StatusMetrics","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_StatusMetrics"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getstatusmetrics"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v1/enterprise/{enterprise_id}/report/status-metrics/"},{"label":"Get status metrics report for enterprise v2","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_device-telemetry/getstatusmetricsv2","routeSlug":"/openapi/esper_cloud_api_device-telemetry/getstatusmetricsv2","metadata":{"seo":{"title":"Get status metrics report for enterprise v2","description":"Returns status metrics report for enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getStatusMetricsV2","name":"Get status metrics report for enterprise v2","isWebhook":false,"pointer":"/paths/~1v2~1enterprise~1{enterprise_id}~1report~1status-metrics/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get status metrics report for enterprise v2","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns status metrics report for enterprise"},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_323","description":"A UUID string identifying this enterprise.","required":true}],"pointer":"/paths/~1v2~1enterprise~1{enterprise_id}~1report~1status-metrics/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/enterprise/{enterprise_id}/report/status-metrics","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v2/enterprise/{enterprise_id}/report/status-metrics","href":"esper_cloud_api_device-telemetry/getstatusmetricsv2","openApiOperationId":"getStatusMetricsV2","summary":"Get status metrics report for enterprise v2"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_StatusMetricsV2"}},"schemaId":"components/schemas/esper_cloud_api_StatusMetricsV2"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1v2~1enterprise~1{enterprise_id}~1report~1status-metrics/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_StatusMetricsV2","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_StatusMetricsV2"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_device-telemetry/getstatusmetricsv2"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/enterprise/{enterprise_id}/report/status-metrics"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Device Telemetry"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Telemetry","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/enterprise/{enterprise_id}/report/location/","summary":"Get list of device locations","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getdevicelocations","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/report/location/{location_id}/","summary":"Get location of specific device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getspecificlocations","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/report/device-tiles/","summary":"Get list of device tiles reports","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getdevicetilereports","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/report/device-tiles/{device_tiles_id}/","summary":"Get instance of device tiles report","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getdevicetilereport","deprecated":false},{"title":"/v1/enterprise/{enterprise_id}/report/status-metrics/","summary":"Get status metrics report for enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getstatusmetrics","deprecated":false},{"title":"/v2/enterprise/{enterprise_id}/report/status-metrics","summary":"Get status metrics report for enterprise v2","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_device-telemetry/getstatusmetricsv2","deprecated":false}]}]}]}]}},{"type":"group","label":"Daily and Custom Reports","link":"/openapi/esper_cloud_api_daily-and-custom-reports","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports","items":[{"label":"Get report information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/paths/~1enterprise~1report~1info~1/get","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/paths/~1enterprise~1report~1info~1/get","metadata":{"seo":{"title":"Get report information","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get report information","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1info~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get report information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves metadata about your enterprise's reporting configuration, including how far back historical report data is available."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to check whether the reports workflow is enabled for your enterprise and the earliest date from which report data can be queried before making date-scoped report requests."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Report Info"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns two key configuration values for the enterprise's legacy reporting system: reportAvailabilityFrom, which indicates the earliest datetime from which historical report data exists, and enableReports"},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", a boolean indicating whether the reporting feature is active. Query this endpoint first when working with the legacy report endpoints to avoid date-range errors and confirm feature availability."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/info/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/info/","href":"esper_cloud_api_daily-and-custom-reports/paths/~1enterprise~1report~1info~1/get","summary":"Get report information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_404"}},"schemaId":"schema_404"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1info~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_404","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_404"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/paths/~1enterprise~1report~1info~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/info/"},{"label":"Get device status reports within specified date-time range","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/getdevicereport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/getdevicereport","metadata":{"seo":{"title":"Get device status reports within specified date-time range","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceReport","name":"Get device status reports within specified date-time range","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1device-report~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device status reports within specified date-time range","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns per-device status reports organized by device group for a specified date-time range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint provides a hierarchical view of device health data grouped by Esper device groups, including active, inactive, registered, new, and disabled device counts, with per-device detail records nested inside each group."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Report"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The device report is a time-scoped snapshot of device status across your fleet, structured by group. Each group entry includes aggregate device counts and an array of DeviceStatusReport objects representing individual devices. Both start_date and end_date are required; only data within that window is returned."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start_date","in":"query","schemaId":"schema_339","description":"Start date of range in which to retrieve device status reports","required":true},{"name":"end_date","in":"query","schemaId":"schema_339","description":"End date of range in which to retrieve device status reports","required":true},{"name":"sync","in":"query","schemaId":"schema_405","description":"Sync device status report to specified field"},{"name":"fields","in":"query","schemaId":"schema_323","description":"List of fields to add to device status report, comma separated"}],"pointer":"/paths/~1enterprise~1report~1device-report~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/device-report/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"start_date","in":"query","required":true,"schemaId":"schema_339"},{"name":"end_date","in":"query","required":true,"schemaId":"schema_339"},{"name":"sync","in":"query","required":false,"schemaId":"schema_405"},{"name":"fields","in":"query","required":false,"schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/device-report/","href":"esper_cloud_api_daily-and-custom-reports/getdevicereport","openApiOperationId":"getDeviceReport","summary":"Get device status reports within specified date-time range"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_406"}},"schemaId":"schema_406"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1device-report~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_406","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_406"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/getdevicereport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/device-report/"},{"label":"Get enterprise report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/getenterprisereport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/getenterprisereport","metadata":{"seo":{"title":"Get enterprise report","description":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getEnterpriseReport","name":"Get enterprise report","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1enterprise-report~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get enterprise report","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a high-level summary of device provisioning and activity across the entire enterprise for a specified date-time range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to retrieve top-level fleet metrics — peak active devices, total provisioned devices, and total registered devices — for a given reporting window, without group or per-device breakdowns."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Enterprise Report"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The enterprise report provides a single aggregated view of fleet scale and activity for a time window bounded by start_date and end_date. Unlike the device report (per-device data by group) or the group report (segmented by group), this endpoint collapses the entire fleet into three summary metrics. It is most useful for executive dashboards, capacity planning, and trend tracking in legacy reporting contexts."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start_date","in":"query","schemaId":"schema_339","description":"Start date of range in which to retrieve enterprise report.","required":true},{"name":"end_date","in":"query","schemaId":"schema_339","description":"End date of range in which to retrieve enterprise report.","required":true}],"pointer":"/paths/~1enterprise~1report~1enterprise-report~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/enterprise-report/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"start_date","in":"query","required":true,"schemaId":"schema_339"},{"name":"end_date","in":"query","required":true,"schemaId":"schema_339"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/enterprise-report/","href":"esper_cloud_api_daily-and-custom-reports/getenterprisereport","openApiOperationId":"getEnterpriseReport","summary":"Get enterprise report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_407"}},"schemaId":"schema_407"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1enterprise-report~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_407","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_407"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/getenterprisereport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/enterprise-report/"},{"label":"Get group report","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/getgroupreport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/getgroupreport","metadata":{"seo":{"title":"Get group report","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getGroupReport","name":"Get group report","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1group-report~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get group report","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns device count summaries broken down by device group for a specified date-time range."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to get group-level device status aggregates — active, inactive, registered, new, and disabled counts — without per-device detail records."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Group Report"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The group report provides a fleet view organized by Esper device groups, returning one GroupReport object per group within the specified date window. It is a leaner alternative to the device report when group-level aggregates are all that's needed. Both start_date and end_date are required."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"start_date","in":"query","schemaId":"schema_339","description":"Start date of range in which to retrieve group report.","required":true},{"name":"end_date","in":"query","schemaId":"schema_339","description":"End date of range in which to retrieve group report.","required":true},{"name":"sync","in":"query","schemaId":"schema_405","description":"Sync device status report to specified field"}],"pointer":"/paths/~1enterprise~1report~1group-report~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/group-report/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"start_date","in":"query","required":true,"schemaId":"schema_339"},{"name":"end_date","in":"query","required":true,"schemaId":"schema_339"},{"name":"sync","in":"query","required":false,"schemaId":"schema_405"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/group-report/","href":"esper_cloud_api_daily-and-custom-reports/getgroupreport","openApiOperationId":"getGroupReport","summary":"Get group report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_408"}},"schemaId":"schema_408"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1group-report~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_408","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_408"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/getgroupreport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/group-report/"},{"label":"Get list of subscription reports","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/getsubscriptionreports","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/getsubscriptionreports","metadata":{"seo":{"title":"Get list of subscription reports","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSubscriptionReports","name":"Get list of subscription reports","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of subscription reports","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new report subscription that sends scheduled daily reports to one or more email addresses."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supply a list of recipient email addresses in the request body; Esper creates a subscription record and begins delivering daily fleet reports to those recipients."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Report Subscription"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Report subscriptions were Esper's mechanism for automated, scheduled delivery of daily device and fleet status reports via email. Subscriptions are part of the legacy Daily and Custom Reports system and do not exist in the current Reports API. Each subscription holds a list of recipient email addresses and an is_subscribed toggle. The integer id returned on creation is required for all subsequent GET, PUT, PATCH, and DELETE operations on the subscription."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/subscription/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/subscription/","href":"esper_cloud_api_daily-and-custom-reports/getsubscriptionreports","openApiOperationId":"getSubscriptionReports","summary":"Get list of subscription reports"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_409"}},"schemaId":"schema_409"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_409","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_409"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/getsubscriptionreports"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/"},{"label":"Post subscription to enterprise","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/addsubscription","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/addsubscription","metadata":{"seo":{"title":"Post subscription to enterprise","description":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addSubscription","name":"Post subscription to enterprise","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Post subscription to enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all report subscriptions configured for the enterprise."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to inspect which email addresses are enrolled for legacy daily report delivery and the active/inactive state of each subscription record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Report Subscriptions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns all legacy subscription records associated with the enterprise, each containing the recipient email list, subscription status, and timestamps. Subscriptions are not part of the current Reports API — this endpoint is relevant only for enterprises still operating on the legacy Daily and Custom Reports system. Results are paginated with count, next, previous, and results fields."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_410"}},"schemaId":"schema_410","pointer":"/paths/~1enterprise~1report~1subscription~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/enterprise/report/subscription/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_410"}},"responseCodes":["201","400","401","403","500"],"pointer":"/enterprise/report/subscription/","href":"esper_cloud_api_daily-and-custom-reports/addsubscription","openApiOperationId":"addSubscription","summary":"Post subscription to enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_410","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_410"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}},"schemaId":"components/schemas/esper_cloud_api_Subscription"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/esper_cloud_api_Subscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/addsubscription"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/"},{"label":"Get instance of subscription","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/getsubscriptionreport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/getsubscriptionreport","metadata":{"seo":{"title":"Get instance of subscription","description":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getSubscriptionReport","name":"Get instance of subscription","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get instance of subscription","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only.Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a single legacy report subscription record by its integer subscription ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to inspect the full detail of a specific subscription — its recipient email addresses, active/inactive status, and creation and modification timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Report Subscription"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each subscription record represents a configured channel for legacy daily report delivery. This endpoint returns the full Subscription object for the given subscription_id, including email_ids, is_subscribed, created_on, and updated_on. Note that subscription_id is an integer, not a UUID. Subscriptions are part of the legacy Daily and Custom Reports system and do not exist in the current Reports API."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscription_id","in":"path","schemaId":"schema_325","description":"A integer value identifying the subscription","required":true}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/enterprise/report/subscription/{subscription_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"subscription_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/enterprise/report/subscription/{subscription_id}/","href":"esper_cloud_api_daily-and-custom-reports/getsubscriptionreport","openApiOperationId":"getSubscriptionReport","summary":"Get instance of subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}},"schemaId":"components/schemas/esper_cloud_api_Subscription"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Subscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/getsubscriptionreport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/{subscription_id}/"},{"label":"Update subscription","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/updatesubscriptionreport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/updatesubscriptionreport","metadata":{"seo":{"title":"Update subscription","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateSubscriptionReport","name":"Update subscription","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update subscription","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fully replaces an existing legacy report subscription with a new configuration, including an updated recipient list and subscription state."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use PUT when you need to overwrite the complete subscription record — supply email_ids (required) and optionally is_subscribed; omitted fields will be cleared."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Report Subscription (Full)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT performs a full replacement of the subscription resource identified by subscription_id. Unlike PATCH (which supports partial updates), PUT requires email_ids and overwrites all editable fields. Subscriptions are part of the legacy Daily and Custom Reports system and do not exist in the current Reports API. Use PATCH if you only need to change a single field."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscription_id","in":"path","schemaId":"schema_325","description":"A integer value identifying the subscription.","required":true}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_411"}},"schemaId":"schema_411","pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/enterprise/report/subscription/{subscription_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"subscription_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_411"}},"responseCodes":["200","400","401","404","500"],"pointer":"/enterprise/report/subscription/{subscription_id}/","href":"esper_cloud_api_daily-and-custom-reports/updatesubscriptionreport","openApiOperationId":"updateSubscriptionReport","summary":"Update subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_411","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_411"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}},"schemaId":"components/schemas/esper_cloud_api_Subscription"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Subscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/updatesubscriptionreport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/{subscription_id}/"},{"label":"Partially update subscription","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/patchsubscriptionreport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/patchsubscriptionreport","metadata":{"seo":{"title":"Partially update subscription","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"patchSubscriptionReport","name":"Partially update subscription","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Partially update subscription","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Partially updates a legacy report subscription, allowing changes to recipient email addresses or subscription state without replacing the full record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use PATCH when you need to modify only email_ids or is_subscribed — fields omitted from the request body are left unchanged."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Partial Update Report Subscription"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PATCH supports sparse updates to a subscription record. Unlike PUT (full replacement), PATCH lets you supply only the fields to change, making it preferred for toggling is_subscribed or making targeted recipient list changes. Subscriptions are part of the legacy Daily and Custom Reports system and do not exist in the current Reports API."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscription_id","in":"path","schemaId":"schema_325","description":"A integer value identifying the subscription.","required":true}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_412"}},"schemaId":"schema_412","pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/enterprise/report/subscription/{subscription_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"subscription_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_412"}},"responseCodes":["200","400","401","404","500"],"pointer":"/enterprise/report/subscription/{subscription_id}/","href":"esper_cloud_api_daily-and-custom-reports/patchsubscriptionreport","openApiOperationId":"patchSubscriptionReport","summary":"Partially update subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_412","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_412"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"successful operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}},"schemaId":"components/schemas/esper_cloud_api_Subscription"},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_Subscription","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Subscription"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/patchsubscriptionreport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/{subscription_id}/"},{"label":"Deletes instance of subscription","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_daily-and-custom-reports/deletesubscriptionreport","routeSlug":"/openapi/esper_cloud_api_daily-and-custom-reports/deletesubscriptionreport","metadata":{"seo":{"title":"Deletes instance of subscription","description":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteSubscriptionReport","name":"Deletes instance of subscription","isWebhook":false,"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Deletes instance of subscription","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Legacy feature. Android only. Daily and Custom Reports are a legacy feature, and report subscriptions are not part of the current reporting system. For current reporting needs, use the Reports API: GET /report/v0/report-types, POST /report/v0/reports, and GET /report/v0/reports/{report_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a legacy report subscription, stopping all future scheduled report deliveries to its recipients."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This operation is irreversible; the subscription record and its recipient list are removed entirely. Returns HTTP 204 with no response body on success."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Report Subscription"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleting a subscription removes the record and ends automated daily report delivery to all associated email addresses immediately. There is no soft-delete or recovery path. Subscriptions are part of the legacy Daily and Custom Reports system and do not exist in the current Reports API. If you only need to pause delivery temporarily, use PATCH with is_subscribed: false instead of deleting the record."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"subscription_id","in":"path","schemaId":"schema_325","description":"A integer value identifying the subscription.","required":true}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/enterprise/report/subscription/{subscription_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"subscription_id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401","403","404","500"],"pointer":"/enterprise/report/subscription/{subscription_id}/","href":"esper_cloud_api_daily-and-custom-reports/deletesubscriptionreport","openApiOperationId":"deleteSubscriptionReport","summary":"Deletes instance of subscription"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"The resource was deleted successfully."},{"code":"400","description":"Invalid request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1enterprise~1report~1subscription~1{subscription_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"404","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_daily-and-custom-reports/deletesubscriptionreport"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/enterprise/report/subscription/{subscription_id}/"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Daily and Custom Reports"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Daily and Custom Reports","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/enterprise/report/info/","summary":"Get report information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/paths/~1enterprise~1report~1info~1/get","deprecated":false},{"title":"/enterprise/report/device-report/","summary":"Get device status reports within specified date-time range","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/getdevicereport","deprecated":false},{"title":"/enterprise/report/enterprise-report/","summary":"Get enterprise report","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/getenterprisereport","deprecated":false},{"title":"/enterprise/report/group-report/","summary":"Get group report","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/getgroupreport","deprecated":false},{"title":"/enterprise/report/subscription/","summary":"Get list of subscription reports","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/getsubscriptionreports","deprecated":false},{"title":"/enterprise/report/subscription/","summary":"Post subscription to enterprise","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/addsubscription","deprecated":false},{"title":"/enterprise/report/subscription/{subscription_id}/","summary":"Get instance of subscription","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/getsubscriptionreport","deprecated":false},{"title":"/enterprise/report/subscription/{subscription_id}/","summary":"Update subscription","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/updatesubscriptionreport","deprecated":false},{"title":"/enterprise/report/subscription/{subscription_id}/","summary":"Partially update subscription","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/patchsubscriptionreport","deprecated":false},{"title":"/enterprise/report/subscription/{subscription_id}/","summary":"Deletes instance of subscription","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_daily-and-custom-reports/deletesubscriptionreport","deprecated":false}]}]}]}]}},{"type":"group","label":"SSO Connections","link":"/openapi/esper_cloud_api_sso-connections","routeSlug":"/openapi/esper_cloud_api_sso-connections","items":[{"label":"List SSO connections","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_sso-connections/getconnections","routeSlug":"/openapi/esper_cloud_api_sso-connections/getconnections","metadata":{"seo":{"title":"List SSO connections","description":"Lists the SSO connections configured for a tenant. Use it to see every SAML or OIDC identity provider connection set up for the enterprise, along with which one is marked as default."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getConnections","name":"List SSO connections","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List SSO connections","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists the SSO connections configured for a tenant. Use it to see every SAML or OIDC identity provider connection set up for the enterprise, along with which one is marked as default."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a count and an array of connections, each with its connection ID and connection details (name, strategy, is_default). Supports filtering by is_default."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About SSO Connections"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SSO connections let a tenant authenticate users through an external identity provider using SAML (samlp) or OIDC (oidc) rather than Esper's native login. A tenant can have multiple connections configured, with one designated as the default. "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/14266541959569-Introduction-to-User-Authentication"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Learn more"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — optional query filter to return only the connection marked as default"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"strategy — indicates whether a connection is samlp (SAML) or oidc (OIDC)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which identity providers are connected to a tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a connection_id before calling the edit-connection endpoint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List SSO connections of a tenant. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"a","attrs":{"target":"_blank","href":"https://help.esper.io/hc/en-us/articles/14266541959569-Introduction-to-User-Authentication"}},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SSO Connections"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"is_default","in":"query","schemaId":"schema_324","description":"Is Default"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authn2/v0/tenant/{enterprise_id}/connection","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"is_default","in":"query","required":false,"schemaId":"schema_324"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/authn2/v0/tenant/{enterprise_id}/connection","href":"esper_cloud_api_sso-connections/getconnections","openApiOperationId":"getConnections","summary":"List SSO connections"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Tenant connections","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_413"}},"schemaId":"schema_413"},{"code":"400","description":"List custom connections error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_413","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_413"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_sso-connections/getconnections"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/connection"},{"label":"Edit SSO connections","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_sso-connections/editcustomconnection","routeSlug":"/openapi/esper_cloud_api_sso-connections/editcustomconnection","metadata":{"seo":{"title":"Edit SSO connections","description":"Updates an existing SSO connection for a tenant, identified by connection_id. Use it to change a connection's display name, strategy, or provider configuration (SAML or OIDC settings) after it's been created."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"editCustomConnection","name":"Edit SSO connections","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection~1{connection_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Edit SSO connections","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates an existing SSO connection for a tenant, identified by connection_id. Use it to change a connection's display name, strategy, or provider configuration (SAML or OIDC settings) after it's been created."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requires a full request body (display_name, strategy, and the strategy-specific config block); returns the updated connection, including its service provider ACS URL, entity ID, logout URL, and signing certificate link where applicable."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About SSO Connections"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SSO connections let a tenant authenticate users through an external identity provider using SAML (samlp) or OIDC (oidc). Editing a connection updates the underlying provider configuration Esper uses to negotiate SSO logins for that tenant. "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/14266541959569-Introduction-to-User-Authentication"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Learn more"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"strategy — samlp or oidc, determines which config fields apply"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"config.sign_in_url / config.x509_certificate — required for SAML connections"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"config.issuer_url / config.client_id — required for OIDC connections"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rotating a SAML signing certificate or updating an OIDC client ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a connection's display name"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm which strategy (samlp vs oidc) the connection uses before submitting config fields, since each strategy requires different config properties"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"enterprise_id","in":"path","schemaId":"schema_322","description":"Enterprise ID","required":true},{"name":"connection_id","in":"path","schemaId":"schema_322","description":"Connection ID","required":true}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection~1{connection_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_CustomConnectionRequest"}},"schemaId":"components/schemas/esper_cloud_api_CustomConnectionRequest","pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection~1{connection_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/authn2/v0/tenant/{enterprise_id}/connection/{connection_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"enterprise_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"connection_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_CustomConnectionRequest"}},"responseCodes":["200","400","401","403"],"pointer":"/authn2/v0/tenant/{enterprise_id}/connection/{connection_id}","href":"esper_cloud_api_sso-connections/editcustomconnection","openApiOperationId":"editCustomConnection","summary":"Edit SSO connections"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_CustomConnectionRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_CustomConnectionRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated connection","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_CustomConnectionResponse"}},"schemaId":"components/schemas/esper_cloud_api_CustomConnectionResponse"},{"code":"400","description":"custom connection update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"403","description":"Forbidden, no permission to perform this action.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1tenant~1{enterprise_id}~1connection~1{connection_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_CustomConnectionResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_CustomConnectionResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"403","schemaId":"components/schemas/esper_cloud_api_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_sso-connections/editcustomconnection"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/tenant/{enterprise_id}/connection/{connection_id}"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_SSO Connections"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"SSO Connections","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/authn2/v0/tenant/{enterprise_id}/connection","summary":"List SSO connections","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_sso-connections/getconnections","deprecated":false},{"title":"/authn2/v0/tenant/{enterprise_id}/connection/{connection_id}","summary":"Edit SSO connections","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_sso-connections/editcustomconnection","deprecated":false}]}]}]}]}},{"type":"group","label":"Roles","link":"/openapi/esper_cloud_api_roles","routeSlug":"/openapi/esper_cloud_api_roles","items":[{"label":"List Roles API","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/getroleurl","routeSlug":"/openapi/esper_cloud_api_roles/getroleurl","metadata":{"seo":{"title":"List Roles API","description":"Returns all custom RBAC roles defined for the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRoleURL","name":"List Roles API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Roles API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all custom RBAC roles defined for the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to enumerate available roles before assigning one to a user, or to audit the set of custom roles that have been created for fine-grained access control."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Roles"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's authorization service supports custom roles as an alternative to the built-in fixed roles. Each custom role has a name, description, and a set of scopes that define what actions users assigned to that role can perform. This endpoint returns all custom roles for the tenant as a roles array alongside a count field. Role IDs returned here are used with PUT /authz2/v1/users/{user_id} when assigning an AuthZ Role User and with the role detail and scopes endpoints for management."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the role; used in all subsequent role management and user assignment calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the display name of the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — a human-readable description of the role's intended purpose"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role_type — integer indicating the type of role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enumerating available custom roles before assigning one to a newly invited user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing role names and IDs as part of an access management review"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving role_id values to then call GET /authz2/v1/roles/{role_id}/scopes to inspect what each role permits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cache role IDs in automation "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"s rather than calling this endpoint on every user assignment — custom roles change infrequently"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use role description fields consistently when creating roles to make this list actionable during audits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference role assignments against GET /user/ to identify users assigned to each custom role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/ to retrieve all custom roles and their IDs"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the target role by name or description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/{role_id}/scopes with the role's id to inspect its permission set"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the role id in user assignments (PUT /authz2/v1/users/{user_id}) as needed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authz2/v1/roles/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/","href":"esper_cloud_api_roles/getroleurl","openApiOperationId":"GetRoleURL","summary":"List Roles API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_414"}},"schemaId":"schema_414"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_414","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_414"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/getroleurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/"},{"label":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default.","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/postroleurl","routeSlug":"/openapi/esper_cloud_api_roles/postroleurl","metadata":{"seo":{"title":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default.","description":"Creates a new custom RBAC role for the tenant with a specified name and description."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PostRoleURL","name":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default.","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new custom RBAC role for the tenant with a specified name and description."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to define a new role as part of setting up fine-grained access control — then assign scopes to it via PUT /authz2/v1/roles/{role_id}/scopes before assigning it to users."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Role"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom roles in Esper allow Enterprise Admins(and other users with certain permissions) to define permission sets that are more granular than the built-in fixed roles. A newly created role has no scopes by default — it must be populated with the desired action permissions via PUT /authz2/v1/roles/{role_id}/scopes before it grants any meaningful access. Once scoped, the role can be assigned to users by setting their role to AuthZ Role User and providing the role's UUID as authz_role_id via PUT /authz2/v1/users/{user_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the display name for the new role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — a human-readable description of the role's intended purpose and scope of access"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the newly created role; store this immediately for use in scope assignment and user assignment calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the name as set in the request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — the description as set in the request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role_type — integer indicating the type of role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creating a read-only role for auditors that grants only read:device and read:group scopes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defining a role for field technicians with a limited set of device command permissions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a role hierarchy for multi-team fleet management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always follow role creation immediately with PUT /authz2/v1/roles/{role_id}/scopes — a role with no scopes assigned will not grant users any access"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use clear, descriptive name and description values that reflect the intended job function, not the technical scope list, to keep the role list auditable"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned id before making any further calls — it is required for scope assignment and cannot be retrieved from this response again without calling GET /authz2/v1/roles/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to this endpoint with a name and description for the new role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned role id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call PUT /authz2/v1/roles/{role_id}/scopes to assign the desired permission scopes to the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign the role to users via PUT /authz2/v1/users/{user_id} with role: AuthZ Role User and the role UUID as authz_role_id"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"schemaId":"components/schemas/esper_cloud_api_Role","pointer":"/paths/~1authz2~1v1~1roles~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/authz2/v1/roles/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/","href":"esper_cloud_api_roles/postroleurl","openApiOperationId":"PostRoleURL","summary":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_Role","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}},"schemaId":"components/schemas/esper_cloud_api_RoleResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_RoleResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/postroleurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/"},{"label":"Get Role API","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/getroleidurl","routeSlug":"/openapi/esper_cloud_api_roles/getroleidurl","metadata":{"seo":{"title":"Get Role API","description":"Retrieves the details of a specific custom RBAC role by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRoleIdURL","name":"Get Role API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Role API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a specific custom RBAC role by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to confirm a role's name, description, and type before updating it or assigning it to a user."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Role"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint returns the metadata for a single custom role — name, description, and role_type — identified by its UUID. It does not return the role's associated scopes; use GET /authz2/v1/roles/{role_id}/scopes to retrieve the permission set. This endpoint is useful for validating role details before making updates via PATCH /authz2/v1/roles/{role_id}."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the display name of the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — the human-readable description of the role's intended purpose"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role_type — integer indicating the type of role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming role details before assigning it to a user via PUT /authz2/v1/users/{user_id}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying that a role's name and description are accurate before referencing it in documentation or automation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving role metadata as a precursor to updating it via PATCH /authz2/v1/roles/{role_id}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authz2/v1/roles/ first if you don't have the role_id — this endpoint requires it as a path parameter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pair this with GET /authz2/v1/roles/{role_id}/scopes to get a complete picture of what a role does before assigning it to users"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the role_id from GET /authz2/v1/roles/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/{role_id} to confirm the role's name and description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Proceed with user assignment or update as needed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"role_id","in":"path","schemaId":"schema_322","description":"Role ID","required":true}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authz2/v1/roles/{role_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"role_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/{role_id}","href":"esper_cloud_api_roles/getroleidurl","openApiOperationId":"GetRoleIdURL","summary":"Get Role API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}},"schemaId":"components/schemas/esper_cloud_api_RoleResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_RoleResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/getroleidurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/{role_id}"},{"label":"Patch Role API","deprecated":false,"httpVerb":"patch","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/updateroleidurl","routeSlug":"/openapi/esper_cloud_api_roles/updateroleidurl","metadata":{"seo":{"title":"Patch Role API","description":"Updates the name and/or description of an existing custom RBAC role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"UpdateRoleIdURL","name":"Patch Role API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/patch","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Patch Role API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the name and/or description of an existing custom RBAC role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to correct a role's display name or description without affecting the scopes or user assignments associated with that role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Patch Role"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint modifies the metadata of an existing custom role — its name and description — and leaves the role's assigned scopes and user assignments unchanged. It accepts the same Role schema as POST /authz2/v1/roles/. To modify the permissions a role grants, use PUT /authz2/v1/roles/{role_id}/scopes instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the updated display name for the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — the updated description for the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a role after a team restructure or job function change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting a typo or clarifying a role description to make the role list more auditable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Notify any Enterprise Admins or automation that reference this role by name that it has been renamed — role_id is stable across renames but human-readable references in scripts or documentation are not"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authz2/v1/roles/{role_id} to confirm the current name and description before updating"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/{role_id} to confirm the current role metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PATCH to this endpoint with the updated name and/or description"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the changes in the returned RoleResponse"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"role_id","in":"path","schemaId":"schema_322","description":"Role ID","required":true}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/patch/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"schemaId":"components/schemas/esper_cloud_api_Role","pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/patch/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PATCH","path":"/authz2/v1/roles/{role_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"role_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/{role_id}","href":"esper_cloud_api_roles/updateroleidurl","openApiOperationId":"UpdateRoleIdURL","summary":"Patch Role API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/esper_cloud_api_Role","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_Role"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}},"schemaId":"components/schemas/esper_cloud_api_RoleResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/patch/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_RoleResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_RoleResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/updateroleidurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/{role_id}"},{"label":"Delete Role API","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/deleteroleidurl","routeSlug":"/openapi/esper_cloud_api_roles/deleteroleidurl","metadata":{"seo":{"title":"Delete Role API","description":"Permanently deletes a custom RBAC role from the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DeleteRoleIdURL","name":"Delete Role API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Role API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a custom RBAC role from the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to remove a role that is no longer needed — all users currently assigned to it must be reassigned to a different role before deletion will succeed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Role"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleting a custom role removes it from the tenant permanently. Any users currently assigned to this role via AuthZ Role User must be reassigned to a different role before this endpoint can be called — attempting to delete a role with active user assignments will fail. Returns HTTP 204 on success with no response body."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"role_id — the UUID of the role to delete; obtain from GET /authz2/v1/roles/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing a role that was created for a temporary project or team that no longer exists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up duplicate or incorrectly configured roles during an access audit"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before deleting, call GET /user/ and cross-reference profile.authz_role_id to identify any users still assigned to this role — you must reassign or remove them before deletion will succeed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm deletion success via the 204 response before removing the role from any internal documentation or automation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/ to confirm the target role's role_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /user/ and cross-reference profile.authz_role_id to identify all users assigned to this role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call PUT /authz2/v1/users/{user_id} for each assigned user to reassign them to a different role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /authz2/v1/roles/{role_id} once no users remain assigned to the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the 204 response indicating successful deletion"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"role_id","in":"path","schemaId":"schema_322","description":"Role ID","required":true}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/authz2/v1/roles/{role_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"role_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","400","401"],"pointer":"/authz2/v1/roles/{role_id}","href":"esper_cloud_api_roles/deleteroleidurl","openApiOperationId":"DeleteRoleIdURL","summary":"Delete Role API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted succesfully"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/deleteroleidurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/{role_id}"},{"label":"Update Role Scopes API","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/putrolescopeurl","routeSlug":"/openapi/esper_cloud_api_roles/putrolescopeurl","metadata":{"seo":{"title":"Update Role Scopes API","description":"Replaces the full set of permission scopes assigned to a custom RBAC role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"PutRoleScopeURL","name":"Update Role Scopes API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Role Scopes API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replaces the full set of permission scopes assigned to a custom RBAC role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint after creating a new role to add its initial scopes, or to update an existing role's permissions when access requirements change."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Role Scopes"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scopes define the specific actions a custom role grants — such as reading device data, issuing commands, or managing groups. This endpoint performs a full replacement of a role's scope set; any scopes not included in the request will be removed. Scopes can be specified either by UUID (scope_ids) or by name string (scope_names). A newly created role has no scopes by default and must be populated via this endpoint before it grants meaningful access to assigned users."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"scope_ids — array of scope UUIDs to assign to the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"scope_names — array of scope name strings to assign; valid values include read:device, read:group, read:blueprint, read:directory_record, and a range of create:device_command:* and create:group_command:* action scopes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Populating a newly created role with its initial permission set"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Expanding a role's permissions after a team's responsibilities grow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Narrowing a role's permissions during an access review by replacing the scope set with a reduced list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat every call to this endpoint as a full replacement — always include the complete intended scope set, not just the scopes you want to add"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authz2/v1/roles/{role_id}/scopes first to retrieve the current scope set before making changes, to avoid accidentally removing permissions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use scope_names rather than scope_ids in automation where possible — names are stable and human-readable, making scripts easier to maintain"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After updating scopes, verify the change took effect via GET /authz2/v1/roles/{role_id}/scopes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/{role_id}/scopes to retrieve the current scope set"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build the updated scope list, including all scopes that should remain plus any new additions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to this endpoint with the full intended scope set as scope_names or scope_ids"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the updated scopes via GET /authz2/v1/roles/{role_id}/scopes"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"role_id","in":"path","schemaId":"schema_322","description":"Role ID","required":true}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"schemaId":"schema_415","pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/authz2/v1/roles/{role_id}/scopes","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"role_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_415"}},"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/{role_id}/scopes","href":"esper_cloud_api_roles/putrolescopeurl","openApiOperationId":"PutRoleScopeURL","summary":"Update Role Scopes API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_415","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_415"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}},"schemaId":"schema_416"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_416","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/putrolescopeurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/{role_id}/scopes"},{"label":"List Role Scopes API","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_roles/getrolescopeurl","routeSlug":"/openapi/esper_cloud_api_roles/getrolescopeurl","metadata":{"seo":{"title":"List Role Scopes API","description":"Returns the permission scopes currently assigned to a specific custom RBAC role."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"GetRoleScopeURL","name":"List Role Scopes API","isWebhook":false,"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List Role Scopes API","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the permission scopes currently assigned to a specific custom RBAC role."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to inspect what actions a role grants before assigning it to a user, or to retrieve the current scope set before making updates."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Role Scopes"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each custom role in Esper has a set of scopes that define the actions users assigned to that role are permitted to perform — such as reading device data, issuing specific commands, or managing group membership. This endpoint returns those scopes as a scopes array alongside a count field. Results include each scope's UUID, name, description, and type. This is the reference endpoint to call before using PUT /authz2/v1/roles/{role_id}/scopes to modify a role's permissions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the scope; used with PUT /authz2/v1/roles/{role_id}/scopes when updating via scope_ids"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the scope name string (e.g., read:device, create:device_command:REBOOT)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — a human-readable description of what the scope permits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"scope_type — integer indicating the type of scope"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing what permissions a role grants before assigning it to a user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the current scope set as a baseline before updating it via PUT /authz2/v1/roles/{role_id}/scopes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying that a scope update was applied correctly after calling the update endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always call this endpoint before PUT /authz2/v1/roles/{role_id}/scopes — since that endpoint performs a full replacement, knowing the current set prevents accidental permission removal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use scope name values from the response to build human-readable access summaries for audit reports"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authz2/v1/roles/{role_id}/scopes to retrieve all scopes currently assigned to the role"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the name and description of each scope to confirm the role's permission set"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the results as the baseline when preparing an update via PUT /authz2/v1/roles/{role_id}/scopes"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"esper_cloud_api_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"role_id","in":"path","schemaId":"schema_322","description":"Role ID","required":true}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authz2/v1/roles/{role_id}/scopes","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"role_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/authz2/v1/roles/{role_id}/scopes","href":"esper_cloud_api_roles/getrolescopeurl","openApiOperationId":"GetRoleScopeURL","summary":"List Role Scopes API"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Request Succeded","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}},"schemaId":"schema_416"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authz2~1v1~1roles~1{role_id}~1scopes/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_416","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_416"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_roles/getrolescopeurl"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authz2/v1/roles/{role_id}/scopes"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Roles"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Roles","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/authz2/v1/roles/","summary":"List Roles API","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/getroleurl","deprecated":false},{"title":"/authz2/v1/roles/","summary":"Create a new role. Then optionally add scopes by using the Update Role Scopes API. No scopes are added by default.","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/postroleurl","deprecated":false},{"title":"/authz2/v1/roles/{role_id}","summary":"Get Role API","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/getroleidurl","deprecated":false},{"title":"/authz2/v1/roles/{role_id}","summary":"Patch Role API","prefix":{"name":"patch","color":"patch"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/updateroleidurl","deprecated":false},{"title":"/authz2/v1/roles/{role_id}","summary":"Delete Role API","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/deleteroleidurl","deprecated":false},{"title":"/authz2/v1/roles/{role_id}/scopes","summary":"Update Role Scopes API","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/putrolescopeurl","deprecated":false},{"title":"/authz2/v1/roles/{role_id}/scopes","summary":"List Role Scopes API","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_roles/getrolescopeurl","deprecated":false}]}]}]}]}},{"type":"group","label":"Personal Access Token","link":"/openapi/esper_cloud_api_personal-access-token","routeSlug":"/openapi/esper_cloud_api_personal-access-token","items":[{"label":"Generate a new personal access token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/post","routeSlug":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/post","metadata":{"seo":{"title":"Generate a new personal access token","description":"Generates a new personal access token (API key) for the authenticated user, scoped to the current tenant.Use this endpoint to create a named, expiry-controlled API key for programmatic access to the Esper API."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Generate a new personal access token","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1personal-access-token~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate a new personal access token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generates a new personal access token (API key) for the authenticated user, scoped to the current tenant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to create a named, expiry-controlled API key for programmatic access to the Esper API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Generate Personal Access Token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access tokens are named, expiry-controlled API keys tied to a specific user and tenant. They replace the legacy developer app token system (see POST /v0/enterprise/{enterprise_id}/developerapp/{developerapp_id}/renew-token/, which is deprecated). Personal access tokens are scoped to the authenticated caller — this endpoint generates an API key for the user associated with the API key making the request, and cannot be used to create API keys on behalf of other users. The full API key value is returned only in the response to this create call — it is not retrievable again via the list endpoint, which returns only the key prefix. Store the API key value securely immediately after creation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — (required) a human-readable label for the API key, used to identify it in the token list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — (required) a description of the API key's intended use"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry_at — (required) the expiry date as a Unix timestamp integer; set to -1 for a non-expiring API key"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the newly created token record; store this for use in renewal and deletion calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token — the full API key value; this is the only time it is returned — store it securely immediately"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prefix — a short prefix of the API key, used to identify it in future list responses"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry_at — the expiry timestamp as set in the request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creating an API key for a CI/CD pipeline or automated script"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a long-lived API key for an integration that cannot handle session-based authentication"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issuing a dedicated API key for a specific integration or team member"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the token value from the response immediately and securely — it cannot be retrieved again after this call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the id alongside the API key value for future renewal or deletion via PUT and DELETE /authn2/v0/personal-access-token/{personal_access_token_id}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set a meaningful expiry_at value rather than using -1 (no expiry) wherever possible — expiring API keys reduce the blast radius of credential leaks"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use distinct name and description values per API key to make the list endpoint actionable during audits"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to this endpoint with a name, description, and expiry_at"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Immediately store the returned token value and id securely"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the API key value in subsequent Esper API calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Track the expiry_at and renew via PUT /authn2/v0/personal-access-token/{personal_access_token_id} before expiry"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_417"}},"schemaId":"schema_417","pointer":"/paths/~1authn2~1v0~1personal-access-token~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/authn2/v0/personal-access-token/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_417"}},"responseCodes":["200","400","401"],"pointer":"/authn2/v0/personal-access-token/","href":"esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/post","summary":"Generate a new personal access token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_417","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_417"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Token successfully generated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse"}},"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/personal-access-token/"},{"label":"Get tokens for corresponding user and tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/get","routeSlug":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/get","metadata":{"seo":{"title":"Get tokens for corresponding user and tenant","description":"Returns the full list of tokens for the current user and tenant. Tokens are scoped to the authenticated caller. This endpoint only returns tokens belonging to the user associated with the API key making the request, not tokens for other users in the tenant. Use this endpoint to locate the id of a specific token for use with the renew (PUT) or delete (DELETE) endpoints."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get tokens for corresponding user and tenant","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1personal-access-token~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get tokens for corresponding user and tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full list of tokens for the current user and tenant. Tokens are scoped to the authenticated caller. This endpoint only returns tokens belonging to the user associated with the API key making the request, not tokens for other users in the tenant. Use this endpoint to locate the id of a specific token for use with the renew (PUT) or delete (DELETE) endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit active API keys, identify keys approaching expiry, or retrieve token IDs for renewal or deletion."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Personal Access Tokens"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full list of personal access tokens for the current user and tenant. Personal access tokens are scoped to the authenticated caller. This endpoint only returns API keys belonging to the user associated with the API key making the request, not those belonging to other users in the tenant. Use this endpoint to locate the id of a specific token for use with the renew (PUT) or delete (DELETE) endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the token record; use with PUT and DELETE /authn2/v0/personal-access-token/{personal_access_token_id}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — the human-readable label assigned at creation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — the description assigned at creation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"prefix — a short prefix of the API key; use this to identify which key corresponds to a known credential without exposing the secret"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry_at — the expiry as a Unix timestamp; -1 indicates no expiry"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — timestamps for the token record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"legacy_token_id / legacy_developer_app_id — references to the legacy token system, if applicable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which API keys are active for the current user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying API keys approaching expiry so they can be renewed before they stop working"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the id of a specific token for renewal or deletion when the ID was not stored at creation time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use prefix values to match list entries to known API keys in your secrets store — the full key value is never returned here"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Regularly review expiry_at values and renew any API keys that will expire before your next maintenance window"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat any token with a legacy_token_id as a migration candidate — consider replacing it with a new personal access token and retiring the legacy credential"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v0/personal-access-token/ to retrieve all API keys for the current user"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the target token by name, prefix, or expiry_at"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the token id with PUT .../personal-access-token/{personal_access_token_id} to renew, or DELETE to revoke"},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/authn2/v0/personal-access-token/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401"],"pointer":"/authn2/v0/personal-access-token/","href":"esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/get","summary":"Get tokens for corresponding user and tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse"}},"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/personal-access-token/"},{"label":"Renew personal access token","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put","routeSlug":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put","metadata":{"seo":{"title":"Renew personal access token","description":"Renews a personal access token by updating its expiry date."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Renew personal access token","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Renew personal access token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renews a personal access token by updating its expiry date."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to extend the validity of an existing API key before it expires, without needing to generate a new key and update credentials in all systems that use it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Renew Personal Access Token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Personal access tokens are API keys with an expiry date set at creation. This endpoint extends the expiry in place — the API key value itself does not change, only the expiry_at timestamp is updated. Personal access tokens are scoped to the authenticated caller — only API keys belonging to the user associated with the API key making the request can be renewed; those belonging to other users cannot be managed here. The API key value is returned in the response. API keys created with expiry_at: -1 (no expiry) can also be updated to add an expiry via this endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry_at — (required) the new expiry date as a Unix timestamp integer; set to -1 for no expiry"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields (Response)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — the UUID of the token record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token — the API key value (unchanged); returned here for convenience"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiry_at — the updated expiry timestamp as set in the request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"updated_at — timestamp confirming when the renewal was applied"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Extending an API key's validity before it expires to avoid service interruption in automated integrations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Converting an API key from a fixed expiry to no expiry (or vice versa) by updating expiry_at"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renewing an API key as part of a scheduled credential rotation policy"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v0/personal-access-token/ to retrieve the personal_access_token_id if it was not stored at creation time — match by name or prefix"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renew API keys before they expire rather than after — a lapsed key will cause API calls to fail until renewed or replaced"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Keep a record of each API key's expiry_at in your secrets management system so renewals can be scheduled proactively"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v0/personal-access-token/ to identify the target token and retrieve its id if needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to this endpoint with the new expiry_at value"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the updated expiry_at in the response"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"personal_access_token_id","in":"path","schemaId":"schema_322","description":"Personal Access Token Id","required":true}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_418"}},"schemaId":"schema_418","pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/authn2/v0/personal-access-token/{personal_access_token_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"personal_access_token_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_418"}},"responseCodes":["200","400","401"],"pointer":"/authn2/v0/personal-access-token/{personal_access_token_id}","href":"esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put","summary":"Renew personal access token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_418","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_418"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"OK","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse"}},"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse"}}},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/personal-access-token/{personal_access_token_id}"},{"label":"Delete personal access token","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete","routeSlug":"/openapi/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete","metadata":{"seo":{"title":"Delete personal access token","description":"Permanently revokes a personal access token (API key), immediately invalidating any API calls that use it."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete personal access token","isWebhook":false,"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete personal access token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently revokes a personal access token (API key), immediately invalidating any API calls that use it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to decommission an API key that is no longer needed, has been compromised, or belongs to a user who is leaving the organization."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Personal Access Token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleting a personal access token permanently revokes the API key — any integration or script using it will receive authentication errors on its next call. Personal access tokens are scoped to the authenticated caller — only API keys belonging to the user associated with the API key making the request can be deleted; those belonging to other users cannot be managed here. Deletion is immediate with no grace period. Returns HTTP 204 on success with no response body. If an API key needs to be replaced rather than simply revoked, generate a new one via POST /authn2/v0/personal-access-token/ and update all dependent systems before deleting the old key."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"personal_access_token_id — the UUID of the token record to revoke; obtain from GET /authn2/v0/personal-access-token/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Revoking an API key that may have been exposed or compromised"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning an API key used by a departing team member or retired integration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up unused or expired API keys during a credential audit"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the API key is in active use, generate and deploy a replacement via POST /authn2/v0/personal-access-token/ before deleting the old one to avoid service interruption"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /authn2/v0/personal-access-token/ to confirm the correct personal_access_token_id by matching on name or prefix before deleting — revocation is immediate and irreversible"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the 204 response before notifying stakeholders that the API key has been revoked"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /authn2/v0/personal-access-token/ to identify the target token and retrieve its id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the API key is in active use, generate and deploy a replacement first"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /authn2/v0/personal-access-token/{personal_access_token_id}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the 204 response indicating successful revocation"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"personal_access_token_id","in":"path","schemaId":"schema_322","description":"Personal Access Token Id","required":true}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/authn2/v0/personal-access-token/{personal_access_token_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"personal_access_token_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["204","400","401"],"pointer":"/authn2/v0/personal-access-token/{personal_access_token_id}","href":"esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete","summary":"Delete personal access token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"OK"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}},"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}],"pointer":"/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204"},{"code":"400","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}},{"code":"401","schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/esper_cloud_api_GenericErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/authn2/v0/personal-access-token/{personal_access_token_id}"}],"content":{"contentType":"group","meta":{"name":"esper_cloud_api_Personal Access Token"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Personal Access Token","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/authn2/v0/personal-access-token/","summary":"Generate a new personal access token","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/post","deprecated":false},{"title":"/authn2/v0/personal-access-token/","summary":"Get tokens for corresponding user and tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1/get","deprecated":false},{"title":"/authn2/v0/personal-access-token/{personal_access_token_id}","summary":"Renew personal access token","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/put","deprecated":false},{"title":"/authn2/v0/personal-access-token/{personal_access_token_id}","summary":"Delete personal access token","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/esper_cloud_api_personal-access-token/paths/~1authn2~1v0~1personal-access-token~1{personal_access_token_id}/delete","deprecated":false}]}]}]}]}},{"type":"separator","label":"BLUEPRINTS","content":null},{"type":"group","label":"Blueprints API","link":"/openapi/blueprints_blueprints-api","routeSlug":"/openapi/blueprints_blueprints-api","items":[{"label":"/v2/blueprints/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1/get","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1/get","metadata":{"seo":{"title":"/v2/blueprints/","description":"Retrieves a paginated list of all Blueprint V2 blueprints in the enterprise, with optional filtering and sorting.Returns an array of BlueprintV2 objects matching the provided filters; supports filtering by name (case-insensitive or exact), by app or app version IDs across Android, iOS, and Windows, by file or Wi-Fi network references, and by iOS provisioning profile. Results can be ordered by any supported field using the ordering parameter."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all Blueprint V2 blueprints in the enterprise, with optional filtering and sorting."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns an array of BlueprintV2 objects matching the provided filters; supports filtering by name (case-insensitive or exact), by app or app version IDs across Android, iOS, and Windows, by file or Wi-Fi network references, and by iOS provisioning profile. Results can be ordered by any supported field using the ordering parameter."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Blueprints (V2)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints in Esper define the desired state for managed devices — grouping app assignments, device settings, policies, and content into a reusable configuration template. Blueprint V2 is the current, supported version of the blueprint system; Blueprint V1 is deprecated. This endpoint lists all blueprints scoped to the enterprise, enabling integrators to build UIs, trigger automated deployments, or audit which blueprints reference a given app, file, or network configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Filter by blueprint name, case-insensitive partial match"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name_exact — Filter by exact name, case-sensitive"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — Sort results by a field (prefix with - for descending); combine multiple fields with commas (e.g., -created_at,-updated_at)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__android__app_id — Filter to blueprints that include a specific Android app (by Esper app UUID)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__android__app_version_id — Filter to blueprints that include a specific Android app version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__ios__app_id / settings__ios__app_version_id — Same as above for iOS apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__windows__app_id / settings__windows__app_version_id — Same as above for Windows apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__android__file_id — Filter to blueprints that reference a specific managed file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__android__wifi_network_id — Filter to blueprints that include a specific Wi-Fi network profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__ios__provisioning_profile_id / settings__ios__provisioning_profile_version_id — Filter by iOS provisioning profile or profile version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listing all blueprints to populate a blueprint selection UI or dashboard"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding which blueprints reference a specific app version before pushing an update or deprecating a version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all blueprints that use a particular Wi-Fi network or managed file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving all iOS blueprints that include a specific provisioning profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use settings__* filter parameters when tracing blueprint dependencies on a specific resource — this is faster than fetching all blueprints and filtering client-side"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use name for fuzzy search and name_exact when integrating with systems that require precise name matching"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate results using next and previous links in the response for large blueprint libraries"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /api/v2/blueprints/ with any relevant filter parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect the count field in the response to determine if pagination is needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Iterate through next links to retrieve subsequent pages if next is non-null"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order the results by a specific field (-field for descending order), Combine Multiple with , like -created_at,-updated_at."},"children":[]}]}]}]},{"name":"name","in":"query","schemaId":"schema_323","description":"Filter the results by name, case insensitive\n"},{"name":"name_exact","in":"query","schemaId":"schema_323","description":"Filter the results by name, case sensitive and matches exact name\n"},{"name":"settings__android__app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_id in any of the versions for android apps."},"children":[]}]}]}]},{"name":"settings__android__app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_version_id in any of the versions for android apps."},"children":[]}]}]}]},{"name":"settings__ios__app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_id in any of the versions for ios apps."},"children":[]}]}]}]},{"name":"settings__ios__app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_version_id in any of the versions for ios apps."},"children":[]}]}]}]},{"name":"settings__windows__app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_id in any of the versions for windows apps."},"children":[]}]}]}]},{"name":"settings__windows__app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_version_id in any of the versions for windows apps."},"children":[]}]}]}]},{"name":"settings__android__file_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given file_id in any of the versions."},"children":[]}]}]}]},{"name":"settings__android__wifi_network_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given wifi_network_id in any of the versions."},"children":[]}]}]}]},{"name":"settings__ios__provisioning_profile_id","in":"query","schemaId":"schema_322","description":"Filter blueprints that have the given provisioning profile ID in any version.\n"},{"name":"settings__ios__provisioning_profile_version_id","in":"query","schemaId":"schema_322","description":"Filter blueprints that have the given provisioning profile version ID in any version.\n"},{"name":"settings__tvos__app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_id in any of the versions for tvos apps."},"children":[]}]}]}]},{"name":"settings__tvos__app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given app_version_id in any of the versions for tvos apps."},"children":[]}]}]}]},{"name":"settings__tvos__provisioning_profile_id","in":"query","schemaId":"schema_322","description":"Filter blueprints that have the given provisioning profile ID in any version for tvos.\n"},{"name":"settings__tvos__provisioning_profile_version_id","in":"query","schemaId":"schema_322","description":"Filter blueprints that have the given provisioning profile version ID in any version for tvos.\n"}],"pointer":"/paths/~1v2~1blueprints~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprints/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"name","in":"query","schemaId":"schema_323"},{"name":"name_exact","in":"query","schemaId":"schema_323"},{"name":"settings__android__app_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__app_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__app_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__app_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__windows__app_id","in":"query","schemaId":"schema_322"},{"name":"settings__windows__app_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__file_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__wifi_network_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__provisioning_profile_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__provisioning_profile_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__app_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__app_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__provisioning_profile_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__provisioning_profile_version_id","in":"query","schemaId":"schema_322"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/v2/blueprints/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_419"}},"schemaId":"schema_419"}],"pointer":"/paths/~1v2~1blueprints~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_419","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_419"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/"},{"label":"/v2/blueprints/","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1/post","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1/post","metadata":{"seo":{"title":"/v2/blueprints/","description":"Creates a new blueprint in the enterprise. Blueprints define device configuration and management rules (for example, kiosk/device mode settings, app/file payloads, Wi-Fi networks, and OS-specific restrictions). After you create a blueprint, you can publish versions and then assign/apply it to devices through separate workflows. Creating a blueprint doesn’t affect devices by itself. Devices won’t change until the blueprint (and typically a specific version) is assigned/applied via a separate endpoint/workflow. Because the create response is list-shaped, you should read the new blueprint ID from content.results[0].id. If your workflow relies on versioning, capture both the blueprint id and the returned version_id (if present in your create response), since later calls may require one or the other. Workflow: After creating a bluerprint, assign a device or group to it using POST https://{foo}-api.esper.cloud/api/v2/converge"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new blueprint in the enterprise. Blueprints define device configuration and management rules (for example, kiosk/device mode settings, app/file payloads, Wi-Fi networks, and OS-specific restrictions). After you create a blueprint, you can publish versions and then assign/apply it to devices through separate workflows. Creating a blueprint doesn’t affect devices by itself. Devices won’t change until the blueprint (and typically a specific version) is assigned/applied via a separate endpoint/workflow. Because the create response is list-shaped, you should read the new blueprint ID from content.results[0].id. If your workflow relies on versioning, capture both the blueprint id and the returned version_id (if present in your create response), since later calls may require one or the other. Workflow: After creating a bluerprint, assign a device or group to it using POST https://{foo}-api.esper.cloud/api/v2/converge"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2"}},"schemaId":"components/schemas/blueprints_BlueprintV2","pointer":"/paths/~1v2~1blueprints~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/blueprints/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2"}},"responseCodes":["201","400"],"pointer":"/v2/blueprints/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1/post"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/blueprints_BlueprintV2","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_420"}},"schemaId":"schema_420"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_421"}},"schemaId":"schema_421"}],"pointer":"/paths/~1v2~1blueprints~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_420","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_420"}}},{"code":"400","schemaId":"schema_421","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_421"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/"},{"label":"/v2/blueprints/{blueprint_id}/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/get","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/get","metadata":{"seo":{"title":"/v2/blueprints/{blueprint_id}/","description":"Retrieves the full configuration for a single blueprint by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/{blueprint_id}/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/{blueprint_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full configuration for a single blueprint by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the BlueprintV2 object representing the blueprint's current configuration and metadata. This does not return version-specific settings on its own; use the versions endpoints to retrieve a specific published version's configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Blueprint"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints define device configuration and management rules, including kiosk and device mode settings, app and file payloads, Wi-Fi networks, and OS-specific restrictions. This endpoint returns the blueprint record itself; the actual configuration a device receives comes from a specific version of the blueprint, retrieved separately through the versions endpoints. Blueprint V2 is the current version of this system and should be used for all new integrations; Blueprint V1 (the older devicegroup-scoped blueprint endpoints) is deprecated."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a blueprint's current metadata before publishing a new version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a blueprint exists and is accessible before assigning it to a device or group through Converge"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned id together with the versions endpoints to retrieve the specific configuration a device will receive"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat a 404 response as meaning the blueprint_id does not exist or was deleted, not as a transient error"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the blueprint_id from a blueprint list or from POST /v2/blueprints/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the blueprint record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/blueprints/{blueprint_id}/versions/ to see its published versions"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"blueprint_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprints/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/v2/blueprints/{blueprint_id}/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_420"}},"schemaId":"schema_420"},{"code":"404","description":"Content not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_422"}},"schemaId":"schema_422"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_420","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_420"}}},{"code":"404","schemaId":"schema_422","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_422"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/{blueprint_id}/"},{"label":"/v2/blueprints/{blueprint_id}/","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/put","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/put","metadata":{"seo":{"title":"/v2/blueprints/{blueprint_id}/","description":"Updates a blueprint's top-level record by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/{blueprint_id}/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/{blueprint_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates a blueprint's top-level record by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This performs a full replacement of the blueprint's editable fields using the BlueprintV2Put schema. It updates the blueprint record itself, not a specific version; to change the configuration devices actually receive, publish a new version instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Blueprint"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Because Converge applies a specific version rather than the blueprint record directly, updating the blueprint itself is typically limited to metadata-level changes rather than configuration changes. If the goal is to change what devices receive (apps, files, restrictions, and so on), the correct approach is to create a new blueprint version rather than editing the existing blueprint record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renaming a blueprint or updating its top-level metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting a blueprint record without affecting any of its published versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm whether the change belongs on the blueprint record or on a new version before calling this endpoint; device-facing configuration changes belong on a version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provide the full set of editable fields in the request body, since this is a full replacement rather than a partial update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/blueprints/{blueprint_id}/ to review the current record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prepare the full BlueprintV2Put payload with the updated fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to this endpoint to apply the update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the change with a follow-up GET"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"blueprint_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2Put"}},"schemaId":"components/schemas/blueprints_BlueprintV2Put","pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/blueprints/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2Put"}},"responseCodes":["200","400","404"],"pointer":"/v2/blueprints/{blueprint_id}/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/put"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/blueprints_BlueprintV2Put","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BlueprintV2Put"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}},"schemaId":"schema_423"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_424"}},"schemaId":"schema_424"},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_425"}},"schemaId":"schema_425"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_423","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}}},{"code":"400","schemaId":"schema_424","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_424"}}},{"code":"404","schemaId":"schema_425","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_425"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/{blueprint_id}/"},{"label":"/v2/blueprints/{blueprint_id}/","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/delete","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/delete","metadata":{"seo":{"title":"/v2/blueprints/{blueprint_id}/","description":"Deletes a Blueprint by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/{blueprint_id}/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/{blueprint_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a Blueprint by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the specified Blueprint V2 (the current Blueprints API) instance; returns a 204 on success or a 404 if the blueprint isn't found."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Blueprints"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprints define the configuration state (apps, settings, files, Wi-Fi networks, etc.) that Esper applies to devices or groups. This is the current Blueprints API (V2) — distinct from the deprecated Blueprint V1 endpoints, which point back to this API as their replacement."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"blueprint_id — UUID of the blueprint to delete, passed in the path"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an obsolete or unused blueprint configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up blueprints after consolidating device policies"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm no active device groups still reference the blueprint before deleting it, since deletion is permanent"},"children":[]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"blueprint_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/blueprints/{blueprint_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["204","404"],"pointer":"/v2/blueprints/{blueprint_id}/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/delete"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}},"schemaId":"schema_423"},{"code":"404","description":"Resource not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_426"}},"schemaId":"schema_426"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204","schemaId":"schema_423","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}}},{"code":"404","schemaId":"schema_426","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_426"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/{blueprint_id}/"},{"label":"/v2/blueprints/{blueprint_id}/versions/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get","metadata":{"seo":{"title":"/v2/blueprints/{blueprint_id}/versions/","description":"Retrieves a paginated list of every version created for a specific blueprint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/{blueprint_id}/versions/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/{blueprint_id}/versions/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of every version created for a specific blueprint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each blueprint can have multiple versions as its configuration evolves over time; this endpoint returns them all, with filters available for version number, publish status, and specific apps, files, or Wi-Fi networks referenced within a version's settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Blueprint Versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A blueprint's actual device configuration lives on its versions, not on the blueprint record itself. Versions let you iterate on a blueprint's settings (apps, files, restrictions, and so on) while keeping a history of what changed and when. Devices are converged to a specific blueprint_version_id, not just a blueprint_id, so this endpoint is the standard way to find the version currently in use or the version you intend to publish next."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_number — filters results to a specific version number"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"publish — filters by publish status"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"settings__android__app_id — returns versions that include the given app in their settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — orders results by one or more fields such as version_number or minor_version_number; prefix a field with a minus sign to reverse order, combine multiple fields with a comma"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding the latest published version of a blueprint before converging devices to it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing how a blueprint's app or Wi-Fi network settings have changed across versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming which blueprint versions reference a specific app before removing that app from the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by publish to distinguish draft versions from versions that are live and available for Converge"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the settings__android__app_id and similar filters to find every version affected before making a breaking change to a shared resource"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the blueprint_id to list its versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the version_id of the version you need, typically the latest published one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/blueprints/{blueprint_id}/versions/{version_id}/ for that version's full settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the version_id in a Converge request to apply it to devices"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"blueprint_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order the results by a specific field (-field for descending order), Combine Multiple with , like -version_number,-minor_version_number."},"children":[]}]}]}]},{"name":"version_number","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter the results by version_number"},"children":[]}]}]}]},{"name":"publish","in":"query","schemaId":"schema_323","description":"Filter the results by publish\n"},{"name":"settings__android__app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the versions which have given app_id."},"children":[]}]}]}]},{"name":"settings__android__app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the versions which have given app_version_id."},"children":[]}]}]}]},{"name":"settings__android__file_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given file_id."},"children":[]}]}]}]},{"name":"settings__android__wifi_network_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List the blueprints which have given wifi_network_id."},"children":[]}]}]}]},{"name":"settings__ios__provisioning_profile_id","in":"query","schemaId":"schema_322","description":"Filter versions that have the given provisioning profile ID for iOS.\n"},{"name":"settings__ios__provisioning_profile_version_id","in":"query","schemaId":"schema_322","description":"Filter versions that have the given provisioning profile version ID for iOS.\n"},{"name":"settings__tvos__provisioning_profile_id","in":"query","schemaId":"schema_322","description":"Filter versions that have the given provisioning profile ID for tvos.\n"},{"name":"settings__tvos__provisioning_profile_version_id","in":"query","schemaId":"schema_322","description":"Filter versions that have the given provisioning profile version ID for tvos.\n"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprints/{blueprint_id}/versions/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"version_number","in":"query","schemaId":"schema_323"},{"name":"publish","in":"query","schemaId":"schema_323"},{"name":"settings__android__app_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__app_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__file_id","in":"query","schemaId":"schema_322"},{"name":"settings__android__wifi_network_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__provisioning_profile_id","in":"query","schemaId":"schema_322"},{"name":"settings__ios__provisioning_profile_version_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__provisioning_profile_id","in":"query","schemaId":"schema_322"},{"name":"settings__tvos__provisioning_profile_version_id","in":"query","schemaId":"schema_322"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/v2/blueprints/{blueprint_id}/versions/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_419"}},"schemaId":"schema_419"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_419","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_419"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/{blueprint_id}/versions/"},{"label":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get","routeSlug":"/openapi/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get","metadata":{"seo":{"title":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","description":"Retrieves the full configuration for a single, specific version of a blueprint."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","isWebhook":false,"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full configuration for a single, specific version of a blueprint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the complete settings payload for the given version_id, including whatever apps, files, Wi-Fi networks, and platform-specific restrictions were defined at that point in the blueprint's history."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Blueprint Version"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the endpoint that returns the actual configuration a device receives when converged to a blueprint, since Converge applies a specific blueprint_version_id rather than just a blueprint_id. Use it to inspect exactly what a version will change on a device before rolling it out broadly."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing a version's full settings before using it in a Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Comparing two versions of the same blueprint to understand what changed between them"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always confirm the version_id belongs to the expected blueprint_id, since version IDs are not unique across blueprints in isolation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review a version's settings in full before converging a large device group to it, since Converge applies the configuration broadly and does not offer a partial rollback"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/blueprints/{blueprint_id}/versions/ to find the version_id you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with both blueprint_id and version_id to retrieve the full settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the blueprint_id and blueprint_version_id together in a POST to /v2/converge to apply this version to a device"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"blueprint_id","in":"path","schemaId":"schema_322","required":true},{"name":"version_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"blueprint_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"version_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","href":"blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}},"schemaId":"schema_423"},{"code":"404","description":"Resouce not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_426"}},"schemaId":"schema_426"}],"pointer":"/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_423","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_423"}}},{"code":"404","schemaId":"schema_426","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_426"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/blueprints/{blueprint_id}/versions/{version_id}/"}],"content":{"contentType":"group","meta":{"name":"blueprints_Blueprints API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Blueprints API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to manage blueprints. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/19118758564369-Introduction-to-Blueprints"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"blueprints"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/blueprints/","summary":"Retrieves a paginated list of all Blueprint V2 blu…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1/get","deprecated":false},{"title":"/v2/blueprints/","summary":"Creates a new blueprint in the enterprise. Bluepri…","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1/post","deprecated":false},{"title":"/v2/blueprints/{blueprint_id}/","summary":"Retrieves the full configuration for a single blue…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/get","deprecated":false},{"title":"/v2/blueprints/{blueprint_id}/","summary":"Updates a blueprint's top-level record by ID.","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/put","deprecated":false},{"title":"/v2/blueprints/{blueprint_id}/","summary":"Deletes a Blueprint by its ID.","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1/delete","deprecated":false},{"title":"/v2/blueprints/{blueprint_id}/versions/","summary":"Retrieves a paginated list of every version create…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1/get","deprecated":false},{"title":"/v2/blueprints/{blueprint_id}/versions/{version_id}/","summary":"Retrieves the full configuration for a single, spe…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_blueprints-api/paths/~1v2~1blueprints~1{blueprint_id}~1versions~1{version_id}~1/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Custom Actions API","link":"/openapi/blueprints_custom-actions-api","routeSlug":"/openapi/blueprints_custom-actions-api","items":[{"label":"/v2/custom-actions/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/get","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/get","metadata":{"seo":{"title":"/v2/custom-actions/","description":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/custom-actions/","isWebhook":false,"pointer":"/paths/~1v2~1custom-actions~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/custom-actions/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves all custom actions defined for the tenant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a list of CustomActionRead objects representing every custom action in the tenant, including their name, type, state, position settings, options, and audit metadata. Supports ordering to control the sort order of results. Use this endpoint to enumerate available custom actions before assigning them to a Blueprint or deploying them to Linux devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Custom Actions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom actions allow operators to define custom scripts and commands that can be surfaced on Linux devices, either within a Blueprint's settings sections or as device Quick Actions. Each custom action has a type (button, toggle, radio, or dropdown), a state (draft, active, or inactive), and one or more options, each of which contains a Linux platform script. Only active custom actions can be deployed to devices. Custom actions are managed separately from blueprints but referenced within Blueprint settings via position_in_blueprints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — Sort results by a specified field; prefix with - for descending order (e.g., -created_at for newest first)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all custom actions before deciding which to include in a Blueprint V2 configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit the state of all custom actions to identify which are active vs. draft or inactive"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve id values for use in subsequent GET, PUT, or DELETE calls on specific custom actions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter mentally by state in your integration logic: only active custom actions can be deployed to devices; drafts are not eligible"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use ordering=-created_at to surface recently created or modified actions first"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pair with GET /v2/custom-actions/{custom_action_id}/ when you need the full option and script payload for a specific action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/custom-actions/ to retrieve the full list of tenant custom actions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the state and position_in_blueprints fields to identify which actions are deployment-ready"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned id values to fetch, update, or delete individual custom actions as needed"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order the results by a specific field (-field for descending order). Valid fields are 'name', 'created_at', 'updated_at', 'created_by', 'updated_by'."},"children":[]}]}]}]},{"name":"name","in":"query","schemaId":"schema_323","description":"Filter the results by name (partial match, case insensitive).\n"},{"name":"type","in":"query","schemaId":"schema_323","description":"Filter by action type. Comma-separated list. Valid values: button, toggle, radio, dropdown.\n"},{"name":"state","in":"query","schemaId":"schema_323","description":"Filter by action state. Comma-separated list. Valid values: draft, active, inactive.\n"},{"name":"position_in_blueprints","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by blueprint position. Comma-separated list. Valid values: none, blueprints_apps_and_configuration, blueprints_connectivity, blueprints_device_security, blueprints_display_and_branding, blueprints_esper_settings, blueprints_scripts, blueprints_files, blueprints_platform_services, blueprints_hardware_settings, blueprints_sound, blueprints_system_updates, blueprints_time_and_date."},"children":[]}]}]}]},{"name":"position_in_device_settings","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by device settings position. Comma-separated list. Valid values: none, device_quick_settings."},"children":[]}]}]}]},{"name":"created_by","in":"query","schemaId":"schema_325","description":"Filter by user ID who created the action.\n"},{"name":"updated_by","in":"query","schemaId":"schema_325","description":"Filter by user ID who last updated the action.\n"},{"name":"limit","in":"query","schemaId":"schema_427","description":"Number of results to return per page.\n"},{"name":"offset","in":"query","schemaId":"schema_428","description":"The initial index from which to return the results.\n"}],"pointer":"/paths/~1v2~1custom-actions~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/custom-actions/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"name","in":"query","schemaId":"schema_323"},{"name":"type","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_323"},{"name":"position_in_blueprints","in":"query","schemaId":"schema_323"},{"name":"position_in_device_settings","in":"query","schemaId":"schema_323"},{"name":"created_by","in":"query","schemaId":"schema_325"},{"name":"updated_by","in":"query","schemaId":"schema_325"},{"name":"limit","in":"query","schemaId":"schema_427"},{"name":"offset","in":"query","schemaId":"schema_428"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400"],"pointer":"/v2/custom-actions/","href":"blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_429"}},"schemaId":"schema_429"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_430"}},"schemaId":"schema_430"}],"pointer":"/paths/~1v2~1custom-actions~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_429","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_429"}}},{"code":"400","schemaId":"schema_430","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_430"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/custom-actions/"},{"label":"/v2/custom-actions/","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/post","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/post","metadata":{"seo":{"title":"/v2/custom-actions/","description":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/custom-actions/","isWebhook":false,"pointer":"/paths/~1v2~1custom-actions~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/custom-actions/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new custom action for the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a CustomActionCreate body defining the action's name, UI component type, lifecycle state, blueprint and device placement, display properties, and one or more options — each option containing a Linux platform script with its interpreter. Returns the created CustomActionRead object on success. Returns 409 if a custom action with the same name already exists."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Custom Action"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom actions are operator-defined interactive controls that execute scripts on Linux devices. When created, a custom action is placed in a specified section of a Blueprint V2 (via position_in_blueprints) and/or surfaced in the device's Quick Actions panel (via position_in_device_settings). Each option within the action maps a UI label to a script that runs on the device when the user triggers that option. Only active custom actions are eligible for deployment; new actions can be created in draft state for review before activation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Unique display name for the custom action (1–50 characters; must be unique within the tenant)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type — UI component type: button, toggle, radio, or dropdown"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — Lifecycle state: draft, active, or inactive; only active actions can be deployed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"position_in_blueprints — The Blueprint section where this action will appear (e.g., blueprints_scripts, blueprints_apps_and_configuration, or none)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"position_in_device_settings — Device-side placement: device_quick_settings or none"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"properties — Object containing description, info_message, and tooltip_message for the UI"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"options — Array of option objects, each with a label, a unique key UUID, and a scripts.linux object containing script (the script content) and interpreter (e.g., bash, python3; defaults to bash)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a button-type action that runs a diagnostic script on Linux devices from the Blueprint settings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Define a toggle-type action that enables or disables a system feature via a shell script"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build a dropdown-type action with multiple options, each mapping to a different script"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create custom actions in draft state first; activate them only after validating the script logic"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure name is unique within the tenant — the API returns 409 on conflict"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provide meaningful label values in each option so device operators can identify which script they are triggering"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Specify the interpreter explicitly (e.g., python3) rather than relying on the bash default when your script requires a different runtime"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Design your script content and identify which Blueprint section or Quick Actions position the action should occupy"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build the CustomActionCreate payload: set name, type, state: \"draft\", positions, properties, and options with embedded scripts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit POST /v2/custom-actions/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned id and options[*].scripts.linux.script_id for future reference"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When ready, update the action to state: \"active\" via PUT /v2/custom-actions/{custom_action_id}/ to make it deployable"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionCreate"}},"schemaId":"components/schemas/blueprints_CustomActionCreate","pointer":"/paths/~1v2~1custom-actions~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/custom-actions/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionCreate"}},"responseCodes":["201","400","409","500"],"pointer":"/v2/custom-actions/","href":"blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/post"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/blueprints_CustomActionCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_431"}},"schemaId":"schema_431"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_432"}},"schemaId":"schema_432"},{"code":"409","description":"Conflict - Custom Action name already exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}},"schemaId":"schema_433"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}},"schemaId":"schema_434"}],"pointer":"/paths/~1v2~1custom-actions~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_431","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_431"}}},{"code":"400","schemaId":"schema_432","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_432"}}},{"code":"409","schemaId":"schema_433","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}}},{"code":"500","schemaId":"schema_434","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/custom-actions/"},{"label":"/v2/custom-actions/{custom_action_id}/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/get","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/get","metadata":{"seo":{"title":"/v2/custom-actions/{custom_action_id}/","description":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/custom-actions/{custom_action_id}/","isWebhook":false,"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/custom-actions/{custom_action_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full details of a specific custom action by its unique ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a CustomActionRead object containing the action's name, type, state, blueprint and device placement, display properties, options (with script references), and audit fields including created_by, updated_by, created_at, and updated_at. Use this endpoint to inspect a custom action's current configuration and retrieve its associated script_id values before modifying or deploying it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Retrieve Custom Action"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom actions are operator-defined scripts surfaced on Linux devices through Blueprint settings or device Quick Actions. The CustomActionRead response includes each option's scripts.linux.script_id — a UUID referencing the script content stored externally. To retrieve the actual script content, use GET /v2/scripts/{script_id}/ with that UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom_action_id — UUID of the custom action to retrieve (path parameter, required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID of the custom action in the response body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — Current lifecycle state: draft, active, or inactive"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"options[*].scripts.linux.script_id — UUID reference to the script content; use with GET /v2/scripts/{script_id}/ to fetch the actual script"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"position_in_blueprints / position_in_device_settings — Where this action is surfaced in Blueprint and device UI"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — Audit timestamps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect a custom action's current state and placement before deciding to activate or deactivate it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve script_id values from the options to fetch and review the associated scripts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm that a custom action's properties labels and messages are correctly set before deploying it in a Blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint before calling PUT /v2/custom-actions/{custom_action_id}/ to understand the current state of the action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference script_id values with GET /v2/scripts/{script_id}/ to verify script content is correct before activating the action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the state field to confirm whether the action is eligible for deployment (active) before including it in a Blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the custom_action_id from GET /v2/custom-actions/ or from the Console"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/custom-actions/{custom_action_id}/ to retrieve the full action object"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review state, options, and placement fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If needed, use the script_id from each option's scripts.linux object to inspect the script content via GET /v2/scripts/{script_id}/"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"custom_action_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/custom-actions/{custom_action_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"custom_action_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/v2/custom-actions/{custom_action_id}/","href":"blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_435"}},"schemaId":"schema_435"},{"code":"404","description":"Custom Action not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_435","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_435"}}},{"code":"404","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/custom-actions/{custom_action_id}/"},{"label":"/v2/custom-actions/{custom_action_id}/","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/put","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/put","metadata":{"seo":{"title":"/v2/custom-actions/{custom_action_id}/","description":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/custom-actions/{custom_action_id}/","isWebhook":false,"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/custom-actions/{custom_action_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates an existing custom action by ID, modifying any combination of its name, type, state, placement, properties, and options."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a CustomActionUpdate body where all fields are optional — only the fields provided will be updated. If options is included, it fully replaces the existing options list. Returns the updated CustomActionRead object on success. Returns 400 if the update is invalid (e.g., an invalid state transition) or 409 if the new name conflicts with an existing custom action."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Custom Action"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom action updates follow partial-update semantics for most fields, but options is a full replacement — supplying it overwrites all existing options and their associated scripts. State transitions follow lifecycle rules: only active custom actions can be deployed to Linux devices. Moving an action from active to inactive or draft will prevent it from being used in new Blueprint deployments."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom_action_id — UUID of the custom action to update (path parameter, required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — Updated display name (1–50 characters; must remain unique within the tenant)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"type — Updated UI component type: button, toggle, radio, or dropdown"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — Updated lifecycle state: draft, active, or inactive; only active actions are deployable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"position_in_blueprints — Updated Blueprint section placement"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"position_in_device_settings — Updated device Quick Actions placement"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"properties — Replacement object for description, info_message, and tooltip_message"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"options — Replacement list of options; each option requires label, key UUID, and scripts.linux with script and interpreter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Activate a draft custom action by updating state to active when it's ready for deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Update script content by supplying a new options array with revised scripts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rename or reposition a custom action within Blueprint sections"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the current state of the action with GET /v2/custom-actions/{custom_action_id}/ before updating to avoid unintentional changes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When updating options, include all options you want to retain — the list is fully replaced, not merged"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validate state transitions: moving from active to inactive may affect Blueprints currently referencing this action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the current action with GET /v2/custom-actions/{custom_action_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build a CustomActionUpdate payload with only the fields you intend to change (or a full options replacement if updating scripts)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit PUT /v2/custom-actions/{custom_action_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the response reflects the updated fields and review the new updated_at timestamp"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"custom_action_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionUpdate"}},"schemaId":"components/schemas/blueprints_CustomActionUpdate","pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/custom-actions/{custom_action_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"custom_action_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionUpdate"}},"responseCodes":["200","400","404","409","500"],"pointer":"/v2/custom-actions/{custom_action_id}/","href":"blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/put"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/blueprints_CustomActionUpdate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_CustomActionUpdate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_435"}},"schemaId":"schema_435"},{"code":"400","description":"Bad Request (validation error or invalid state transition)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_437"}},"schemaId":"schema_437"},{"code":"404","description":"Custom Action not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"},{"code":"409","description":"Conflict - Custom Action name already exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}},"schemaId":"schema_433"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}},"schemaId":"schema_434"}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_435","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_435"}}},{"code":"400","schemaId":"schema_437","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_437"}}},{"code":"404","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}},{"code":"409","schemaId":"schema_433","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}}},{"code":"500","schemaId":"schema_434","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/custom-actions/{custom_action_id}/"},{"label":"/v2/custom-actions/{custom_action_id}/","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete","metadata":{"seo":{"title":"/v2/custom-actions/{custom_action_id}/","description":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/custom-actions/{custom_action_id}/","isWebhook":false,"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/custom-actions/{custom_action_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Custom actions apply exclusively to Linux-managed devices. This endpoint is not applicable to Android, iOS, or Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a custom action by its unique ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns HTTP 200 on success. Returns 400 if the custom action is currently in an active state — active custom actions must be deactivated before they can be deleted. Returns 404 if the custom action does not exist. Deletion is irreversible and removes the action and all its associated option scripts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Custom Action"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Custom actions define scripts that can be embedded in Blueprint V2 configurations and deployed to Linux devices. Deleting an active custom action is blocked to prevent accidental removal of actions currently referenced in live blueprints. Before deleting, transition the action to inactive or draft state using PUT /v2/custom-actions/{custom_action_id}/, then verify it is not referenced by any active blueprints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"custom_action_id — UUID of the custom action to delete (path parameter, required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remove a deprecated or unused custom action after it has been replaced by a newer one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Clean up test or draft custom actions that are no longer needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommission a custom action tied to a retired Linux device workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before deleting, update the action's state to inactive via PUT /v2/custom-actions/{custom_action_id}/ — the API blocks deletion of active actions (returns 400)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm that no active Blueprint V2 configurations reference this custom action before deleting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Archive the script content by calling GET /v2/scripts/{script_id}/ for each option's script if you may need it later"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the action is active, update it to state: \"inactive\" via PUT /v2/custom-actions/{custom_action_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify that no live Blueprints reference this custom action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /v2/custom-actions/{custom_action_id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm HTTP 200 response; the action will no longer appear in GET /v2/custom-actions/ results"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"custom_action_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/custom-actions/{custom_action_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"custom_action_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","404","500"],"pointer":"/v2/custom-actions/{custom_action_id}/","href":"blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_438"}},"schemaId":"schema_438"},{"code":"400","description":"Bad Request - Cannot delete active custom action","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_437"}},"schemaId":"schema_437"},{"code":"404","description":"Custom Action not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}},"schemaId":"schema_434"}],"pointer":"/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_438","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_438"}}},{"code":"400","schemaId":"schema_437","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_437"}}},{"code":"404","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}},{"code":"500","schemaId":"schema_434","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/custom-actions/{custom_action_id}/"},{"label":"/v2/scripts/{script_id}/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_custom-actions-api/paths/~1v2~1scripts~1{script_id}~1/get","routeSlug":"/openapi/blueprints_custom-actions-api/paths/~1v2~1scripts~1{script_id}~1/get","metadata":{"seo":{"title":"/v2/scripts/{script_id}/","description":"⚠️ Linux only. Scripts retrieved by this endpoint are associated with custom actions that run exclusively on Linux-managed devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/scripts/{script_id}/","isWebhook":false,"pointer":"/paths/~1v2~1scripts~1{script_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/scripts/{script_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Linux only. Scripts retrieved by this endpoint are associated with custom actions that run exclusively on Linux-managed devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the content of a specific script by its unique script ID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a platformScript object containing the raw script content and the interpreter used to execute it (e.g., bash, python3). Script IDs are generated when a custom action is created and are referenced within the options[*].scripts.linux.script_id field of a CustomActionRead response. Use this endpoint to inspect or archive the exact script code associated with a custom action option before modifying or deleting it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Retrieve Script"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scripts in Esper's custom actions system are stored as discrete objects in external storage, each identified by a UUID script_id. They are not directly editable in place — to update a script, you must supply a replacement options array in PUT /v2/custom-actions/{custom_action_id}/, which generates a new script_id. This endpoint provides read-only access to the raw script content and its interpreter metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"script_id — UUID of the script to retrieve (path parameter, required); obtained from a custom action's options[*].scripts.linux.script_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"script — The raw script content (string)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"interpreter — The runtime used to execute the script (e.g., bash, sh, python, python3; defaults to bash)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve and review script content before activating a custom action or including it in a Blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Archive the script code of a custom action option before replacing it with an updated version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit which interpreter is configured for a script to ensure compatibility with the target Linux environment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain script_id values from the options array returned by GET /v2/custom-actions/{custom_action_id}/ — they are not independently discoverable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scripts are immutable once created; to change script content, update the parent custom action via PUT /v2/custom-actions/{custom_action_id}/ with a new options array"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the retrieved script content in version control if the script logic is critical to your deployment workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/custom-actions/{custom_action_id}/ to retrieve the custom action and locate script_id values in options[*].scripts.linux.script_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/scripts/{script_id}/ for each script you want to inspect"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review the script content and interpreter field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To update the script, build a new options array and submit it via PUT /v2/custom-actions/{custom_action_id}/"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"script_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1scripts~1{script_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/scripts/{script_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"script_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","403","404","500"],"pointer":"/v2/scripts/{script_id}/","href":"blueprints_custom-actions-api/paths/~1v2~1scripts~1{script_id}~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_439"}},"schemaId":"schema_439"},{"code":"403","description":"Permission denied","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_440"}},"schemaId":"schema_440"},{"code":"404","description":"Script not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}},"schemaId":"schema_434"}],"pointer":"/paths/~1v2~1scripts~1{script_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_439","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_439"}}},{"code":"403","schemaId":"schema_440","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_440"}}},{"code":"404","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}},{"code":"500","schemaId":"schema_434","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_434"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_custom-actions-api/paths/~1v2~1scripts~1{script_id}~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/scripts/{script_id}/"}],"content":{"contentType":"group","meta":{"name":"blueprints_Custom Actions API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Custom Actions API","showPageActions":true},{"nodeType":"markdoc","content":"APIs to manage custom actions. Custom actions allow you to define custom scripts and commands that can be executed on Linux devices. Currently, only Linux platform is supported for custom actions."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/custom-actions/","summary":"⚠️ Linux only. Custom actions apply exclusively to…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/get","deprecated":false},{"title":"/v2/custom-actions/","summary":"⚠️ Linux only. Custom actions apply exclusively to…","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1/post","deprecated":false},{"title":"/v2/custom-actions/{custom_action_id}/","summary":"⚠️ Linux only. Custom actions apply exclusively to…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/get","deprecated":false},{"title":"/v2/custom-actions/{custom_action_id}/","summary":"⚠️ Linux only. Custom actions apply exclusively to…","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/put","deprecated":false},{"title":"/v2/custom-actions/{custom_action_id}/","summary":"⚠️ Linux only. Custom actions apply exclusively to…","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1custom-actions~1{custom_action_id}~1/delete","deprecated":false},{"title":"/v2/scripts/{script_id}/","summary":"⚠️ Linux only. Scripts retrieved by this endpoint …","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_custom-actions-api/paths/~1v2~1scripts~1{script_id}~1/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Background Scripts API","link":"/openapi/blueprints_background-scripts-api","routeSlug":"/openapi/blueprints_background-scripts-api","items":[{"label":"/v2/background-scripts/","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/post","routeSlug":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/post","metadata":{"seo":{"title":"/v2/background-scripts/","description":"Create a new background script"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/background-scripts/","isWebhook":false,"pointer":"/paths/~1v2~1background-scripts~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/background-scripts/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Create a new background script"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BackgroundScriptCreate"}},"schemaId":"components/schemas/blueprints_BackgroundScriptCreate","pointer":"/paths/~1v2~1background-scripts~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/background-scripts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/blueprints_BackgroundScriptCreate"}},"responseCodes":["201","400","409"],"pointer":"/v2/background-scripts/","href":"blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/post"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/blueprints_BackgroundScriptCreate","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/blueprints_BackgroundScriptCreate"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_441"}},"schemaId":"schema_441"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_432"}},"schemaId":"schema_432"},{"code":"409","description":"Conflict - Background Script name already exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}},"schemaId":"schema_433"}],"pointer":"/paths/~1v2~1background-scripts~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_441","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_441"}}},{"code":"400","schemaId":"schema_432","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_432"}}},{"code":"409","schemaId":"schema_433","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_433"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/background-scripts/"},{"label":"/v2/background-scripts/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/get","routeSlug":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/get","metadata":{"seo":{"title":"/v2/background-scripts/","description":"Retrieve all background scripts for the tenant"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/background-scripts/","isWebhook":false,"pointer":"/paths/~1v2~1background-scripts~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/background-scripts/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve all background scripts for the tenant"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"ordering","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Order the results by a specific field (-field for descending order). Valid fields are 'name', 'created_at', 'updated_at', 'created_by', 'updated_by'."},"children":[]}]}]}]},{"name":"name","in":"query","schemaId":"schema_323","description":"Filter the results by name (partial match, case insensitive).\n"},{"name":"always_run","in":"query","schemaId":"schema_324","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter the results by always_run flag."},"children":[]}]}]}]},{"name":"limit","in":"query","schemaId":"schema_427","description":"Number of results to return per page.\n"},{"name":"offset","in":"query","schemaId":"schema_428","description":"The initial index from which to return the results.\n"}],"pointer":"/paths/~1v2~1background-scripts~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/background-scripts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"name","in":"query","schemaId":"schema_323"},{"name":"always_run","in":"query","schemaId":"schema_324"},{"name":"limit","in":"query","schemaId":"schema_427"},{"name":"offset","in":"query","schemaId":"schema_428"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200"],"pointer":"/v2/background-scripts/","href":"blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_442"}},"schemaId":"schema_442"}],"pointer":"/paths/~1v2~1background-scripts~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_442","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_442"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/background-scripts/"},{"label":"/v2/background-scripts/{background_script_id}/","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1{background_script_id}~1/get","routeSlug":"/openapi/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1{background_script_id}~1/get","metadata":{"seo":{"title":"/v2/background-scripts/{background_script_id}/","description":"Retrieve a background script by ID. Includes the script content fetched from S3."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"/v2/background-scripts/{background_script_id}/","isWebhook":false,"pointer":"/paths/~1v2~1background-scripts~1{background_script_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"/v2/background-scripts/{background_script_id}/","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Retrieve a background script by ID. Includes the script content fetched from S3."},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"background_script_id","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1background-scripts~1{background_script_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/background-scripts/{background_script_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"background_script_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","404"],"pointer":"/v2/background-scripts/{background_script_id}/","href":"blueprints_background-scripts-api/paths/~1v2~1background-scripts~1{background_script_id}~1/get"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_443"}},"schemaId":"schema_443"},{"code":"404","description":"Background Script not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}},"schemaId":"schema_436"}],"pointer":"/paths/~1v2~1background-scripts~1{background_script_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_443","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_443"}}},{"code":"404","schemaId":"schema_436","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_436"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1{background_script_id}~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/background-scripts/{background_script_id}/"}],"content":{"contentType":"group","meta":{"name":"blueprints_Background Scripts API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Background Scripts API","showPageActions":true},{"nodeType":"markdoc","content":"APIs to manage background scripts. Background scripts are scripts that can be configured to run continuously or at specified intervals on devices."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/background-scripts/","summary":"Create a new background script","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/post","deprecated":false},{"title":"/v2/background-scripts/","summary":"Retrieve all background scripts for the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1/get","deprecated":false},{"title":"/v2/background-scripts/{background_script_id}/","summary":"Retrieve a background script by ID. Includes the s…","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/blueprints_background-scripts-api/paths/~1v2~1background-scripts~1{background_script_id}~1/get","deprecated":false}]}]}]}]}},{"type":"separator","label":"PIPELINES","content":null},{"type":"group","label":"System Status Code","link":"/openapi/pipelines_system-status-code","routeSlug":"/openapi/pipelines_system-status-code","items":[],"content":{"contentType":"group","meta":{"name":"pipelines_System Status Code"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"System Status Code","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"System status code descriptions"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"900 (INTERNAL_REQUEST_SKIPPED) - Response code is used when a request is valid, but cannot be fulfilled."},"children":[]}]}]}]}]}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_system-status-code"}],"panels":[]}]}},{"type":"group","label":"System","link":"/openapi/pipelines_system","routeSlug":"/openapi/pipelines_system","items":[{"label":"Health check endpoint","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_system/getservicehealth","routeSlug":"/openapi/pipelines_system/getservicehealth","metadata":{"seo":{"title":"Health check endpoint","description":"Health check endpoint"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getServiceHealth","name":"Health check endpoint","isWebhook":false,"pointer":"/paths/~1sys~1health/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Health check endpoint","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/sys/health","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","default"],"pointer":"/sys/health","href":"pipelines_system/getservicehealth","openApiOperationId":"getServiceHealth","summary":"Health check endpoint"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipelines health service response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Health"}},"schemaId":"components/schemas/pipelines_Health"},{"code":"default","description":"Unexpected error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error"}},"schemaId":"components/schemas/pipelines_Error"}],"pointer":"/paths/~1sys~1health/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/pipelines_Health","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Health"}}},{"code":"default","schemaId":"components/schemas/pipelines_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_system/getservicehealth"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/sys/health"}],"content":{"contentType":"group","meta":{"name":"pipelines_System"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"System","showPageActions":true},{"nodeType":"markdoc","content":"System level APIs"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/sys/health","summary":"Health check endpoint","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_system/getservicehealth","deprecated":false}]}]}]}]}},{"type":"group","label":"Pipelines","link":"/openapi/pipelines_pipelines","routeSlug":"/openapi/pipelines_pipelines","items":[{"label":"Get all Pipelines for the Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipelines/getpipelines","routeSlug":"/openapi/pipelines_pipelines/getpipelines","metadata":{"seo":{"title":"Get all Pipelines for the Enterprise","description":"List all pipelines for the enterprise. Retrieves all active (non-deleted) pipelines configured for the enterprise, including metadata such as name, description, active and validity status, archive state, timeout configuration, and whether the pipeline is set as the default. Results can be filtered by name or sorted alphabetically."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelines","name":"Get all Pipelines for the Enterprise","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Pipelines for the Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List all pipelines for the enterprise. Retrieves all active (non-deleted) pipelines configured for the enterprise, including metadata such as name, description, active and validity status, archive state, timeout configuration, and whether the pipeline is set as the default. Results can be filtered by name or sorted alphabetically."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipelines"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A pipeline is a multi-stage workflow that executes a sequence of operations — such as app installs, configuration changes, or commands — across targeted device groups. Each pipeline consists of one or more stages, each with its own target list and operation list. Pipelines allow you to coordinate staged rollouts with configurable timeouts and sequencing across your device fleet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common use cases"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all pipelines configured for an enterprise, retrieving pipeline_id values needed to manage stages, target lists, or pipeline runs, identifying which pipelines are active or archived before triggering a run, and confirming the default pipeline configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the name query parameter to filter results when working in enterprises with many pipelines. Use is_active and is_archived in the response to confirm a pipeline is in a runnable state before triggering a run. Always retrieve a pipeline_id from this endpoint before calling pipeline stage, target list, or run endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve all pipelines and identify the pipeline_id for the pipeline you want to work with."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /pipelines/v0/pipelines/{pipeline_id}/ to retrieve full details for a specific pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /pipelines/v0/pipelines/{pipeline_id}/stages/ to inspect or modify the stages within a pipeline."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"default","in":"query","schemaId":"schema_444"},{"name":"name","in":"query","schemaId":"schema_323","description":"Filter by name"},{"name":"ordering","in":"query","schemaId":"schema_445","description":"Sorting pipelines based on the field name"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"default","in":"query","schemaId":"schema_444"},{"name":"name","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_445"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/pipelines/v0/pipelines/","href":"pipelines_pipelines/getpipelines","openApiOperationId":"getPipelines","summary":"Get all Pipelines for the Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipelines list for the Enterprise","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_446"}},"schemaId":"schema_446"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_446","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_446"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipelines/getpipelines"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/"},{"label":"Create a new Pipeline","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipelines/createpipeline","routeSlug":"/openapi/pipelines_pipelines/createpipeline","metadata":{"seo":{"title":"Create a new Pipeline","description":"Creates a new Pipeline for the calling enterprise, using the logged-in user's token."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPipeline","name":"Create a new Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new Pipeline for the calling enterprise, using the logged-in user's token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requires a name in the request body; optional fields include description, is_default (default false), is_active (default true), and timeout_seconds (default 86400, i.e. 24 hours). Returns the created Pipeline object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipelines"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Pipeline is the top-level container in Esper's Pipelines system for orchestrating multi-step device operations. It's made up of ordered Stages, each with its own Target Lists (devices and/or Device Groups) and Operation Lists (the actions to perform); executing a Pipeline produces a Pipeline Run that tracks progress through statuses such as PENDING, QUEUED, PROCESSING, RUNNING, WAITING, COMPLETE, and finally SUCCESS or FAILURE."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — required pipeline name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"timeout_seconds — overall timeout for runs of this pipeline, in seconds, default 86400"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_default — marks this as the enterprise's default pipeline, default false"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_active — whether the pipeline is active, default true"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_POST"}},"schemaId":"components/schemas/pipelines_Pipeline_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_POST"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/","href":"pipelines_pipelines/createpipeline","openApiOperationId":"createPipeline","summary":"Create a new Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Pipeline_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}},"schemaId":"schema_447"},{"code":"400","description":"Pipelines create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Pipelines create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_447","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipelines/createpipeline"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/"},{"label":"Get a Pipeline","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipelines/getpipeline","routeSlug":"/openapi/pipelines_pipelines/getpipeline","metadata":{"seo":{"title":"Get a Pipeline","description":"Retrieves the details of a single Pipeline by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipeline","name":"Get a Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Pipeline by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the Pipeline's name, description, status flags (is_active, is_valid, is_visible, is_archived, is_default), and timeout_seconds for the given pipeline_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipelines"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Pipeline is the top-level container in Esper's Pipelines system for orchestrating multi-step device operations, made up of ordered Stages, each with Target Lists and Operation Lists."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/","href":"pipelines_pipelines/getpipeline","openApiOperationId":"getPipeline","summary":"Get a Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipeline information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}},"schemaId":"schema_447"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_447","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipelines/getpipeline"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/"},{"label":"Update a Pipeline","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipelines/updatepipeline","routeSlug":"/openapi/pipelines_pipelines/updatepipeline","metadata":{"seo":{"title":"Update a Pipeline","description":"Updates an existing Pipeline's configuration."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipeline","name":"Update a Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates an existing Pipeline's configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All fields — name, description, is_active, is_default, and timeout_seconds — are optional in the request body, so only the fields you provide are changed on the Pipeline identified by pipeline_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipelines"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Pipeline is the top-level container in Esper's Pipelines system for orchestrating multi-step device operations, made up of ordered Stages, each with Target Lists and Operation Lists."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_PUT"}},"schemaId":"components/schemas/pipelines_Pipeline_PUT","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/pipelines/{pipeline_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_PUT"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/","href":"pipelines_pipelines/updatepipeline","openApiOperationId":"updatePipeline","summary":"Update a Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Pipeline_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Pipeline_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Pipeline Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}},"schemaId":"schema_447"},{"code":"400","description":"Pipelines update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Pipelines update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_447","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipelines/updatepipeline"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/"},{"label":"Delete a Pipeline","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipelines/deletepipeline","routeSlug":"/openapi/pipelines_pipelines/deletepipeline","metadata":{"seo":{"title":"Delete a Pipeline","description":"Deletes a Pipeline by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deletePipeline","name":"Delete a Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a Pipeline by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the Pipeline identified by pipeline_id for the calling enterprise."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipelines"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Pipeline is the top-level container in Esper's Pipelines system for orchestrating multi-step device operations, made up of ordered Stages, each with Target Lists and Operation Lists."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/","href":"pipelines_pipelines/deletepipeline","openApiOperationId":"deletePipeline","summary":"Delete a Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted Pipeline Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}},"schemaId":"schema_447"},{"code":"401","description":"Pipelines delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_447","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_447"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipelines/deletepipeline"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Pipelines"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Pipelines","showPageActions":true},{"nodeType":"markdoc","content":"Pipelines composition APIs"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/pipelines/","summary":"Get all Pipelines for the Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipelines/getpipelines","deprecated":false},{"title":"/pipelines/v0/pipelines/","summary":"Create a new Pipeline","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipelines/createpipeline","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/","summary":"Get a Pipeline","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipelines/getpipeline","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/","summary":"Update a Pipeline","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipelines/updatepipeline","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/","summary":"Delete a Pipeline","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipelines/deletepipeline","deprecated":false}]}]}]}]}},{"type":"group","label":"Stages","link":"/openapi/pipelines_stages","routeSlug":"/openapi/pipelines_stages","items":[{"label":"Get all Pipeline stages","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/getpipelinestages","routeSlug":"/openapi/pipelines_stages/getpipelinestages","metadata":{"seo":{"title":"Get all Pipeline stages","description":"Retrieves all Stages configured for a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStages","name":"Get all Pipeline stages","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Pipeline stages","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves all Stages configured for a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Stage objects belonging to the specified pipeline, in the order they run; use this to inspect a pipeline's structure before triggering or editing it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Stages"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Stage is an ordered step within a Pipeline. Each Stage has Target Lists (defining which devices or Device Groups it targets) and Operation Lists (the actions it performs), and when a Pipeline Run executes, each Stage produces one Stage Run."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/stages/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/stages/","href":"pipelines_stages/getpipelinestages","openApiOperationId":"getPipelineStages","summary":"Get all Pipeline stages"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipelines stages response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_448"}},"schemaId":"schema_448"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_448","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_448"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/getpipelinestages"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/stages/"},{"label":"Create a Pipeline stage","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/createpipelinestage","routeSlug":"/openapi/pipelines_stages/createpipelinestage","metadata":{"seo":{"title":"Create a Pipeline stage","description":"Adds a new Stage to a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPipelineStage","name":"Create a Pipeline stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Pipeline stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adds a new Stage to a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a POST request with the Stage's details to append a new ordered step to the pipeline; the response returns the created Stage object, which you then attach Target Lists and Operation Lists to."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Stages"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Stage represents one ordered step in a Pipeline's execution. A newly created Stage has no Target Lists or Operation Lists attached by default, so a Stage Run produced from it would be marked INVALID (no targets or no operations) until those are added."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create the Stage"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Attach one or more Target Lists (directly or via Device Groups) to define which devices it targets"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Attach one or more Operation Lists to define what actions it performs"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_POST"}},"schemaId":"components/schemas/pipelines_Stage_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/stages/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_POST"}},"responseCodes":["200","400"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/stages/","href":"pipelines_stages/createpipelinestage","openApiOperationId":"createPipelineStage","summary":"Create a Pipeline stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Stage_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipelines stages create response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}},"schemaId":"schema_449"},{"code":"400","description":"Stage create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_449","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/createpipelinestage"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/stages/"},{"label":"Get a Pipeline Stage","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/getpipelinestage","routeSlug":"/openapi/pipelines_stages/getpipelinestage","metadata":{"seo":{"title":"Get a Pipeline Stage","description":"Retrieves the details of a single Pipeline Stage by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStage","name":"Get a Pipeline Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a Pipeline Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Pipeline Stage by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full Stage object for the specified pipeline and stage; use this to inspect a specific step's configuration within a pipeline's execution order."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Stages"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Stage is one ordered step within a Pipeline, holding the Target Lists (devices and/or Device Groups) and Operation Lists (actions) that run when the pipeline is executed."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","href":"pipelines_stages/getpipelinestage","openApiOperationId":"getPipelineStage","summary":"Get a Pipeline Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Pipelines stage get response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}},"schemaId":"schema_449"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_449","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/getpipelinestage"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/"},{"label":"Update a Pipeline Stage","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/updatepipelinestage","routeSlug":"/openapi/pipelines_stages/updatepipelinestage","metadata":{"seo":{"title":"Update a Pipeline Stage","description":"Updates the details of an existing Pipeline Stage."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineStage","name":"Update a Pipeline Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Pipeline Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the details of an existing Pipeline Stage."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a PUT request with the updated Stage fields to modify a step in the pipeline; the response returns the updated Stage object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Stages"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Stage is one ordered step in a Pipeline. Its own configuration is managed separately from the Target Lists and Operation Lists attached to it, which are updated through their own dedicated endpoints."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_PUT"}},"schemaId":"components/schemas/pipelines_Stage_PUT","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_PUT"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","href":"pipelines_stages/updatepipelinestage","openApiOperationId":"updatePipelineStage","summary":"Update a Pipeline Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Stage_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Stage_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Stage Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}},"schemaId":"schema_449"},{"code":"400","description":"Stage update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Stage update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_449","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/updatepipelinestage"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/"},{"label":"Delete a pipeline stage","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/deletepipelinestage","routeSlug":"/openapi/pipelines_stages/deletepipelinestage","metadata":{"seo":{"title":"Delete a pipeline stage","description":"Deletes a Stage from a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deletePipelineStage","name":"Delete a pipeline stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a pipeline stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a Stage from a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the specified Stage, along with its association to any attached Target Lists and Operation Lists, from the pipeline; the response returns the deleted Stage object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Stages"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Stage is one ordered step in a Pipeline's execution, containing the Target Lists and Operation Lists that define what devices it targets and what actions it runs as part of the pipeline's overall orchestration flow."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","href":"pipelines_stages/deletepipelinestage","openApiOperationId":"deletePipelineStage","summary":"Delete a pipeline stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted Stage Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}},"schemaId":"schema_449"},{"code":"401","description":"Stage delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1stages~1{stage_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_449","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_449"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/deletepipelinestage"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/"},{"label":"Get all Target Lists attached to the Stage","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/getstagetargetlists","routeSlug":"/openapi/pipelines_stages/getstagetargetlists","metadata":{"seo":{"title":"Get all Target Lists attached to the Stage","description":"Get all Target Lists attached to the Stage"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getStageTargetLists","name":"Get all Target Lists attached to the Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Target Lists attached to the Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_322","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"type","in":"query","schemaId":"schema_450"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stages/{stage_id}/targetlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"type","in":"query","schemaId":"schema_450"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/targetlists/","href":"pipelines_stages/getstagetargetlists","openApiOperationId":"getStageTargetLists","summary":"Get all Target Lists attached to the Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Targets Lists attached to the Stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}},"schemaId":"schema_451"},{"code":"401","description":"Target List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_451","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/getstagetargetlists"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/targetlists/"},{"label":"Attach the Target List to the Stage","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/addstagetargetlist","routeSlug":"/openapi/pipelines_stages/addstagetargetlist","metadata":{"seo":{"title":"Attach the Target List to the Stage","description":"Attach the Target List to the Stage"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addStageTargetList","name":"Attach the Target List to the Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Attach the Target List to the Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_StageTargetList_POST"}},"schemaId":"components/schemas/pipelines_StageTargetList_POST","pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/stages/{stage_id}/targetlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_StageTargetList_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/targetlists/","href":"pipelines_stages/addstagetargetlist","openApiOperationId":"addStageTargetList","summary":"Attach the Target List to the Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_StageTargetList_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_StageTargetList_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Attach target list to a Stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"401","description":"Target list attach error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/addstagetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/targetlists/"},{"label":"Detach the Target List from the Stage","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stages/deletestagetargetlist","routeSlug":"/openapi/pipelines_stages/deletestagetargetlist","metadata":{"seo":{"title":"Detach the Target List from the Stage","description":"Detach the Target List from the Stage"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteStageTargetList","name":"Detach the Target List from the Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1{targetlist_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Detach the Target List from the Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1{targetlist_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/stages/{stage_id}/targetlists/{targetlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/targetlists/{targetlist_id}/","href":"pipelines_stages/deletestagetargetlist","openApiOperationId":"deleteStageTargetList","summary":"Detach the Target List from the Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Detach target list from stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"401","description":"Target list attach error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1targetlists~1{targetlist_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stages/deletestagetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/targetlists/{targetlist_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Stages"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Stages","showPageActions":true},{"nodeType":"markdoc","content":"APIs to modify Stage information"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/pipelines/{pipeline_id}/stages/","summary":"Get all Pipeline stages","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/getpipelinestages","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/stages/","summary":"Create a Pipeline stage","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/createpipelinestage","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","summary":"Get a Pipeline Stage","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/getpipelinestage","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","summary":"Update a Pipeline Stage","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/updatepipelinestage","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/","summary":"Delete a pipeline stage","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/deletepipelinestage","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/targetlists/","summary":"Get all Target Lists attached to the Stage","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/getstagetargetlists","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/targetlists/","summary":"Attach the Target List to the Stage","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/addstagetargetlist","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/targetlists/{targetlist_id}/","summary":"Detach the Target List from the Stage","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stages/deletestagetargetlist","deprecated":false}]}]}]}]}},{"type":"group","label":"Target Lists","link":"/openapi/pipelines_target-lists","routeSlug":"/openapi/pipelines_target-lists","items":[{"label":"Get all Target Lists in Pipeline","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-lists/getpipelinetargetlists","routeSlug":"/openapi/pipelines_target-lists/getpipelinetargetlists","metadata":{"seo":{"title":"Get all Target Lists in Pipeline","description":"Retrieves all Target Lists defined in a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineTargetLists","name":"Get all Target Lists in Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Target Lists in Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves all Target Lists defined in a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Target List objects for the specified pipeline; use this to see which sets of devices and Device Groups are configured as targets across the pipeline's stages."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List defines which devices a Stage acts on, either through individual Targets, attached Device Groups, or both. Target Lists are what a Pipeline's Stages point to at execution time to determine which devices receive each stage's operations."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","href":"pipelines_target-lists/getpipelinetargetlists","openApiOperationId":"getPipelineTargetLists","summary":"Get all Target Lists in Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Target Lists in Pipeline","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}},"schemaId":"schema_451"},{"code":"401","description":"Target List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_451","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_451"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-lists/getpipelinetargetlists"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/"},{"label":"Create a Target List","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-lists/addpipelinetargetlist","routeSlug":"/openapi/pipelines_target-lists/addpipelinetargetlist","metadata":{"seo":{"title":"Create a Target List","description":"Creates a new Target List within a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addPipelineTargetList","name":"Create a Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new Target List within a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a POST request to define a new set of devices for the pipeline; the response returns the created Target List object, which you can then populate with individual Targets and/or Device Groups."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List is the mechanism by which a Pipeline's Stages determine which devices to act on — it can contain individual device Targets, whole Device Groups, or both. A Stage Run created against a Target List with no targets is marked INVALID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create the Target List"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Add Targets and/or Device Groups to it"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Attach the Target List to a Stage so it's used when the pipeline runs"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList_POST"}},"schemaId":"components/schemas/pipelines_TargetList_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","href":"pipelines_target-lists/addpipelinetargetlist","openApiOperationId":"addPipelineTargetList","summary":"Create a Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_TargetList_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Targets in Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"401","description":"Target List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-lists/addpipelinetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/"},{"label":"Get a Pipeline Target list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-lists/getpipelinetargetlist","routeSlug":"/openapi/pipelines_target-lists/getpipelinetargetlist","metadata":{"seo":{"title":"Get a Pipeline Target list","description":"Retrieves the details of a single Target List by ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineTargetList","name":"Get a Pipeline Target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a Pipeline Target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Target List by ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full Target List object for the specified pipeline and target list; use this to inspect which devices or Device Groups a particular targeting definition includes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List defines which devices — via individual Targets and/or Device Groups — a Pipeline's Stages act on when the pipeline runs."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target list","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","href":"pipelines_target-lists/getpipelinetargetlist","openApiOperationId":"getPipelineTargetList","summary":"Get a Pipeline Target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get target list","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"401","description":"Target list attach error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-lists/getpipelinetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/"},{"label":"Update a Pipeline Target List","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-lists/updatepipelinetargetlist","routeSlug":"/openapi/pipelines_target-lists/updatepipelinetargetlist","metadata":{"seo":{"title":"Update a Pipeline Target List","description":"Updates the details of an existing Target List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineTargetList","name":"Update a Pipeline Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Pipeline Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the details of an existing Target List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send a PUT request with the updated fields to modify a Target List's configuration; the response returns the updated Target List object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List defines the devices a Pipeline Stage acts on, either through individual Targets or attached Device Groups; its configuration is managed separately from the Targets and Device Groups it contains, which have their own dedicated endpoints."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList"}},"schemaId":"components/schemas/pipelines_TargetList","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","href":"pipelines_target-lists/updatepipelinetargetlist","openApiOperationId":"updatePipelineTargetList","summary":"Update a Pipeline Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_TargetList","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetList"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Target List Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"400","description":"Target List update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Target List update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-lists/updatepipelinetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/"},{"label":"Delete a Pipeline Target list","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-lists/deletepipelinetargetlist","routeSlug":"/openapi/pipelines_target-lists/deletepipelinetargetlist","metadata":{"seo":{"title":"Delete a Pipeline Target list","description":"Deletes a Target List from a Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deletePipelineTargetList","name":"Delete a Pipeline Target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Pipeline Target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a Target List from a Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the specified Target List, including its association with any Targets or Device Groups it contained; the response returns the deleted Target List object."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List defines the set of devices — individual Targets and/or Device Groups — that a Pipeline Stage acts on. Deleting one removes that targeting definition from the pipeline."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","href":"pipelines_target-lists/deletepipelinetargetlist","openApiOperationId":"deletePipelineTargetList","summary":"Delete a Pipeline Target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Delete target list","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}},"schemaId":"schema_452"},{"code":"401","description":"Target list delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_452","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_452"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-lists/deletepipelinetargetlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Target Lists"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Target Lists","showPageActions":true},{"nodeType":"markdoc","content":"APIs to modify Target List"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","summary":"Get all Target Lists in Pipeline","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-lists/getpipelinetargetlists","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/","summary":"Create a Target List","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-lists/addpipelinetargetlist","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","summary":"Get a Pipeline Target list","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-lists/getpipelinetargetlist","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","summary":"Update a Pipeline Target List","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-lists/updatepipelinetargetlist","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/","summary":"Delete a Pipeline Target list","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-lists/deletepipelinetargetlist","deprecated":false}]}]}]}]}},{"type":"group","label":"Targets","link":"/openapi/pipelines_targets","routeSlug":"/openapi/pipelines_targets","items":[{"label":"Get all Targets in the Target List","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/gettargetlisttargets","routeSlug":"/openapi/pipelines_targets/gettargetlisttargets","metadata":{"seo":{"title":"Get all Targets in the Target List","description":"Get all Targets in the Target List"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTargetListTargets","name":"Get all Targets in the Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Targets in the Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","href":"pipelines_targets/gettargetlisttargets","openApiOperationId":"getTargetListTargets","summary":"Get all Targets in the Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Targets in Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_453"}},"schemaId":"schema_453"},{"code":"401","description":"Target List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_453","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_453"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/gettargetlisttargets"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/"},{"label":"Create a target for the target list","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/createtargetlisttargets","routeSlug":"/openapi/pipelines_targets/createtargetlisttargets","metadata":{"seo":{"title":"Create a target for the target list","description":"Create a target for the target list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTargetListTargets","name":"Create a target for the target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a target for the target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Target_POST"}},"schemaId":"components/schemas/pipelines_Target_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Target_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","href":"pipelines_targets/createtargetlisttargets","openApiOperationId":"createTargetListTargets","summary":"Create a target for the target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Target_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Target_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Targets in Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}},"schemaId":"schema_454"},{"code":"401","description":"Target List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_454","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/createtargetlisttargets"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/"},{"label":"Get one target from target list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/gettargetlisttarget","routeSlug":"/openapi/pipelines_targets/gettargetlisttarget","metadata":{"seo":{"title":"Get one target from target list","description":"Get one target from target list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTargetListTarget","name":"Get one target from target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get one target from target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true},{"name":"target_id","in":"path","schemaId":"schema_322","description":"ID of the Target","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"target_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","href":"pipelines_targets/gettargetlisttarget","openApiOperationId":"getTargetListTarget","summary":"Get one target from target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Target from Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}},"schemaId":"schema_454"},{"code":"401","description":"Target List device delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_454","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/gettargetlisttarget"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/"},{"label":"Update a target in the target list","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/updatetargetlisttarget","routeSlug":"/openapi/pipelines_targets/updatetargetlisttarget","metadata":{"seo":{"title":"Update a target in the target list","description":"Update a target in the target list"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateTargetListTarget","name":"Update a target in the target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a target in the target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true},{"name":"target_id","in":"path","schemaId":"schema_322","description":"ID of the Target","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Target_PUT"}},"schemaId":"components/schemas/pipelines_Target_PUT","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"target_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Target_PUT"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","href":"pipelines_targets/updatetargetlisttarget","openApiOperationId":"updateTargetListTarget","summary":"Update a target in the target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Target_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Target_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Target from Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}},"schemaId":"schema_454"},{"code":"401","description":"Target List device delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_454","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/updatetargetlisttarget"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/"},{"label":"Delete a Target or Device from a Target List","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/deletetargetlisttarget","routeSlug":"/openapi/pipelines_targets/deletetargetlisttarget","metadata":{"seo":{"title":"Delete a Target or Device from a Target List","description":"Delete a Target or Device from a Target List"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTargetListTarget","name":"Delete a Target or Device from a Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Target or Device from a Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true},{"name":"target_id","in":"path","schemaId":"schema_322","description":"ID of the Target","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"target_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","href":"pipelines_targets/deletetargetlisttarget","openApiOperationId":"deleteTargetListTarget","summary":"Delete a Target or Device from a Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted Target from Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}},"schemaId":"schema_454"},{"code":"401","description":"Target List device delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets~1{target_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_454","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_454"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/deletetargetlisttarget"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/"},{"label":"Bulk add targets to a target list","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_targets/bulkaddtargetlisttargets","routeSlug":"/openapi/pipelines_targets/bulkaddtargetlisttargets","metadata":{"seo":{"title":"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."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"bulkAddTargetListTargets","name":"Bulk add targets to a target list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets-bulk~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Bulk add targets to a target list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets-bulk~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_455"}},"schemaId":"schema_455","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets-bulk~1/post/requestBody","description":"Array of device IDs (strings) or device objects with metadata"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_455"}},"responseCodes":["200","400","401","500"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/","href":"pipelines_targets/bulkaddtargetlisttargets","openApiOperationId":"bulkAddTargetListTargets","summary":"Bulk add targets to a target list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_455","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_455"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Bulk add completed successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_456"}},"schemaId":"schema_456"},{"code":"400","description":"Bad request - invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1targets-bulk~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_456","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_456"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_targets/bulkaddtargetlisttargets"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Targets"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Targets","showPageActions":true},{"nodeType":"markdoc","content":"Targets subsystem"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","summary":"Get all Targets in the Target List","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/gettargetlisttargets","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/","summary":"Create a target for the target list","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/createtargetlisttargets","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","summary":"Get one target from target list","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/gettargetlisttarget","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","summary":"Update a target in the target list","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/updatetargetlisttarget","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets/{target_id}/","summary":"Delete a Target or Device from a Target List","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/deletetargetlisttarget","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/targets-bulk/","summary":"Bulk add targets to a target list","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_targets/bulkaddtargetlisttargets","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Groups","link":"/openapi/pipelines_device-groups","routeSlug":"/openapi/pipelines_device-groups","items":[{"label":"Get all Device Groups in the Target List","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_device-groups/gettargetlistdevicegroups","routeSlug":"/openapi/pipelines_device-groups/gettargetlistdevicegroups","metadata":{"seo":{"title":"Get all Device Groups in the Target List","description":"Retrieves all Device Groups attached to a Target List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTargetListDeviceGroups","name":"Get all Device Groups in the Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Device Groups in the Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves all Device Groups attached to a Target List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Device Group objects linked to the specified Target List; use this to see which groups of devices a pipeline's targeting definition includes, as a complement to any individually listed Targets."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Groups in Target Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A Target List can target devices either directly, via individual Targets, or in bulk by attaching a Device Group — every device in an attached group becomes a target for that Stage. This endpoint returns only the Device Group side of a Target List's targeting; individual Targets are retrieved via a separate endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","href":"pipelines_device-groups/gettargetlistdevicegroups","openApiOperationId":"getTargetListDeviceGroups","summary":"Get all Device Groups in the Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Device Groups in Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_457"}},"schemaId":"schema_457"},{"code":"401","description":"Target List device group get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_457","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_457"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_device-groups/gettargetlistdevicegroups"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/"},{"label":"Add a Device Group to the Target List","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_device-groups/addtargetlistdevicegroups","routeSlug":"/openapi/pipelines_device-groups/addtargetlistdevicegroups","metadata":{"seo":{"title":"Add a Device Group to the Target List","description":"Add a Device Group to the Target List"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addTargetListDeviceGroups","name":"Add a Device Group to the Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add a Device Group to the Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_323","description":"ID of the Target List","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetListDeviceGroups_POST"}},"schemaId":"components/schemas/pipelines_TargetListDeviceGroups_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_TargetListDeviceGroups_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","href":"pipelines_device-groups/addtargetlistdevicegroups","openApiOperationId":"addTargetListDeviceGroups","summary":"Add a Device Group to the Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_TargetListDeviceGroups_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetListDeviceGroups_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Added Device group","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_TargetListDeviceGroup"}},"schemaId":"components/schemas/pipelines_TargetListDeviceGroup"},{"code":"401","description":"Target List Device Group add error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/pipelines_TargetListDeviceGroup","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_TargetListDeviceGroup"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_device-groups/addtargetlistdevicegroups"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/"},{"label":"Delete Device Group from a Target List","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_device-groups/deletetargetlistdevicegroup","routeSlug":"/openapi/pipelines_device-groups/deletetargetlistdevicegroup","metadata":{"seo":{"title":"Delete Device Group from a Target List","description":"Delete Device Group from a Target List"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteTargetListDeviceGroup","name":"Delete Device Group from a Target List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{devicegroup_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete Device Group from a Target List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true},{"name":"devicegroup_id","in":"path","schemaId":"schema_322","description":"ID of the Device Group","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{devicegroup_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{devicegroup_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"devicegroup_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{devicegroup_id}/","href":"pipelines_device-groups/deletetargetlistdevicegroup","openApiOperationId":"deleteTargetListDeviceGroup","summary":"Delete Device Group from a Target List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted Device Group from Target List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_458"}},"schemaId":"schema_458"},{"code":"401","description":"Target List device delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{devicegroup_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_458","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_458"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_device-groups/deletetargetlistdevicegroup"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{devicegroup_id}/"},{"label":"Get all Devices in the device group","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_device-groups/getdevicegroupdevices","routeSlug":"/openapi/pipelines_device-groups/getdevicegroupdevices","metadata":{"seo":{"title":"Get all Devices in the device group","description":"Get all Devices in the device group"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceGroupDevices","name":"Get all Devices in the device group","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{device_group_id}~1devices~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Devices in the device group","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_322","description":"ID of the Pipeline","required":true},{"name":"targetlist_id","in":"path","schemaId":"schema_322","description":"ID of the Target List","required":true},{"name":"device_group_id","in":"path","schemaId":"schema_322","description":"ID of the Device Group","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{device_group_id}~1devices~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{device_group_id}/devices/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"targetlist_id","in":"path","required":true,"schemaId":"schema_322"},{"name":"device_group_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{device_group_id}/devices/","href":"pipelines_device-groups/getdevicegroupdevices","openApiOperationId":"getDeviceGroupDevices","summary":"Get all Devices in the device group"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Devices in Device group","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}},"schemaId":"schema_459"},{"code":"401","description":"Operation List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1targetlists~1{targetlist_id}~1devicegroups~1{device_group_id}~1devices~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_459","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_459"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_device-groups/getdevicegroupdevices"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{device_group_id}/devices/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Device Groups"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Groups","showPageActions":true},{"nodeType":"markdoc","content":"APIs to modify Device Groups"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","summary":"Get all Device Groups in the Target List","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_device-groups/gettargetlistdevicegroups","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/","summary":"Add a Device Group to the Target List","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_device-groups/addtargetlistdevicegroups","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{devicegroup_id}/","summary":"Delete Device Group from a Target List","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_device-groups/deletetargetlistdevicegroup","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/targetlists/{targetlist_id}/devicegroups/{device_group_id}/devices/","summary":"Get all Devices in the device group","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_device-groups/getdevicegroupdevices","deprecated":false}]}]}]}]}},{"type":"group","label":"Operation Lists","link":"/openapi/pipelines_operation-lists","routeSlug":"/openapi/pipelines_operation-lists","items":[{"label":"Get all Operation Lists attached to the Stage","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operation-lists/getstageoperationlists","routeSlug":"/openapi/pipelines_operation-lists/getstageoperationlists","metadata":{"seo":{"title":"Get all Operation Lists attached to the Stage","description":"Get all Operation Lists attached to the Stage"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getStageOperationLists","name":"Get all Operation Lists attached to the Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Operation Lists attached to the Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stages/{stage_id}/operationlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/operationlists/","href":"pipelines_operation-lists/getstageoperationlists","openApiOperationId":"getStageOperationLists","summary":"Get all Operation Lists attached to the Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Operation Lists attached to the Stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_460"}},"schemaId":"schema_460"},{"code":"401","description":"Operation List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_460","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_460"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operation-lists/getstageoperationlists"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/operationlists/"},{"label":"Create an Operation list for the Stage","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operation-lists/addstageoperationlist","routeSlug":"/openapi/pipelines_operation-lists/addstageoperationlist","metadata":{"seo":{"title":"Create an Operation list for the Stage","description":"Create an Operation list for the Stage"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addStageOperationList","name":"Create an Operation list for the Stage","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an Operation list for the Stage","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList_POST"}},"schemaId":"components/schemas/pipelines_OperationList_POST","pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/stages/{stage_id}/operationlists/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/operationlists/","href":"pipelines_operation-lists/addstageoperationlist","openApiOperationId":"addStageOperationList","summary":"Create an Operation list for the Stage"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_OperationList_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Attach Operation list to a Stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}},"schemaId":"schema_461"},{"code":"401","description":"Operation list attach error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_461","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operation-lists/addstageoperationlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/operationlists/"},{"label":"Update an Operation List","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operation-lists/updatepipelineoperationlist","routeSlug":"/openapi/pipelines_operation-lists/updatepipelineoperationlist","metadata":{"seo":{"title":"Update an Operation List","description":"Update an Operation List"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineOperationList","name":"Update an Operation List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update an Operation List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true},{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList"}},"schemaId":"components/schemas/pipelines_OperationList","pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","href":"pipelines_operation-lists/updatepipelineoperationlist","openApiOperationId":"updatePipelineOperationList","summary":"Update an Operation List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_OperationList","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_OperationList"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Operation List Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}},"schemaId":"schema_461"},{"code":"400","description":"Operation List update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Operation List update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_461","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operation-lists/updatepipelineoperationlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/"},{"label":"Delete stage operation list","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operation-lists/deletestageoperationlist","routeSlug":"/openapi/pipelines_operation-lists/deletestageoperationlist","metadata":{"seo":{"title":"Delete stage operation list","description":"Permanently deletes an Operation List attached to a Pipeline Stage."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteStageOperationList","name":"Delete stage operation list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete stage operation list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes an Operation List attached to a Pipeline Stage."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removes the Operation List record identified by operationlist_id from the given stage_id, along with the individual Operations it contains. This does not delete the Stage itself, only the Operation List and its operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Stage Operation List"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. Pipelines orchestrate multi-step device operations using a Pipeline → Stages → Operation List → Target List hierarchy. An Operation List holds the ordered set of actions (such as commands or scripts) that a Stage runs against its Target List. Deleting the Operation List removes that stage's action definitions, so the stage will have nothing to execute until a new Operation List is created and attached."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an outdated Operation List before rebuilding a Pipeline Stage with new actions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up unused Operation Lists during Pipeline maintenance"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the Operation List is not currently referenced by an active or scheduled Pipeline Run before deleting it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create the replacement Operation List first if the Stage needs to remain runnable without downtime"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /pipelines/v0/pipelines/{pipeline_id}/stages/{stage_id}/ to confirm the operationlist_id belongs to the intended stage"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE the Operation List using its stage_id and operationlist_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create and attach a new Operation List to the stage if it should continue to run actions"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_id","in":"path","schemaId":"schema_323","description":"ID of the Stage","required":true},{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","href":"pipelines_operation-lists/deletestageoperationlist","openApiOperationId":"deleteStageOperationList","summary":"Delete stage operation list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Delete operation list from stage","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}},"schemaId":"schema_461"},{"code":"401","description":"Operation list detach error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stages~1{stage_id}~1operationlists~1{operationlist_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_461","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_461"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operation-lists/deletestageoperationlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Operation Lists"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Operation Lists","showPageActions":true},{"nodeType":"markdoc","content":"APIs to modify Operation List"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/stages/{stage_id}/operationlists/","summary":"Get all Operation Lists attached to the Stage","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operation-lists/getstageoperationlists","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/operationlists/","summary":"Create an Operation list for the Stage","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operation-lists/addstageoperationlist","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","summary":"Update an Operation List","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operation-lists/updatepipelineoperationlist","deprecated":false},{"title":"/pipelines/v0/stages/{stage_id}/operationlists/{operationlist_id}/","summary":"Delete stage operation list","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operation-lists/deletestageoperationlist","deprecated":false}]}]}]}]}},{"type":"group","label":"Operations","link":"/openapi/pipelines_operations","routeSlug":"/openapi/pipelines_operations","items":[{"label":"Get all Operations in the Operation List","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operations/getoperationlistoperations","routeSlug":"/openapi/pipelines_operations/getoperationlistoperations","metadata":{"seo":{"title":"Get all Operations in the Operation List","description":"Returns a paginated list of Operations belonging to a specific Operation List within a Pipeline. Use it to see all the individual operations queued or defined under one Operation List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOperationListOperations","name":"Get all Operations in the Operation List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Operations in the Operation List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Operations belonging to a specific Operation List within a Pipeline. Use it to see all the individual operations queued or defined under one Operation List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supports filtering by operation_type, and returns a count plus previous/next pagination links alongside the Operation records."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the Pipelines Operations endpoint. Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/openapi/device_operations"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for command operations (dispatch commands)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operations"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's Pipelines system orchestrates multi-step device operations. A Pipeline contains Stages, and each Stage can have Target Lists (Targets and/or Device Groups) and Operation Lists; an Operation List groups the individual Operations that get executed as part of a Stage. Pipeline Runs, Stage Runs, and Target Runs track execution against these definitions, with statuses including PENDING, QUEUED, PROCESSING, RUNNING, WAITING, COMPLETE, SUCCESS, FAILURE, CANCELLED, TIMEOUT (default 21 days), and INVALID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operationlist_id — path parameter identifying the Operation List"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_type — optional query filter to return only operations of a specific type"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the individual operations configured under a Pipeline's Operation List before or after a run"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing an Operation List's contents when troubleshooting a Pipeline Run"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"operation_type","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operation Type to filter on as defined in Operation_POST model"},"children":[]}]}]}]}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/operationlists/{operationlist_id}/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"operation_type","in":"query","required":false,"schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/operationlists/{operationlist_id}/operations/","href":"pipelines_operations/getoperationlistoperations","openApiOperationId":"getOperationListOperations","summary":"Get all Operations in the Operation List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Operations in Operation List","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_462"}},"schemaId":"schema_462"},{"code":"401","description":"Operation List get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_462","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_462"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operations/getoperationlistoperations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/operationlists/{operationlist_id}/operations/"},{"label":"Create an Operation for Operation List","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operations/addoperationlistoperations","routeSlug":"/openapi/pipelines_operations/addoperationlistoperations","metadata":{"seo":{"title":"Create an Operation for Operation List","description":"Adds a new Operation to an existing Operation List in Esper's Pipelines system."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"addOperationListOperations","name":"Create an Operation for Operation List","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an Operation for Operation List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adds a new Operation to an existing Operation List in Esper's Pipelines system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send the operation_type (e.g. LOCK, REBOOT, WIPE, INSTALL, SIMPLE_INSTALL, UNINSTALL, SET_KIOSK_APP, SET_WALLPAPER) and its args in the request body; the created Operation is returned and becomes one of the actions performed when the parent Stage runs."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the Pipelines Operations endpoint. Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/openapi/device_operations"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for command operations (dispatch commands)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operation Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Operation List holds one or more Operations — the individual device actions a Pipeline Stage performs against its targeted devices. Grouping Operations into a list lets a single stage execute multiple actions in sequence when its Stage Run processes. This is an authenticated SCAPI endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_type — the action to perform (e.g. LOCK, REBOOT, WIPE, INSTALL, SET_KIOSK_APP, etc.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"args — object containing the arguments for the selected operation_type"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding a device action to a stage's operation list while building out a pipeline"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Operation_POST"}},"schemaId":"components/schemas/pipelines_Operation_POST","pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/operationlists/{operationlist_id}/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Operation_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/operationlists/{operationlist_id}/operations/","href":"pipelines_operations/addoperationlistoperations","openApiOperationId":"addOperationListOperations","summary":"Create an Operation for Operation List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Operation_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Operation_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463"},{"code":"401","description":"Operation create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operations/addoperationlistoperations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/operationlists/{operationlist_id}/operations/"},{"label":"Get an Operation from the operation list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operations/getoperationlistoperation","routeSlug":"/openapi/pipelines_operations/getoperationlistoperation","metadata":{"seo":{"title":"Get an Operation from the operation list","description":"Retrieves the details of a single Operation within an Operation List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOperationListOperation","name":"Get an Operation from the operation list","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get an Operation from the operation list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Operation within an Operation List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the Operation's operation_type, args, and metadata (created_by, updated_by, created_at, updated_at) for the given operation_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the Pipelines Operations endpoint. Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/openapi/device_operations"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for command operations (dispatch commands)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operation Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Operation List holds one or more Operations — the individual device actions a Pipeline Stage performs against its targeted devices. Operations are grouped into a list so a single stage can execute multiple actions in sequence. This is an authenticated SCAPI endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation list","required":true},{"name":"operation_id","in":"path","schemaId":"schema_323","description":"ID of the Operation","required":true}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"operation_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","href":"pipelines_operations/getoperationlistoperation","openApiOperationId":"getOperationListOperation","summary":"Get an Operation from the operation list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get operation from operation list","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463"},{"code":"401","description":"Operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operations/getoperationlistoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/"},{"label":"Update an Operation","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operations/updateoperationlistoperation","routeSlug":"/openapi/pipelines_operations/updateoperationlistoperation","metadata":{"seo":{"title":"Update an Operation","description":"Updates an existing Operation in an Operation List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateOperationListOperation","name":"Update an Operation","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update an Operation","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates an existing Operation in an Operation List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Replace the operation_type and/or args for the Operation identified by operation_id; the updated Operation is returned."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the Pipelines Operations endpoint. Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/openapi/device_operations"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for command operations (dispatch commands)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operation Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Operation List holds one or more Operations — the individual device actions a Pipeline Stage performs against its targeted devices. Operations are grouped into a list so a single stage can execute multiple actions in sequence. This is an authenticated SCAPI endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true},{"name":"operation_id","in":"path","schemaId":"schema_323","description":"ID of the Operation","required":true}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Operation"}},"schemaId":"components/schemas/pipelines_Operation","pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"operation_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_Operation"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","href":"pipelines_operations/updateoperationlistoperation","openApiOperationId":"updateOperationListOperation","summary":"Update an Operation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_Operation","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_Operation"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Operation Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463"},{"code":"400","description":"Operation update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Operation update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operations/updateoperationlistoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/"},{"label":"Delete an Operation list operation","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_operations/deleteoperationlistoperation","routeSlug":"/openapi/pipelines_operations/deleteoperationlistoperation","metadata":{"seo":{"title":"Delete an Operation list operation","description":"Removes a specific Operation from an Operation List."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteOperationListOperation","name":"Delete an Operation list operation","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an Operation list operation","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removes a specific Operation from an Operation List."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes the Operation identified by operation_id from the given operationlist_id, so that action no longer runs when the associated Stage executes."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the Pipelines Operations endpoint. Use the "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/openapi/device_operations"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations API"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for command operations (dispatch commands)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operation Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Operation List holds one or more Operations — the individual device actions a Pipeline Stage performs against its targeted devices. Operations are grouped into a list so a single stage can execute multiple actions in sequence. This is an authenticated SCAPI endpoint."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationlist_id","in":"path","schemaId":"schema_323","description":"ID of the Operation List","required":true},{"name":"operation_id","in":"path","schemaId":"schema_323","description":"ID of the Operation","required":true}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationlist_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"operation_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","href":"pipelines_operations/deleteoperationlistoperation","openApiOperationId":"deleteOperationListOperation","summary":"Delete an Operation list operation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Delete operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}},"schemaId":"schema_463"},{"code":"401","description":"Operation delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1operationlists~1{operationlist_id}~1operations~1{operation_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_463","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_463"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_operations/deleteoperationlistoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Operations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Operations","showPageActions":true},{"nodeType":"markdoc","content":"Operations subsystem"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/operationlists/{operationlist_id}/operations/","summary":"Get all Operations in the Operation List","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operations/getoperationlistoperations","deprecated":false},{"title":"/pipelines/v0/operationlists/{operationlist_id}/operations/","summary":"Create an Operation for Operation List","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operations/addoperationlistoperations","deprecated":false},{"title":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","summary":"Get an Operation from the operation list","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operations/getoperationlistoperation","deprecated":false},{"title":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","summary":"Update an Operation","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operations/updateoperationlistoperation","deprecated":false},{"title":"/pipelines/v0/operationlists/{operationlist_id}/operations/{operation_id}/","summary":"Delete an Operation list operation","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_operations/deleteoperationlistoperation","deprecated":false}]}]}]}]}},{"type":"group","label":"Pipeline Runs","link":"/openapi/pipelines_pipeline-runs","routeSlug":"/openapi/pipelines_pipeline-runs","items":[{"label":"Get all Runs for the Pipelines in the Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/getallpipelineruns","routeSlug":"/openapi/pipelines_pipeline-runs/getallpipelineruns","metadata":{"seo":{"title":"Get all Runs for the Pipelines in the Enterprise","description":"Get all Runs for the Pipelines in the Enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAllPipelineRuns","name":"Get all Runs for the Pipelines in the Enterprise","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1runs~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Runs for the Pipelines in the Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_464","description":"Filter by pipeline run status"},{"name":"pipeline_name","in":"query","schemaId":"schema_323","description":"Filter by pipeline name"},{"name":"ordering","in":"query","schemaId":"schema_465","description":"Sorting pipelines runs based on the field name"}],"pointer":"/paths/~1pipelines~1v0~1runs~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/runs/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"status","in":"query","schemaId":"schema_464"},{"name":"pipeline_name","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_465"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/runs/","href":"pipelines_pipeline-runs/getallpipelineruns","openApiOperationId":"getAllPipelineRuns","summary":"Get all Runs for the Pipelines in the Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Runs for the Pipelines in the Enterprise","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_466"}},"schemaId":"schema_466"},{"code":"401","description":"Pipeline run get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1runs~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_466","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_466"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/getallpipelineruns"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/runs/"},{"label":"Get all Runs for the Pipeline","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/getpipelineruns","routeSlug":"/openapi/pipelines_pipeline-runs/getpipelineruns","metadata":{"seo":{"title":"Get all Runs for the Pipeline","description":"Lists all Pipeline Runs created for a given Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineRuns","name":"Get all Runs for the Pipeline","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Runs for the Pipeline","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lists all Pipeline Runs created for a given Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supports filtering by status and ordering by run_number, status, started_at, or ended_at (prefix a field with - for descending order)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipeline Runs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — filter by run status (pending, queued, processing, running, waiting, complete, success, failure, cancelled, invalid, timeout)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — sort by run_number, status, started_at, or ended_at"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_464","description":"Filter by pipeline run status"},{"name":"ordering","in":"query","schemaId":"schema_467","description":"Sorting pipelines runs based on the field name"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/runs/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"status","in":"query","schemaId":"schema_464"},{"name":"ordering","in":"query","schemaId":"schema_467"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/runs/","href":"pipelines_pipeline-runs/getpipelineruns","openApiOperationId":"getPipelineRuns","summary":"Get all Runs for the Pipeline"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Runs for the Pipeline","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_466"}},"schemaId":"schema_466"},{"code":"401","description":"Pipeline run get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_466","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_466"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/getpipelineruns"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/runs/"},{"label":"Create a Pipeline Run","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/createpipelinerun","routeSlug":"/openapi/pipelines_pipeline-runs/createpipelinerun","metadata":{"seo":{"title":"Create a Pipeline Run","description":"Triggers a new run of the specified Pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPipelineRun","name":"Create a Pipeline Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Pipeline Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers a new run of the specified Pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipeline Runs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Kicking off a configured Pipeline (e.g. a multi-step device provisioning or update flow) on demand"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-running a Pipeline after fixing its Stages, Target Lists, or Operation Lists"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":true,"marker":"."},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Configure the Pipeline's Stages, Target Lists, and Operation Lists"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create a Pipeline Run to execute the pipeline"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Track the run's status (and its Stage Runs / Target Runs) through to SUCCESS or FAILURE"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"schemaId":"components/schemas/pipelines_PipelineRun_POST","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/pipelines/{pipeline_id}/runs/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/runs/","href":"pipelines_pipeline-runs/createpipelinerun","openApiOperationId":"createPipelineRun","summary":"Create a Pipeline Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created Pipeline Run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}},"schemaId":"schema_468"},{"code":"401","description":"Pipeline run create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_468","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/createpipelinerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/runs/"},{"label":"Get Pipeline run by pipeline run id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/getpipelinerun","routeSlug":"/openapi/pipelines_pipeline-runs/getpipelinerun","metadata":{"seo":{"title":"Get Pipeline run by pipeline run id","description":"Retrieves the details of a single Pipeline Run."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineRun","name":"Get Pipeline run by pipeline run id","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Pipeline run by pipeline run id","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single Pipeline Run."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipeline Runs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"Run Id of pipeline run","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","href":"pipelines_pipeline-runs/getpipelinerun","openApiOperationId":"getPipelineRun","summary":"Get Pipeline run by pipeline run id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get Pipeline run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}},"schemaId":"schema_468"},{"code":"401","description":"Operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_468","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/getpipelinerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/"},{"label":"Update a Pipeline Run","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/updatepipelinerun","routeSlug":"/openapi/pipelines_pipeline-runs/updatepipelinerun","metadata":{"seo":{"title":"Update a Pipeline Run","description":"Updates a Pipeline Run for a specific pipeline."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineRun","name":"Update a Pipeline Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Pipeline Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates a Pipeline Run for a specific pipeline."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipeline Runs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — the lifecycle status to set on the run"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancel an in-progress Pipeline Run by setting status to cancelled"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"Run id of pipeline run","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_PUT"}},"schemaId":"components/schemas/pipelines_PipelineRun_PUT","pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_PUT"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","href":"pipelines_pipeline-runs/updatepipelinerun","openApiOperationId":"updatePipelineRun","summary":"Update a Pipeline Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Pipeline run information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}},"schemaId":"schema_468"},{"code":"400","description":"Pipeline Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Pipeline Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_468","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/updatepipelinerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/"},{"label":"Delete a Pipeline Run","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_pipeline-runs/deletepipelinerun","routeSlug":"/openapi/pipelines_pipeline-runs/deletepipelinerun","metadata":{"seo":{"title":"Delete a Pipeline Run","description":"Deletes a specific Pipeline Run. Only non-running pipelines can be deleted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deletePipelineRun","name":"Delete a Pipeline Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a Pipeline Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a specific Pipeline Run. Only non-running pipelines can be deleted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removes the Pipeline Run identified by pipeline_run_id under the given pipeline_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Pipeline Runs"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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)."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline","required":true},{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"Run id of pipeline run","required":true}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","href":"pipelines_pipeline-runs/deletepipelinerun","openApiOperationId":"deletePipelineRun","summary":"Delete a Pipeline Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Deleted Pipeline run information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}},"schemaId":"schema_468"},{"code":"400","description":"Pipeline Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Pipeline Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1pipelines~1{pipeline_id}~1runs~1{pipeline_run_id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_468","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_468"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_pipeline-runs/deletepipelinerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Pipeline Runs"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Pipeline Runs","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to manage Pipeline Runs. Pipeline run status descriptions"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PENDING - Pipeline run created."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"QUEUED - Pipeline run queued for processing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PROCESSING - Pipeline run received by scheduler for processing. (Processing a pipeline involves performing the operations required before starting a pipeline)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RUNNING - Pipeline run has started running."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"WAITING -  Pipeline run is waiting for an action (manual/automatic)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COMPLETE - The pipeline run has completed processing i.e. All stage runs are processed. A complete pipeline run can move to success or failure."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SUCCESS - A completed pipeline run moves to success if all stage runs are successful."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FAILURE - A completed pipeline run moves to failure if all stage runs are not successful."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CANCELLED - Pipeline run is cancelled by the user."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"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)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"INVALID - A pipeline run moves to invalid state when Pipeline run has no stageruns i.e pipeline has zero stages."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/runs/","summary":"Get all Runs for the Pipelines in the Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/getallpipelineruns","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/runs/","summary":"Get all Runs for the Pipeline","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/getpipelineruns","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/runs/","summary":"Create a Pipeline Run","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/createpipelinerun","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","summary":"Get Pipeline run by pipeline run id","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/getpipelinerun","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","summary":"Update a Pipeline Run","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/updatepipelinerun","deprecated":false},{"title":"/pipelines/v0/pipelines/{pipeline_id}/runs/{pipeline_run_id}/","summary":"Delete a Pipeline Run","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_pipeline-runs/deletepipelinerun","deprecated":false}]}]}]}]}},{"type":"group","label":"Stage Runs","link":"/openapi/pipelines_stage-runs","routeSlug":"/openapi/pipelines_stage-runs","items":[{"label":"Get all Stage Runs for the Pipeline Run","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stage-runs/getpipelinerunstageruns","routeSlug":"/openapi/pipelines_stage-runs/getpipelinerunstageruns","metadata":{"seo":{"title":"Get all Stage Runs for the Pipeline Run","description":"Get all Stage Runs for the Pipeline Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineRunStageRuns","name":"Get all Stage Runs for the Pipeline Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Stage Runs for the Pipeline Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline Run","required":true}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_469","description":"Status of stage run"}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"status","in":"query","required":false,"schemaId":"schema_469"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/","href":"pipelines_stage-runs/getpipelinerunstageruns","openApiOperationId":"getPipelineRunStageRuns","summary":"Get all Stage Runs for the Pipeline Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Stage Runs for the Pipeline Run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_470"}},"schemaId":"schema_470"},{"code":"401","description":"Stage run get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_470","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_470"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stage-runs/getpipelinerunstageruns"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/"},{"label":"Get Pipeline Stage run by stage run Id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stage-runs/getpipelinerunstagerun","routeSlug":"/openapi/pipelines_stage-runs/getpipelinerunstagerun","metadata":{"seo":{"title":"Get Pipeline Stage run by stage run Id","description":"Get Pipeline Stage run by stage run Id"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineRunStageRun","name":"Get Pipeline Stage run by stage run Id","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Pipeline Stage run by stage run Id","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline Run","required":true},{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"ID of pipeline stage run","required":true}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","href":"pipelines_stage-runs/getpipelinerunstagerun","openApiOperationId":"getPipelineRunStageRun","summary":"Get Pipeline Stage run by stage run Id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get pipeline run stage run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}},"schemaId":"schema_471"},{"code":"401","description":"Operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_471","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stage-runs/getpipelinerunstagerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/"},{"label":"Update a Pipeline Stage Run","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stage-runs/updatepipelinerunstagerun","routeSlug":"/openapi/pipelines_stage-runs/updatepipelinerunstagerun","metadata":{"seo":{"title":"Update a Pipeline Stage Run","description":"Update a Pipeline Stage Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineRunStageRun","name":"Update a Pipeline Stage Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Pipeline Stage Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"pipeline_run_id","in":"path","schemaId":"schema_323","description":"ID of the Pipeline Run","required":true},{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"id of pipeline stage run","required":true}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_472"}},"schemaId":"schema_472","pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"pipeline_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_472"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","href":"pipelines_stage-runs/updatepipelinerunstagerun","openApiOperationId":"updatePipelineRunStageRun","summary":"Update a Pipeline Stage Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_472","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_472"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Pipeline Stage run information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}},"schemaId":"schema_471"},{"code":"400","description":"Pipeline Stage Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Pipeline Stage Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1runs~1{pipeline_run_id}~1stageruns~1{stage_run_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_471","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_471"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stage-runs/updatepipelinerunstagerun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/"},{"label":"Get all Operations for the Stage Run","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stage-runs/getpipelinestagerunoperations","routeSlug":"/openapi/pipelines_stage-runs/getpipelinestagerunoperations","metadata":{"seo":{"title":"Get all Operations for the Stage Run","description":"Get all Operations for the Stage Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStageRunOperations","name":"Get all Operations for the Stage Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Operations for the Stage Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stageruns/{stage_run_id}/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/operations/","href":"pipelines_stage-runs/getpipelinestagerunoperations","openApiOperationId":"getPipelineStageRunOperations","summary":"Get all Operations for the Stage Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Operations for the Stage Run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_473"}},"schemaId":"schema_473"},{"code":"401","description":"Stage run operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_473","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_473"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stage-runs/getpipelinestagerunoperations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/operations/"},{"label":"Get single Operation for the Stage Run","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_stage-runs/getpipelinestagerunoperation","routeSlug":"/openapi/pipelines_stage-runs/getpipelinestagerunoperation","metadata":{"seo":{"title":"Get single Operation for the Stage Run","description":"Get single Operation for the Stage Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStageRunOperation","name":"Get single Operation for the Stage Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1{stage_run_operation_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get single Operation for the Stage Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true},{"name":"stage_run_operation_id","in":"path","schemaId":"schema_323","description":"Stage run operation Id","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1{stage_run_operation_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stageruns/{stage_run_id}/operations/{stage_run_operation_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"stage_run_operation_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/operations/{stage_run_operation_id}/","href":"pipelines_stage-runs/getpipelinestagerunoperation","openApiOperationId":"getPipelineStageRunOperation","summary":"Get single Operation for the Stage Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Operation for the Stage Run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_474"}},"schemaId":"schema_474"},{"code":"401","description":"Stage run operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1operations~1{stage_run_operation_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_474","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_474"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_stage-runs/getpipelinestagerunoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/operations/{stage_run_operation_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Stage Runs"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Stage Runs","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to manage Stage Runs. Stage run status descriptions"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PENDING - Stage run created."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"QUEUED - Stage run queued for processing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PROCESSING - Stage run received by scheduler for processing.(Processing a stage run can involve performing the operations required before starting a stage run. In this case creating the target runs for the stage.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RUNNING - Stage run has started running."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COMPLETE - Stage run moves to complete if all target runs are complete (target runs are complete if they are in a terminal state)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SUCCESS - A completed stage run moves to success if all target runs are successful."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FAILURE - A completed stage moves to failure if all target runs are not successful."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CANCELLED - Stage run cancelled by user."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"TIMEOUT - The stage run has a timed out. This happens when the stage run has not completed processing even after the timeout period (Default 7 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"INVALID -  A stage run moves to invalid state when"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a. The associated stage has no targets."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"b. The associated stage has no operations."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/","summary":"Get all Stage Runs for the Pipeline Run","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stage-runs/getpipelinerunstageruns","deprecated":false},{"title":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","summary":"Get Pipeline Stage run by stage run Id","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stage-runs/getpipelinerunstagerun","deprecated":false},{"title":"/pipelines/v0/runs/{pipeline_run_id}/stageruns/{stage_run_id}/","summary":"Update a Pipeline Stage Run","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stage-runs/updatepipelinerunstagerun","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/operations/","summary":"Get all Operations for the Stage Run","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stage-runs/getpipelinestagerunoperations","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/operations/{stage_run_operation_id}/","summary":"Get single Operation for the Stage Run","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_stage-runs/getpipelinestagerunoperation","deprecated":false}]}]}]}]}},{"type":"group","label":"Target Runs","link":"/openapi/pipelines_target-runs","routeSlug":"/openapi/pipelines_target-runs","items":[{"label":"Get all Target Runs for the Stage Run","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/getpipelinestagetargetruns","routeSlug":"/openapi/pipelines_target-runs/getpipelinestagetargetruns","metadata":{"seo":{"title":"Get all Target Runs for the Stage Run","description":"Get all Target Runs for the Stage Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStageTargetRuns","name":"Get all Target Runs for the Stage Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Target Runs for the Stage Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"status","in":"query","schemaId":"schema_475","description":"Status of target run"},{"name":"stage_run_operation_id","in":"query","schemaId":"schema_322","description":"Stage run Operation Id to filter on"},{"name":"ordering","in":"query","schemaId":"schema_476","description":"Sorting target runs based on status field"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"status","in":"query","schemaId":"schema_475"},{"name":"stage_run_operation_id","in":"query","schemaId":"schema_322"},{"name":"ordering","in":"query","schemaId":"schema_476"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","href":"pipelines_target-runs/getpipelinestagetargetruns","openApiOperationId":"getPipelineStageTargetRuns","summary":"Get all Target Runs for the Stage Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"All Target runs for the Stage Run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_477"}},"schemaId":"schema_477"},{"code":"401","description":"Target run get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_477","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_477"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/getpipelinestagetargetruns"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/"},{"label":"Create a Target Runs for Stage Run","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/createpipelinestagetargetruns","routeSlug":"/openapi/pipelines_target-runs/createpipelinestagetargetruns","metadata":{"seo":{"title":"Create a Target Runs for Stage Run","description":"Create a Target Runs for Stage Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createPipelineStageTargetRuns","name":"Create a Target Runs for Stage Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Target Runs for Stage Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_POST"}},"schemaId":"components/schemas/pipelines_TargetRun_POST","pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","href":"pipelines_target-runs/createpipelinestagetargetruns","openApiOperationId":"createPipelineStageTargetRuns","summary":"Create a Target Runs for Stage Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_TargetRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created Target Runs","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_478"}},"schemaId":"schema_478"},{"code":"401","description":"Target Run create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_478","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_478"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/createpipelinestagetargetruns"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/"},{"label":"Get Target Run by Target Run ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/getpipelinestagetargetrun","routeSlug":"/openapi/pipelines_target-runs/getpipelinestagetargetrun","metadata":{"seo":{"title":"Get Target Run by Target Run ID","description":"Get Target Run by Target Run ID"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getPipelineStageTargetRun","name":"Get Target Run by Target Run ID","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Target Run by Target Run ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true},{"name":"target_run_id","in":"path","schemaId":"schema_323","description":"Id of the Target Run","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"target_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","href":"pipelines_target-runs/getpipelinestagetargetrun","openApiOperationId":"getPipelineStageTargetRun","summary":"Get Target Run by Target Run ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get target run","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_479"}},"schemaId":"schema_479"},{"code":"401","description":"Operation get error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_479","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_479"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/getpipelinestagetargetrun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/"},{"label":"Update a Target Run","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/updatepipelinestagetargetrun","routeSlug":"/openapi/pipelines_target-runs/updatepipelinestagetargetrun","metadata":{"seo":{"title":"Update a Target Run","description":"Update a Target Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updatePipelineStageTargetRun","name":"Update a Target Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a Target Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"Stage run Id","required":true},{"name":"target_run_id","in":"path","schemaId":"schema_323","description":"Id of the target run","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_PUT"}},"schemaId":"components/schemas/pipelines_TargetRun_PUT","pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"target_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_PUT"}},"responseCodes":["200","400","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","href":"pipelines_target-runs/updatepipelinestagetargetrun","openApiOperationId":"updatePipelineStageTargetRun","summary":"Update a Target Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_TargetRun_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_TargetRun_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated Target Run run information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_479"}},"schemaId":"schema_479"},{"code":"400","description":"Target Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Target Run update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_479","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_479"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/updatepipelinestagetargetrun"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/"},{"label":"Get status of the command running for Target run","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/gettargetruncommandstatus","routeSlug":"/openapi/pipelines_target-runs/gettargetruncommandstatus","metadata":{"seo":{"title":"Get status of the command running for Target run","description":"Get status of the command running for Target run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getTargetRunCommandStatus","name":"Get status of the command running for Target run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get status of the command running for Target run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"ID of the stage run","required":true},{"name":"target_run_id","in":"path","schemaId":"schema_323","description":"Id of the target run","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"target_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","href":"pipelines_target-runs/gettargetruncommandstatus","openApiOperationId":"getTargetRunCommandStatus","summary":"Get status of the command running for Target run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command processor request status","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}},"schemaId":"schema_480"},{"code":"401","description":"Command request create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_480","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/gettargetruncommandstatus"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/"},{"label":"Create an command processor request for Target Run","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/createtargetruncommand","routeSlug":"/openapi/pipelines_target-runs/createtargetruncommand","metadata":{"seo":{"title":"Create an command processor request for Target Run","description":"Create an command processor request for Target Run"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createTargetRunCommand","name":"Create an command processor request for Target Run","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create an command processor request for Target Run","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"ID of the stage run","required":true},{"name":"target_run_id","in":"path","schemaId":"schema_323","description":"Id of the target run","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"schemaId":"components/schemas/pipelines_PipelineRun_POST","pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"target_run_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"responseCodes":["200","401"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","href":"pipelines_target-runs/createtargetruncommand","openApiOperationId":"createTargetRunCommand","summary":"Create an command processor request for Target Run"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created command processor request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}},"schemaId":"schema_480"},{"code":"401","description":"Command request create error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_480","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/createtargetruncommand"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/"},{"label":"Update target run command information.","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/pipelines_target-runs/puttargetruncommandstatus","routeSlug":"/openapi/pipelines_target-runs/puttargetruncommandstatus","metadata":{"seo":{"title":"Update target run command information.","description":"Update target run command information."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"putTargetRunCommandStatus","name":"Update target run command information.","isWebhook":false,"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1{command_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update target run command information.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"security","requirements":[{"schemes":[{"name":"pipelines_SCAPIAuthToken","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"stage_run_id","in":"path","schemaId":"schema_323","description":"ID of the stage run","required":true},{"name":"target_run_id","in":"path","schemaId":"schema_323","description":"Id of the target run","required":true},{"name":"command_id","in":"path","schemaId":"schema_323","description":"Id of the command","required":true}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1{command_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_CommandRequest_PUT"}},"schemaId":"components/schemas/pipelines_CommandRequest_PUT","pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1{command_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/{command_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"stage_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"target_run_id","in":"path","required":true,"schemaId":"schema_323"},{"name":"command_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_CommandRequest_PUT"}},"responseCodes":["200","400"],"pointer":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/{command_id}/","href":"pipelines_target-runs/puttargetruncommandstatus","openApiOperationId":"putTargetRunCommandStatus","summary":"Update target run command information."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_CommandRequest_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_CommandRequest_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command processor request status","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}},"schemaId":"schema_480"},{"code":"400","description":"Target run command update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}],"pointer":"/paths/~1pipelines~1v0~1stageruns~1{stage_run_id}~1targetruns~1{target_run_id}~1command~1{command_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_480","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_480"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/pipelines_target-runs/puttargetruncommandstatus"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/{command_id}/"}],"content":{"contentType":"group","meta":{"name":"pipelines_Target Runs"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Target Runs","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to manage Target Runs. Target run status descriptions"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PENDING - Target run created."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"QUEUED - Target run queued for processing."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PROCESSING - Target run received by scheduler for processing (During target run processing the command request for the target run is created)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DISPATCHED - Target run moves to dispatched when a command is successfully queued for the target run. (Command status - QUEUED)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"RUNNING - Target run moves to running state when the command has been sent to the device (Command status - INITIATED, ACKNOWLEDGED, INPROGRESS)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"COMPLETE - Target run moves to complete state when it has completed running (Command status - FAILURE, SUCCESS, TIMEOUT, CANCELLED)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SUCCESS - A completed target run moves to success when the associated command is successful (Command status - SUCCESS)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"FAILURE - A completed target run moves to success when the associated command is unsuccessful (Command status - FAILED, TIMEOUT, CANCELLED)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CANCELLED - Target run cancelled by the user (Target runs ind Pending, Queued and Processing state can be cancelled by the user)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"TIMEOUT -  The target run has a timed out. This happens when the target run has not completed processing even after the timeout period (7 days)."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"INVALID - Target run is invalid."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","summary":"Get all Target Runs for the Stage Run","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/getpipelinestagetargetruns","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/","summary":"Create a Target Runs for Stage Run","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/createpipelinestagetargetruns","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","summary":"Get Target Run by Target Run ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/getpipelinestagetargetrun","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/","summary":"Update a Target Run","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/updatepipelinestagetargetrun","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","summary":"Get status of the command running for Target run","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/gettargetruncommandstatus","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/","summary":"Create an command processor request for Target Run","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/createtargetruncommand","deprecated":false},{"title":"/pipelines/v0/stageruns/{stage_run_id}/targetruns/{target_run_id}/command/{command_id}/","summary":"Update target run command information.","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/pipelines_target-runs/puttargetruncommandstatus","deprecated":false}]}]}]}]}},{"type":"separator","label":"DEVICE","content":null},{"type":"group","label":"Device","link":"/openapi/device_device","routeSlug":"/openapi/device_device","items":[{"label":"Get all devices in the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/getdevicelist","routeSlug":"/openapi/device_device/getdevicelist","metadata":{"seo":{"title":"Get all devices in the tenant","description":"Retrieves a paginated list of all devices enrolled in the tenant across every supported platform."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceList","name":"Get all devices in the tenant","isWebhook":false,"pointer":"/paths/~1device~1v0~1devices~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all devices in the tenant","badges":[{"name":"Deprecated","color":"red"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all devices enrolled in the tenant across every supported platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns Android, Apple, Linux, and Windows devices in a single unified list, with extensive filtering by platform, OS version, group, blueprint assignment, connectivity, and more."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get All Devices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the multi-platform device list, returning an AndroidDevice, AppleDevice, LinuxDevice, or WindowsDevice object depending on each device's platform. It's the standard starting point for fleet-wide device inventory, auditing, and for finding device IDs to use in commands, operations, and Converge actions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"platform — filters by ANDROID, APPLE, LINUX, or WINDOWS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_multi — filters by one or more group IDs, including their subgroups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assigned_blueprint_id / current_blueprint_id — filters by the blueprint a device is assigned to versus the one it's currently converged to, useful for finding devices that haven't yet converged to a newly assigned blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — free-text search that covers name, serial, IMEI, and model across platforms, plus platform-specific fields such as udid for Apple devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — filters by device enrollment state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a fleet inventory view across all platforms"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding every device that hasn't yet converged to a newly assigned blueprint by comparing assigned_blueprint_id and current_blueprint_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scoping a bulk operation to a specific group before issuing a Converge or command request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use group_multi or platform filters to scope results before paging through very large fleets"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compare assigned_blueprint_id against current_blueprint_version_id_net to catch devices that are out of sync with their intended configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset rather than fetching the full fleet in one call for enterprises with large device counts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the filters that scope the device set you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Page through results using limit and offset"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned device id values as targets for commands, operations, or Converge actions"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_481","description":"Field to order the results by. Prefix with '-' to reverse the order."},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"udid","in":"query","schemaId":"schema_323"},{"name":"android_version","in":"query","schemaId":"schema_323"},{"name":"ios_version","in":"query","schemaId":"schema_323"},{"name":"ipados_version","in":"query","schemaId":"schema_323"},{"name":"tvos_version","in":"query","schemaId":"schema_323"},{"name":"windows_version","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_325"},{"name":"battery_level_gte","in":"query","schemaId":"schema_323"},{"name":"battery_level_lte","in":"query","schemaId":"schema_323"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"active_connection","in":"query","schemaId":"schema_323"},{"name":"group_multi","in":"query","schemaId":"schema_322","description":"Filter by multiple group ID. Fetch the devices from groups matching with the IDs and its subgroup."},{"name":"group_multi_immediate","in":"query","schemaId":"schema_322","description":"Filter by multiple group IDs. Fetch the devices from groups matching with the IDs. Excludes devices in any subgroups."},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id_net","in":"query","schemaId":"schema_322"},{"name":"platform","in":"query","schemaId":"schema_482"},{"name":"os","in":"query","schemaId":"schema_483"},{"name":"device_source","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a csv list of device sources [ABM, NON_ABM]"},"children":[]}]}]}]},{"name":"tags","in":"query","schemaId":"schema_323","description":"a csv list of tag UUID's"},{"name":"search","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Search devices by multiOS -> name, serial, imei, model. Apple -> udid. Android -> iccid, phone number, brand, wifi, manufacturer, hardware"},"children":[]}]}]}]},{"name":"foundation_device_model_id","in":"query","schemaId":"schema_322"},{"name":"android_version_exact","in":"query","schemaId":"schema_323"},{"name":"foundation_major_version","in":"query","schemaId":"schema_325"},{"name":"foundation_minor_version","in":"query","schemaId":"schema_325"},{"name":"foundation_build_number","in":"query","schemaId":"schema_325"},{"name":"airwave_tenant_model_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_number","in":"query","schemaId":"schema_325"},{"name":"is_seamless","in":"query","schemaId":"schema_324"},{"name":"global_device_id","in":"query","schemaId":"schema_323"}],"pointer":"/paths/~1device~1v0~1devices~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/device/v0/devices/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_481"},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"udid","in":"query","schemaId":"schema_323"},{"name":"android_version","in":"query","schemaId":"schema_323"},{"name":"ios_version","in":"query","schemaId":"schema_323"},{"name":"ipados_version","in":"query","schemaId":"schema_323"},{"name":"tvos_version","in":"query","schemaId":"schema_323"},{"name":"windows_version","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_325"},{"name":"battery_level_gte","in":"query","schemaId":"schema_323"},{"name":"battery_level_lte","in":"query","schemaId":"schema_323"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"active_connection","in":"query","schemaId":"schema_323"},{"name":"group_multi","in":"query","schemaId":"schema_322"},{"name":"group_multi_immediate","in":"query","schemaId":"schema_322"},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id_net","in":"query","schemaId":"schema_322"},{"name":"platform","in":"query","schemaId":"schema_482"},{"name":"os","in":"query","schemaId":"schema_483"},{"name":"device_source","in":"query","schemaId":"schema_323"},{"name":"tags","in":"query","schemaId":"schema_323"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"foundation_device_model_id","in":"query","schemaId":"schema_322"},{"name":"android_version_exact","in":"query","schemaId":"schema_323"},{"name":"foundation_major_version","in":"query","schemaId":"schema_325"},{"name":"foundation_minor_version","in":"query","schemaId":"schema_325"},{"name":"foundation_build_number","in":"query","schemaId":"schema_325"},{"name":"airwave_tenant_model_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_number","in":"query","schemaId":"schema_325"},{"name":"is_seamless","in":"query","schemaId":"schema_324"},{"name":"global_device_id","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/device/v0/devices/","href":"device_device/getdevicelist","openApiOperationId":"getDeviceList","summary":"Get all devices in the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device information for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_484"}},"schemaId":"schema_484"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1device~1v0~1devices~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_484","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_484"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/getdevicelist"}],"panels":[]}]},"badges":[{"name":"Deprecated","color":"red"}],"httpPath":"/device/v0/devices/"},{"label":"Get details of a Device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/getdevicerequest","routeSlug":"/openapi/device_device/getdevicerequest","metadata":{"seo":{"title":"Get details of a Device","description":"Retrieves the full detail record for a single device by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceRequest","name":"Get details of a Device","isWebhook":false,"pointer":"/paths/~1device~1v0~1devices~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get details of a Device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full detail record for a single device by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the same platform-specific device object (Apple, Android, Linux, or Windows) used in the device list, but scoped to one device, including hardware identifiers, OS version, connectivity, and current blueprint assignment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Detail"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the single-device counterpart to GET /device/v0/devices/, useful once you already have a device id and need its full current record rather than a filtered list. The response shape depends on the device's platform, so integrations should handle each of the possible device object types."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a device's full configuration and status before issuing a command or Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying a device's current blueprint and OS version during troubleshooting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the device id is correct before relying on a 404 to mean the device doesn't exist, since it could also indicate the ID belongs to a different tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /device/v0/devices/{id}/devicestate for a lighter-weight check when you only need current state rather than the full device record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the device id from the device list or from a prior command or operation response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full device record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the device's platform and current_blueprint_version_id to decide on next steps"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/device/v0/devices/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/device/v0/devices/{id}/","href":"device_device/getdevicerequest","openApiOperationId":"getDeviceRequest","summary":"Get details of a Device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Details of the device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_485"}},"schemaId":"schema_485"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_485","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_485"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/getdevicerequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/device/v0/devices/{id}/"},{"label":"Delete a device. Currently supported by iOS, Linux and Windows devices.","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/deletedevicerequest","routeSlug":"/openapi/device_device/deletedevicerequest","metadata":{"seo":{"title":"Delete a device. Currently supported by iOS, Linux and Windows devices.","description":"Permanently deletes a single device record from Esper."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteDeviceRequest","name":"Delete a device. Currently supported by iOS, Linux and Windows devices.","isWebhook":false,"pointer":"/paths/~1device~1v0~1devices~1{id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a device. Currently supported by iOS, Linux and Windows devices.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a single device record from Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Takes the device's UUID in the path and removes it from the tenant; supported only for iOS, iPadOs, tvOS, Windows, or Linux devices, not Android."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Deletion"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint removes a device from Esper's device inventory, so treat it as a destructive, hard-to-reverse action. See help documentation on the recommended steps for each device, as removal steps can differ by OS and provisioning method."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID of the device to delete, passed in the path"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing decommissioned or retired iOS, Windows, or Linux devices from the fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up stale device records after a factory reset or hardware swap"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"See help documentation on the recommended steps for each OS and provisioning method"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the device's platform before calling this endpoint, since it does not apply to Android devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the device ID via a GET call first if you're not certain it's the correct record"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the device","required":true}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/device/v0/devices/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/device/v0/devices/{id}/","href":"device_device/deletedevicerequest","openApiOperationId":"deleteDeviceRequest","summary":"Delete a device. Currently supported by iOS, Linux and Windows devices."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Details of the device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_486"}},"schemaId":"schema_486"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_486","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_486"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/deletedevicerequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/device/v0/devices/{id}/"},{"label":"Get details of Current Device State","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/getdevicestaterequest","routeSlug":"/openapi/device_device/getdevicestaterequest","metadata":{"seo":{"title":"Get details of Current Device State","description":"Retrieves the current settings and state snapshot for a single device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceStateRequest","name":"Get details of Current Device State","isWebhook":false,"pointer":"/paths/~1device~1v0~1devices~1{id}~1devicestate/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get details of Current Device State","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the current settings and state snapshot for a single device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the DeviceSettings object representing the device's live configuration state, distinct from the broader device record returned by the main device detail endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device State"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"While GET /device/v0/devices/{id}/ returns a device's overall record (hardware, OS, blueprint assignment, and so on), this endpoint returns its current settings state specifically. It's a lighter-weight check when the only thing you need is the device's live configuration snapshot rather than its full profile."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking a device's current settings state without pulling its full device record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a configuration change has actually taken effect on the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint instead of the full device detail endpoint when polling repeatedly for state changes, to reduce response size"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compare the returned state against the blueprint version a device was converged to, to confirm the Converge action applied as expected"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the device id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve its current state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compare against the expected blueprint or command outcome to confirm the change took effect"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1devicestate/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/device/v0/devices/{id}/devicestate","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/device/v0/devices/{id}/devicestate","href":"device_device/getdevicestaterequest","openApiOperationId":"getDeviceStateRequest","summary":"Get details of Current Device State"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Details of the current device state","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_DeviceSettings"}},"schemaId":"components/schemas/device_DeviceSettings"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1device~1v0~1devices~1{id}~1devicestate/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/device_DeviceSettings","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_DeviceSettings"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/getdevicestaterequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/device/v0/devices/{id}/devicestate"},{"label":"Receive device state report and publish to Kafka for drift detection","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/updatedevicestate","routeSlug":"/openapi/device_device/updatedevicestate","metadata":{"seo":{"title":"Receive device state report and publish to Kafka for drift detection","description":"Accepts a device state report and forwards it (as-is) to Kafka topic esper.device.device.state after enriching with tenant_id and device_id."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateDeviceState","name":"Receive device state report and publish to Kafka for drift detection","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{id}~1devicestate/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Receive device state report and publish to Kafka for drift detection","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a device state report and forwards it (as-is) to Kafka topic "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"esper.device.device.state"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" after enriching with "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"tenant_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"device_id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1v2~1devices~1{id}~1devicestate/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_487"}},"schemaId":"schema_487","pointer":"/paths/~1v2~1devices~1{id}~1devicestate/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/devices/{id}/devicestate","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_487"}},"responseCodes":["201","400","401","500"],"pointer":"/v2/devices/{id}/devicestate","href":"device_device/updatedevicestate","openApiOperationId":"updateDeviceState","summary":"Receive device state report and publish to Kafka for drift detection"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_487","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_487"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_488"}},"schemaId":"schema_488"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{id}~1devicestate/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_488","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_488"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/updatedevicestate"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{id}/devicestate"},{"label":"Get all devices in the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/paths/~1v2~1devices~1/get","routeSlug":"/openapi/device_device/paths/~1v2~1devices~1/get","metadata":{"seo":{"title":"Get all devices in the tenant","description":"Retrieves a paginated list of all devices enrolled in the tenant, across all platforms, using the V2 device schema."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get all devices in the tenant","isWebhook":false,"pointer":"/paths/~1v2~1devices~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all devices in the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all devices enrolled in the tenant, across all platforms, using the V2 device schema."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns richer device records than the v0 equivalent, with expanded filter support including managed_by, policy_multi, template_multi, is_locked_down, extended search coverage, and esper_agent_version_name for Esper agent version filtering."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List All Devices (V2)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the current recommended device list endpoint. Compared to /api/device/v0/devices/, V2 adds several filters valuable for fleet management at scale: managed_by distinguishes blueprint-managed from template-managed devices; policy_multi and template_multi allow multi-value policy/template filtering; is_locked_down targets locked-down devices; and the search field covers more Android-specific identifiers including WiFi MAC address, SIM operator, network operator, and IP address. Results are returned as device objects."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"managed_by — Filter by management mode: BLUEPRINT or TEMPLATE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"policy_multi — CSV list of policy names to filter by"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"template_multi — CSV list of template names to filter by"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_locked_down — Filter to locked-down devices only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"esper_agent_version_name — Filter by Esper agent (DPC) version name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"foundation_version — Full Foundry OS version string (e.g., os_version.major.minor.build or eea_version)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — Extended Android search: name, serial, IMEI, model, ICCID, phone, brand, WiFi, manufacturer, WiFi MAC, SIM operator, network operator, IP address"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"All v0 filters are also available: platform, os, group_multi, group_multi_immediate, assigned_blueprint_id, current_blueprint_id, current_blueprint_version_id_net, state, battery_level_gte/lte, tags, device_source, udid, serial"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying all devices not yet on the latest blueprint version for targeted update campaigns"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering by managed_by=TEMPLATE to locate devices still on legacy template management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Querying all locked-down devices by group for compliance auditing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer this endpoint over /api/device/v0/devices/ for all new integrations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use platform as a CSV list (e.g., ANDROID,APPLE) to query multiple platforms in one call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For Foundry OS fleet management, use foundation_version or the granular foundation_major_version, foundation_minor_version, foundation_build_number filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Choose filters appropriate to the use case (group, platform, blueprint version, policy, etc.)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call with limit and offset for pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Iterate results, using next for subsequent pages; branch on the platform field to handle per-platform schema differences"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_489"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"cursor","in":"query","schemaId":"schema_490","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque cursor token for cursor-based pagination."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"start"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to begin from the first page"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from previous response for subsequent pages"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prev_cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" value from previous response to navigate backward"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When provided, offset parameter is ignored"},"children":[]}]}]}]}]},{"name":"ordering","in":"query","schemaId":"schema_491","description":"Field to order the results by. Prefix with '-' to reverse the order."},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"udid","in":"query","schemaId":"schema_323"},{"name":"android_version","in":"query","schemaId":"schema_323"},{"name":"ios_version","in":"query","schemaId":"schema_323"},{"name":"ipados_version","in":"query","schemaId":"schema_323"},{"name":"tvos_version","in":"query","schemaId":"schema_323"},{"name":"windows_version","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_323"},{"name":"battery_level_gte","in":"query","schemaId":"schema_323"},{"name":"battery_level_lte","in":"query","schemaId":"schema_323"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"active_connection","in":"query","schemaId":"schema_323"},{"name":"group_multi","in":"query","schemaId":"schema_322","description":"Filter by multiple group ID. Fetch the devices from groups matching with the IDs and its subgroup."},{"name":"group_multi_immediate","in":"query","schemaId":"schema_322","description":"Filter by multiple group IDs. Fetch the devices from groups matching with the IDs. Excludes devices in any subgroups."},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id_net","in":"query","schemaId":"schema_322"},{"name":"platform","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a csv list of platforms [ANDROID, APPLE, LINUX, WINDOWS]"},"children":[]}]}]}]},{"name":"os","in":"query","schemaId":"schema_483"},{"name":"device_source","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"a csv list of device sources [ABM, NON_ABM]"},"children":[]}]}]}]},{"name":"managed_by","in":"query","schemaId":"schema_492"},{"name":"template_multi","in":"query","schemaId":"schema_323","description":"a csv list of template names"},{"name":"policy_multi","in":"query","schemaId":"schema_323","description":"a csv list of policy names"},{"name":"search","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Search devices by multiOS -> Name, Serial, IMEI, Model, WiFi SSID, Apple UDID, ICCID1, ICCID2, Brand, Manufacturer, Hardware, WiFi MAC Address, SIM Operator, Network Operator and IP Address."},"children":[]}]}]}]},{"name":"foundation_device_model_id","in":"query","schemaId":"schema_322"},{"name":"android_version_exact","in":"query","schemaId":"schema_323"},{"name":"foundation_major_version","in":"query","schemaId":"schema_325"},{"name":"foundation_minor_version","in":"query","schemaId":"schema_325"},{"name":"foundation_build_number","in":"query","schemaId":"schema_325"},{"name":"airwave_tenant_model_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_number","in":"query","schemaId":"schema_325"},{"name":"foundation_version","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by one or more full foundation version strings (os_version.major.minor.build or eea_version). Multiple values can be passed as a comma-separated list (e.g. ?foundation_version=1.0-arm64-20210617-RELEASE,1.0-sb30-20210302-DEBUG), consistent with other multi-value filters."},"children":[]}]}]}]},{"name":"esper_agent_version_name","in":"query","schemaId":"schema_323","description":"Filter devices by Esper agent version name (DPC version)"},{"name":"tags","in":"query","schemaId":"schema_323","description":"a csv list of tag ids"},{"name":"is_locked_down","in":"query","schemaId":"schema_324"},{"name":"global_device_id","in":"query","schemaId":"schema_323"},{"name":"ungrouped_only","in":"query","schemaId":"schema_324","description":"When true, returns only devices that are not associated with any group"},{"name":"fields","in":"query","schemaId":"schema_493","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sparse fieldset: comma-separated list of top-level response field names to return (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"fields=id,name,created_at"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"id"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is always included in the response regardless of whether it is requested."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only top-level fields are supported; nested sub-fields (e.g. within "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"hardware_info"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":") cannot be selected individually."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requesting an unknown field name returns a 400 error."},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Omit this parameter to receive the full device object."},"children":[]}]}]}]}]}],"pointer":"/paths/~1v2~1devices~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_489"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"cursor","in":"query","example":"start","schemaId":"schema_490"},{"name":"ordering","in":"query","schemaId":"schema_491"},{"name":"serial","in":"query","schemaId":"schema_323"},{"name":"udid","in":"query","schemaId":"schema_323"},{"name":"android_version","in":"query","schemaId":"schema_323"},{"name":"ios_version","in":"query","schemaId":"schema_323"},{"name":"ipados_version","in":"query","schemaId":"schema_323"},{"name":"tvos_version","in":"query","schemaId":"schema_323"},{"name":"windows_version","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_323"},{"name":"battery_level_gte","in":"query","schemaId":"schema_323"},{"name":"battery_level_lte","in":"query","schemaId":"schema_323"},{"name":"is_gms","in":"query","schemaId":"schema_324"},{"name":"active_connection","in":"query","schemaId":"schema_323"},{"name":"group_multi","in":"query","schemaId":"schema_322"},{"name":"group_multi_immediate","in":"query","schemaId":"schema_322"},{"name":"assigned_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id","in":"query","schemaId":"schema_322"},{"name":"current_blueprint_version_id_net","in":"query","schemaId":"schema_322"},{"name":"platform","in":"query","schemaId":"schema_323"},{"name":"os","in":"query","schemaId":"schema_483"},{"name":"device_source","in":"query","schemaId":"schema_323"},{"name":"managed_by","in":"query","schemaId":"schema_492"},{"name":"template_multi","in":"query","schemaId":"schema_323"},{"name":"policy_multi","in":"query","schemaId":"schema_323"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"foundation_device_model_id","in":"query","schemaId":"schema_322"},{"name":"android_version_exact","in":"query","schemaId":"schema_323"},{"name":"foundation_major_version","in":"query","schemaId":"schema_325"},{"name":"foundation_minor_version","in":"query","schemaId":"schema_325"},{"name":"foundation_build_number","in":"query","schemaId":"schema_325"},{"name":"airwave_tenant_model_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_id","in":"query","schemaId":"schema_323"},{"name":"airwave_build_number","in":"query","schemaId":"schema_325"},{"name":"foundation_version","in":"query","schemaId":"schema_323"},{"name":"esper_agent_version_name","in":"query","schemaId":"schema_323"},{"name":"tags","in":"query","schemaId":"schema_323"},{"name":"is_locked_down","in":"query","schemaId":"schema_324"},{"name":"global_device_id","in":"query","schemaId":"schema_323"},{"name":"ungrouped_only","in":"query","schemaId":"schema_324"},{"name":"fields","in":"query","example":"id,name,created_at","schemaId":"schema_493"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/devices/","href":"device_device/paths/~1v2~1devices~1/get","summary":"Get all devices in the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device information for the Tenant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response format depends on pagination type used:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Offset-based"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"count"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prev"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" (URLs), "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cursor-based"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":": Returns "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"results"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"next_cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"prev_cursor"},"children":[]}]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_494"}},"schemaId":"schema_494"},{"code":"400","description":"Bad Request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_494","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_494"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/paths/~1v2~1devices~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/"},{"label":"Retrieve detailed device information.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/paths/~1v2~1devices~1{id}/get","routeSlug":"/openapi/device_device/paths/~1v2~1devices~1{id}/get","metadata":{"seo":{"title":"Retrieve detailed device information.","description":"Retrieves comprehensive details for a single enrolled device by UUID, using the V2 device schema."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Retrieve detailed device information.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Retrieve detailed device information.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves comprehensive details for a single enrolled device by UUID, using the V2 device schema."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a V2 platform-typed device record with richer fields than the v0 equivalent, for all supported Esper-managed platforms."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Details (V2)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the recommended endpoint for single-device lookups in new integrations. The V2 device schema provides additional fields compared to the v0 schema and aligns with the richer data model returned by /api/v2/devices/. Like the list endpoint, the response is polymorphic — the exact fields depend on the device platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path) — Esper device UUID (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetching full device context before constructing a pipeline or operation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving V2-specific fields like Foundry OS version, Esper agent version, or lock-down state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Integrating device data into external ITSM, asset management, or monitoring systems"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer this over /api/device/v0/devices/{id}/ for all new integrations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Inspect the platform field to determine which V2 schema variant applies before parsing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the heartbeat endpoints for lightweight connectivity checks rather than polling this endpoint"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1v2~1devices~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/{id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{id}","href":"device_device/paths/~1v2~1devices~1{id}/get","summary":"Retrieve detailed device information."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Detailed information of the device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_495"}},"schemaId":"schema_495"},{"code":"400","description":"Bad Request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_495","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_495"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/paths/~1v2~1devices~1{id}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{id}"},{"label":"Update tags associated with a device.","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/paths/~1v2~1devices~1{id}~1tags~1/put","routeSlug":"/openapi/device_device/paths/~1v2~1devices~1{id}~1tags~1/put","metadata":{"seo":{"title":"Update tags associated with a device.","description":"Associates and Removes tags on a single enrolled Apple, Linux or Windows device by UUID. Tag changes are applied incrementally via add and remove arrays."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update tags associated with a device.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{id}~1tags~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update tags associated with a device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Associates and Removes tags on a single enrolled Apple, Linux or Windows device by UUID. Tag changes are applied incrementally via "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"add"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"remove"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" arrays."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1v2~1devices~1{id}~1tags~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_DeviceTagsRequest"}},"schemaId":"components/schemas/device_DeviceTagsRequest","pointer":"/paths/~1v2~1devices~1{id}~1tags~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/devices/{id}/tags/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/device_DeviceTagsRequest"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{id}/tags/","href":"device_device/paths/~1v2~1devices~1{id}~1tags~1/put","summary":"Update tags associated with a device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_DeviceTagsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_DeviceTagsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_496"}},"schemaId":"schema_496"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{id}~1tags~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_496","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_496"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/paths/~1v2~1devices~1{id}~1tags~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{id}/tags/"},{"label":"Get all distinct foundation versions","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device/getfoundationversionslist","routeSlug":"/openapi/device_device/getfoundationversionslist","metadata":{"seo":{"title":"Get all distinct foundation versions","description":"Returns a list of distinct foundation versions present in the tenant's devices"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getFoundationVersionsList","name":"Get all distinct foundation versions","isWebhook":false,"pointer":"/paths/~1v2~1foundationversions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all distinct foundation versions","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a list of distinct foundation versions present in the tenant's devices"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_497","description":"Number of results to return per page"},{"name":"offset","in":"query","schemaId":"schema_329","description":"The initial index from which to return the results"},{"name":"search","in":"query","schemaId":"schema_323","description":"Filter foundation versions by partial string match (case-insensitive)"}],"pointer":"/paths/~1v2~1foundationversions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/foundationversions","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_497"},{"name":"offset","in":"query","schemaId":"schema_329"},{"name":"search","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401","500"],"pointer":"/v2/foundationversions","href":"device_device/getfoundationversionslist","openApiOperationId":"getFoundationVersionsList","summary":"Get all distinct foundation versions"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_498"}},"schemaId":"schema_498"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1foundationversions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_498","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_498"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device/getfoundationversionslist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/foundationversions"}],"content":{"contentType":"group","meta":{"name":"device_Device"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device","showPageActions":true},{"nodeType":"markdoc","content":"APIs to retrieve information about the device or delete the device."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/device/v0/devices/","summary":"Get all devices in the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Deprecated","color":"red"}],"link":"/device_device/getdevicelist","deprecated":false},{"title":"/device/v0/devices/{id}/","summary":"Get details of a Device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/getdevicerequest","deprecated":false},{"title":"/device/v0/devices/{id}/","summary":"Delete a device. Currently supported by iOS, Linux and Windows devices.","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/deletedevicerequest","deprecated":false},{"title":"/device/v0/devices/{id}/devicestate","summary":"Get details of Current Device State","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/getdevicestaterequest","deprecated":false},{"title":"/v2/devices/{id}/devicestate","summary":"Receive device state report and publish to Kafka for drift detection","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/updatedevicestate","deprecated":false},{"title":"/v2/devices/","summary":"Get all devices in the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/paths/~1v2~1devices~1/get","deprecated":false},{"title":"/v2/devices/{id}","summary":"Retrieve detailed device information.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/paths/~1v2~1devices~1{id}/get","deprecated":false},{"title":"/v2/devices/{id}/tags/","summary":"Update tags associated with a device.","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/paths/~1v2~1devices~1{id}~1tags~1/put","deprecated":false},{"title":"/v2/foundationversions","summary":"Get all distinct foundation versions","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device/getfoundationversionslist","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Heartbeat","link":"/openapi/device_device-heartbeat","routeSlug":"/openapi/device_device-heartbeat","items":[{"label":"Get heartbeat of a device which contains last seen information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-heartbeat/getdeviceheartbeat","routeSlug":"/openapi/device_device-heartbeat/getdeviceheartbeat","metadata":{"seo":{"title":"Get heartbeat of a device which contains last seen information","description":"Retrieves the last-seen heartbeat record for a single device, including its most recent check-in timestamp."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceHeartbeat","name":"Get heartbeat of a device which contains last seen information","isWebhook":false,"pointer":"/paths/~1device~1v0~1heartbeat~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get heartbeat of a device which contains last seen information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the last-seen heartbeat record for a single device, including its most recent check-in timestamp."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the device UUID, the last-seen timestamp, and a legacy status flag indicating whether the device was seen within the last 30 minutes (1) or not (0)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Heartbeat (v0)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The heartbeat endpoint provides a lightweight alternative to a full device fetch when only connectivity recency is needed. The status field is a legacy binary indicator (1 = seen in the last 30 minutes, 0 = not seen) and should not be used as the sole signal for device availability in new integrations — use the timestamp directly for more precise evaluation. For bulk heartbeat queries across all devices within a time window, use /api/v2/heartbeat/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_id — UUID of the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"timestamp — ISO 8601 datetime of the device's last check-in"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — Legacy field: 1 if last seen within 30 minutes, 0 otherwise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a specific device is online before triggering a remote operation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Displaying last-seen timestamps in a device monitoring dashboard"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Lightweight polling loop to detect when a device comes back online"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use timestamp rather than status for precision — status is a legacy 30-minute binary bucket and is not suitable for finer-grained availability logic"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For checking connectivity across many devices in a time window, use /api/v2/heartbeat/ instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Avoid polling this endpoint at high frequency; prefer event-driven or scheduled checks"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_322","description":"ID of the device","required":true}],"pointer":"/paths/~1device~1v0~1heartbeat~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/device/v0/heartbeat/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/device/v0/heartbeat/{id}/","href":"device_device-heartbeat/getdeviceheartbeat","openApiOperationId":"getDeviceHeartbeat","summary":"Get heartbeat of a device which contains last seen information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Last seen details of the device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_499"}},"schemaId":"schema_499"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1device~1v0~1heartbeat~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_499","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_499"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-heartbeat/getdeviceheartbeat"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/device/v0/heartbeat/{id}/"},{"label":"Get list of heartbeat for all devices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-heartbeat/getdeviceheartbeatlist","routeSlug":"/openapi/device_device-heartbeat/getdeviceheartbeatlist","metadata":{"seo":{"title":"Get list of heartbeat for all devices","description":"Retrieves heartbeat records for all devices whose last-seen timestamp falls within a specified date-time range."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceHeartbeatList","name":"Get list of heartbeat for all devices","isWebhook":false,"pointer":"/paths/~1v2~1heartbeat~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of heartbeat for all devices","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves heartbeat records for all devices whose last-seen timestamp falls within a specified date-time range."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Requires last_seen_gt and last_seen_lt query parameters to define the time window, and optionally filters by platform. Returns a paginated list of EsperDeviceHeartbeat records, each containing device UUID, last-seen timestamp, and a legacy status flag."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Device Heartbeats (V2)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint enables bulk connectivity queries across the entire device fleet, useful for fleet health monitoring, SLA reporting, and identifying devices that have gone silent over a defined period. The required time window filters mean queries are always bounded, preventing inadvertent large data pulls. The platform filter can be used to narrow results to a specific OS family. As with the single-device heartbeat endpoint, the status field is a legacy 30-minute binary indicator; use timestamp values directly for precision analysis."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_seen_gt (required) — Start of the time window in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_seen_lt (required) — End of the time window in ISO 8601 format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"platform — Optional platform filter: ANDROID, APPLE, LINUX, or WINDOWS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit / offset — Pagination controls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating daily fleet health reports showing which devices checked in during the past 24 hours"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying devices that have gone silent (not seen within a defined window) for incident response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Producing SLA-aligned uptime evidence for specific device cohorts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Keep the time window reasonably narrow for large fleets to limit result set size and response latency"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use platform to scope queries when platform-specific reporting is needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use timestamp from each result record for precise analysis; do not rely on the legacy status field for business logic"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Define the time window using last_seen_gt and last_seen_lt (both required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optionally add platform to narrow results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate through results; devices appearing in the result set were seen within the window"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"last_seen_gt","in":"query","schemaId":"schema_500","description":"Specify the starting date and time for device lookup in the format (2023-08-29T00:00:00Z).","required":true},{"name":"last_seen_lt","in":"query","schemaId":"schema_501","description":"Specify the end date and time for device lookup in the format (2023-08-30T00:00:00Z).","required":true},{"name":"platform","in":"query","schemaId":"schema_482","description":"platform of the device"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"pointer":"/paths/~1v2~1heartbeat~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/heartbeat/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"last_seen_gt","in":"query","required":true,"example":"2023-08-29T00:00:00Z","schemaId":"schema_500"},{"name":"last_seen_lt","in":"query","required":true,"example":"2023-08-30T00:00:00Z","schemaId":"schema_501"},{"name":"platform","in":"query","schemaId":"schema_482"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/heartbeat/","href":"device_device-heartbeat/getdeviceheartbeatlist","openApiOperationId":"getDeviceHeartbeatList","summary":"Get list of heartbeat for all devices"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Last seen details of the device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_502"}},"schemaId":"schema_502"},{"code":"400","description":"Device create error - Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1heartbeat~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_502","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_502"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-heartbeat/getdeviceheartbeatlist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/heartbeat/"}],"content":{"contentType":"group","meta":{"name":"device_Device Heartbeat"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Heartbeat","showPageActions":true},{"nodeType":"markdoc","content":"APIs to retrieve information about device's heartbeat which contains the last seen details."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/device/v0/heartbeat/{id}/","summary":"Get heartbeat of a device which contains last seen information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-heartbeat/getdeviceheartbeat","deprecated":false},{"title":"/v2/heartbeat/","summary":"Get list of heartbeat for all devices","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-heartbeat/getdeviceheartbeatlist","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Apps","link":"/openapi/device_device-apps","routeSlug":"/openapi/device_device-apps","items":[{"label":"Get all apps for a device in the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-apps/paths/~1v2~1devices~1{deviceid}~1device-apps~1/get","routeSlug":"/openapi/device_device-apps/paths/~1v2~1devices~1{deviceid}~1device-apps~1/get","metadata":{"seo":{"title":"Get all apps for a device in the tenant","description":"Retrieves a paginated list of every app installed on a specific device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get all apps for a device in the tenant","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1device-apps~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all apps for a device in the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of every app installed on a specific device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each app's DeviceAppsResponse record, filterable by app type such as VPP, tenant-uploaded iOS or Windows apps, Esper iOS apps, or webclips."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the v2 device-scoped app inventory, showing exactly what's installed on one device across its supported app types. It complements the tenant-wide app catalogs (Tenant Apps, Tenant Esper Apps, VPP) by showing installation state on a specific device rather than what's available to install."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app type — filters by one or more app types, comma-separated, for example VPP, TENANT_IOS, or WEBCLIP"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing exactly which apps are installed on a specific device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming an app installed through a command or Converge action actually landed on the target device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering by app type to check only VPP-licensed apps or only webclips on a device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by app type when you only care about one category, rather than paging through every installed app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference results against the Tenant Apps or Tenant Esper Apps catalog to confirm a device has the expected version installed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the deviceId"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint, optionally filtering by app type"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compare the results against the expected app list from a blueprint or command"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_323","description":"ID of the device","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1device-apps~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"app type","in":"query","schemaId":"schema_503","description":"App Type to filter list by, supports multiple values separated by comma"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1device-apps~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/{deviceId}/device-apps/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"app type","in":"query","schemaId":"schema_503"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/devices/{deviceId}/device-apps/","href":"device_device-apps/paths/~1v2~1devices~1{deviceid}~1device-apps~1/get","summary":"Get all apps for a device in the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_504"}},"schemaId":"schema_504"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1device-apps~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_504","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_504"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-apps/paths/~1v2~1devices~1{deviceid}~1device-apps~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/device-apps/"},{"label":"Get list of devices with an app by app_id or app_version_id.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-apps/paths/~1v2~1device-apps/get","routeSlug":"/openapi/device_device-apps/paths/~1v2~1device-apps/get","metadata":{"seo":{"title":"Get list of devices with an app by app_id or app_version_id.","description":"iOS/iPadOS/tvOS/Windows only"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get list of devices with an app by app_id or app_version_id.","isWebhook":false,"pointer":"/paths/~1v2~1device-apps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get list of devices with an app by app_id or app_version_id.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS/iPadOS/tvOS/Windows only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a list of device IDs that have a specific app or app version associated, identified by app_id or app_version_id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both app_id and app_version_id are required query parameters; the endpoint returns a paginated list of device UUIDs matching the association."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Devices by App"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint inverts the typical device→apps query: given an app (or specific version), it returns the set of devices associated with it. This is useful for determining deployment coverage of a specific app version across a fleet. The response contains device UUIDs only — full device details require a subsequent call to GET /api/v2/devices/{id}. This endpoint is associated with the iOS and Windows Device Apps tag context; Android app associations are not covered."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_id (required) — Esper UUID of the application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_version_id (required) — Esper UUID of the specific app version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determining which devices have a specific app version deployed for targeted update campaigns"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing app version coverage across iOS or Windows device fleets"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a list of affected devices before pushing an app update or removal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Both app_id and app_version_id are required — the endpoint will return a 400 if either is omitted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned device_id values to query GET /api/v2/devices/{id} for full device context"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate using prev/next for large result sets"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the app_id and app_version_id from the application management endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call with both required parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned device_id list to drive subsequent operations or lookups"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"app_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the app. Either app_id or app_version_id must be provided. Mandatory when app_version_id_not is provided."},"children":[]}]}]}]},{"name":"app_version_id","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the app version to match. Either app_id or app_version_id must be provided. Cannot be used together with app_version_id_not."},"children":[]}]}]}]},{"name":"app_version_id_not","in":"query","schemaId":"schema_322","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ID of the app version to exclude. Returns devices whose app_version_id is not equal to this value. Requires app_id and cannot be used together with app_version_id."},"children":[]}]}]}]}],"pointer":"/paths/~1v2~1device-apps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/device-apps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"app_id","in":"query","required":false,"schemaId":"schema_322"},{"name":"app_version_id","in":"query","required":false,"schemaId":"schema_322"},{"name":"app_version_id_not","in":"query","required":false,"schemaId":"schema_322"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/device-apps","href":"device_device-apps/paths/~1v2~1device-apps/get","summary":"Get list of devices with an app by app_id or app_version_id."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}},"schemaId":"schema_505"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1device-apps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_505","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_505"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-apps/paths/~1v2~1device-apps/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/device-apps"}],"content":{"contentType":"group","meta":{"name":"device_Device Apps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Apps","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to get apps installed on iOS devices. Use "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://api.esper.io/tag/Application/"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Application"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to get apps for Android devices."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/devices/{deviceId}/device-apps/","summary":"Get all apps for a device in the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-apps/paths/~1v2~1devices~1{deviceid}~1device-apps~1/get","deprecated":false},{"title":"/v2/device-apps","summary":"Get list of devices with an app by app_id or app_version_id.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-apps/paths/~1v2~1device-apps/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Device Enrollment in EMM","link":"/openapi/device_device-enrollment-in-emm","routeSlug":"/openapi/device_device-enrollment-in-emm","items":[{"label":"Get the Google EMM Policy details for a specific device.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/get","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/get","metadata":{"seo":{"title":"Get the Google EMM Policy details for a specific device.","description":"Get the Google EMM Policy details for a specific device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get the Google EMM Policy details for a specific device.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the Google EMM Policy details for a specific device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"ID of the device for which to retrieve the Google EMM policy","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/{deviceId}/google-accounts/policy/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/policy/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/get","summary":"Get the Google EMM Policy details for a specific device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_GoogleEMMDevice"}},"schemaId":"components/schemas/device_GoogleEMMDevice"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/device_GoogleEMMDevice","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_GoogleEMMDevice"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/policy/"},{"label":"Update the Google EMM Policy details for a specific device.","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/put","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/put","metadata":{"seo":{"title":"Update the Google EMM Policy details for a specific device.","description":"Update the Google EMM Policy details for a specific device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update the Google EMM Policy details for a specific device.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update the Google EMM Policy details for a specific device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"The unique identifier of the device for which Google account details need to be updated.","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/put/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"is_provisioning","in":"query","schemaId":"schema_506","description":"Flag indicating if provisioning is enabled (true or false). Default is false."},{"name":"is_converging","in":"query","schemaId":"schema_506","description":"Flag indicating if convergence is enabled (true or false). Default is false."}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleEMMDevicePolicyRequest"}},"schemaId":"components/schemas/device_GoogleEMMDevicePolicyRequest","pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/devices/{deviceId}/google-accounts/policy/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"is_provisioning","in":"query","required":false,"schemaId":"schema_506"},{"name":"is_converging","in":"query","required":false,"schemaId":"schema_506"}],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/device_GoogleEMMDevicePolicyRequest"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/policy/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/put","summary":"Update the Google EMM Policy details for a specific device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_GoogleEMMDevicePolicyRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleEMMDevicePolicyRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully updated the Google EMM policy details for the specified device.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_507"}},"schemaId":"schema_507"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized access.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found for the provided deviceId.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error occurred while processing the request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1policy~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_507","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_507"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/policy/"},{"label":"Get the List of Google EMM Managed Devices for a user's devices.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1emm-managed~1/get","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1emm-managed~1/get","metadata":{"seo":{"title":"Get the List of Google EMM Managed Devices for a user's devices.","description":"Get the List of Google EMM Managed Devices for a user's devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get the List of Google EMM Managed Devices for a user's devices.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1emm-managed~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the List of Google EMM Managed Devices for a user's devices.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"ID of the device for which to retrieve the Google EMM policy","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1emm-managed~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/{deviceId}/google-accounts/emm-managed/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/emm-managed/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1emm-managed~1/get","summary":"Get the List of Google EMM Managed Devices for a user's devices."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_DevicesListResponse"}},"schemaId":"components/schemas/device_DevicesListResponse"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1emm-managed~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/device_DevicesListResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_DevicesListResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1emm-managed~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/emm-managed/"},{"label":"Return the Google account details of the EMM enrollment stored in the database for the specified device.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/get","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/get","metadata":{"seo":{"title":"Return the Google account details of the EMM enrollment stored in the database for the specified device.","description":"Return the Google account details of the EMM enrollment stored in the database for the specified device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Return the Google account details of the EMM enrollment stored in the database for the specified device.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Return the Google account details of the EMM enrollment stored in the database for the specified device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"ID of the device for which to retrieve the EMM enrollment status","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/devices/{deviceId}/google-accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/get","summary":"Return the Google account details of the EMM enrollment stored in the database for the specified device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_508"}},"schemaId":"schema_508"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_508","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_508"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/"},{"label":"Update the Google account details of the EMM enrollment stored in the database for a specific device.","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/put","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/put","metadata":{"seo":{"title":"Update the Google account details of the EMM enrollment stored in the database for a specific device.","description":"Update the Google account details of the EMM enrollment stored in the database for a specific device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update the Google account details of the EMM enrollment stored in the database for a specific device.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update the Google account details of the EMM enrollment stored in the database for a specific device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"The unique identifier of the device for which Google account details need to be updated.","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleAccountUpdateRequestBody"}},"schemaId":"components/schemas/device_GoogleAccountUpdateRequestBody","pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/devices/{deviceId}/google-accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/device_GoogleAccountUpdateRequestBody"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/put","summary":"Update the Google account details of the EMM enrollment stored in the database for a specific device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_GoogleAccountUpdateRequestBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleAccountUpdateRequestBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully updated the Google account details.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_509"}},"schemaId":"schema_509"},{"code":"400","description":"Bad request due to invalid input.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized access.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found for the provided deviceId.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error occurred while processing the request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_509","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_509"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/"},{"label":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side.","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/post","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/post","metadata":{"seo":{"title":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side.","description":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"The unique identifier of the device for which Google account details need to be updated.","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleAccount"}},"schemaId":"components/schemas/device_GoogleAccount","pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/devices/{deviceId}/google-accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/device_GoogleAccount"}},"responseCodes":["200","401","404","409","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/post","summary":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_GoogleAccount","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_GoogleAccount"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully updated the Google account details.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510"}},"schemaId":"schema_510"},{"code":"401","description":"Unauthorized access.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found for the provided deviceId.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"409","description":"Conflict","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal server error occurred while processing the request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_510","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/"},{"label":"Unenrolls device from Google EMM and deletes the Google account details.","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/delete","routeSlug":"/openapi/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/delete","metadata":{"seo":{"title":"Unenrolls device from Google EMM and deletes the Google account details.","description":"Unenrolls a device from Google EMM and deletes its stored Google account details."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Unenrolls device from Google EMM and deletes the Google account details.","isWebhook":false,"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Unenrolls device from Google EMM and deletes the Google account details.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unenrolls a device from Google EMM and deletes its stored Google account details."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently removes the GoogleAccount record associated with the device, unenrolling it from Android Enterprise (Google EMM) management for that device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Unenroll Device from Google EMM"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Android only. This endpoint applies to devices enrolled in Android Enterprise through Google EMM (managed Google Play). Deleting the account record unenrolls the device from Google EMM and removes its stored Google account details, which affects the device's ability to install and manage EMM-distributed apps until it is re-enrolled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unenrolling a device from Google EMM before decommissioning or reassigning it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Clearing a corrupted or stale Google account record so the device can be re-enrolled cleanly"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the device no longer needs EMM-managed app access before unenrolling, since this removes its Google account details entirely"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-enrollment requires creating a new Google account record through POST /v2/devices/{deviceId}/google-accounts/ rather than restoring the deleted one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the device's current EMM enrollment with GET /v2/devices/{deviceId}/google-accounts/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE the Google account record to unenroll the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-enroll with a new POST request if the device needs EMM access again later"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"The unique identifier of the device for which Google account details need to be updated.","required":true}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/devices/{deviceId}/google-accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","401","404","500"],"pointer":"/v2/devices/{deviceId}/google-accounts/","href":"device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/delete","summary":"Unenrolls device from Google EMM and deletes the Google account details."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully unenrolled and deleted the Google account details.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510"}},"schemaId":"schema_510"},{"code":"401","description":"Unauthorized access.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found for the provided deviceId.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error occurred while processing the request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1devices~1{deviceId}~1google-accounts~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_510","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_510"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/devices/{deviceId}/google-accounts/"}],"content":{"contentType":"group","meta":{"name":"device_Device Enrollment in EMM"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device Enrollment in EMM","showPageActions":true},{"nodeType":"markdoc","content":"APIs to enroll device with Google EMM"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/devices/{deviceId}/google-accounts/policy/","summary":"Get the Google EMM Policy details for a specific device.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/get","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/policy/","summary":"Update the Google EMM Policy details for a specific device.","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1policy~1/put","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/emm-managed/","summary":"Get the List of Google EMM Managed Devices for a user's devices.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1emm-managed~1/get","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/","summary":"Return the Google account details of the EMM enrollment stored in the database for the specified device.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/get","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/","summary":"Update the Google account details of the EMM enrollment stored in the database for a specific device.","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/put","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/","summary":"Create a Google user and, if request body is not provided, generate a Google auth token for a specific device on the Google EMM side.","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/post","deprecated":false},{"title":"/v2/devices/{deviceId}/google-accounts/","summary":"Unenrolls device from Google EMM and deletes the Google account details.","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_device-enrollment-in-emm/paths/~1v2~1devices~1{deviceid}~1google-accounts~1/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Operations","link":"/openapi/device_operations","routeSlug":"/openapi/device_operations","items":[{"label":"Get all Operations in the Tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_operations/getoperationslist","routeSlug":"/openapi/device_operations/getoperationslist","metadata":{"seo":{"title":"Get all Operations in the Tenant","description":"Retrieves a paginated list of all Dispatch operations created within the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOperationsList","name":"Get all Operations in the Tenant","isWebhook":false,"pointer":"/paths/~1v0~1operations~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all Operations in the Tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all Dispatch operations created within the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to see every large-scale fleet operation issued through the Operations API, including Converge actions and group-level app installs and uninstalls, along with each operation's aggregate progress. Supports filtering by state, operation type, and group."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operations (Dispatch Commands)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations, also called Dispatch commands, are designed for large fleet actions that need to be issued once and tracked as a single unit rather than as many individual device commands. Currently supported operation types are CONVERGE and group-level app INSTALL and UNINSTALL (immediate only). Each operation moves through a lifecycle from Created through Dispatching, Dispatched, and Processing to a final Success or Failure, and this endpoint surfaces that lifecycle across every operation in the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — filters by operation state using integer codes, for example 10 for Created, 50 for Dispatched, 80 for Success, and 90 for Failure"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_type — filters by type, for example CONVERGE, INSTALL, or UNINSTALL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_multi — filters to operations targeting one or more group IDs and their subgroups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — orders results by created_at, state, or updated_at; prefix with a minus sign to reverse order"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing every Converge operation issued across the tenant over a time period"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding all operations currently stuck in a Dispatching or Processing state, which usually points to device connectivity issues"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering operations by group to review fleet actions scoped to a specific store or region"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by operation_type and state together to narrow large result sets before paging through them"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Investigate operations that remain in Dispatched or Processing for an extended period, since this usually indicates devices are not picking up the command due to network issues"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use group_multi rather than fetching all operations and filtering client-side when working with group-scoped fleets"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the desired state or operation_type filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the operation of interest and note its id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/operations/{operationId}/ for the full status and aggregate device counts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Drill into GET /v0/operations/{operationsId}/devices/ if the operation shows failures"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"state","in":"query","schemaId":"schema_325","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following are the Operation States and their corresponding integer values"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"OPERATION_CREATED      = 10\nOPERATION_RESOLVING    = 20\nOPERATION_RESOLVED     = 30\nOPERATION_DISPATCHING  = 40\nOPERATION_DISPATCHED   = 50\nOPERATION_PROCESSING   = 60\nOPERATION_COMPLETED    = 70\nOPERATION_SUCCESS      = 80\nOPERATION_FAILURE      = 90\nOPERATION_SCHEDULED    = 100\nOPERATION_CANCELLED    = 110\nOPERATION_TIMEOUT      = 120\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"OPERATION_CREATED      = 10\nOPERATION_RESOLVING    = 20\nOPERATION_RESOLVED     = 30\nOPERATION_DISPATCHING  = 40\nOPERATION_DISPATCHED   = 50\nOPERATION_PROCESSING   = 60\nOPERATION_COMPLETED    = 70\nOPERATION_SUCCESS      = 80\nOPERATION_FAILURE      = 90\nOPERATION_SCHEDULED    = 100\nOPERATION_CANCELLED    = 110\nOPERATION_TIMEOUT      = 120\n"},"children":[]}]}]},{"name":"ordering","in":"query","schemaId":"schema_511","description":"Field to order the results by. Prefix with '-' to reverse the order."},{"name":"operation_type","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter operations by type (e.g., INSTALL, UNINSTALL, CONVERGE, INSTALL_APP, UNINSTALL_APP, REBOOT)"},"children":[]}]}]}]},{"name":"group_multi","in":"query","schemaId":"schema_322","description":"Filter by multiple group ID. Fetch the devices from groups matching with the IDs and its subgroup."}],"pointer":"/paths/~1v0~1operations~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"state","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_511"},{"name":"operation_type","in":"query","schemaId":"schema_323"},{"name":"group_multi","in":"query","schemaId":"schema_322"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v0/operations/","href":"device_operations/getoperationslist","openApiOperationId":"getOperationsList","summary":"Get all Operations in the Tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Operations information for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_512"}},"schemaId":"schema_512"}],"pointer":"/paths/~1v0~1operations~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_512","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_512"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_operations/getoperationslist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/"},{"label":"Create a new Operation","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_operations/createoperation","routeSlug":"/openapi/device_operations/createoperation","metadata":{"seo":{"title":"Create a new Operation","description":"Creates a new Dispatch operation to run a large fleet action, such as Converge, across a set of devices or groups in a single request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createOperation","name":"Create a new Operation","isWebhook":false,"pointer":"/paths/~1v0~1operations~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new Operation","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new Dispatch operation to run a large fleet action, such as Converge, across a set of devices or groups in a single request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations are built for scale — a single call can target device_ids directly or resolve a device_request query (for example matching on group_multi or state) into as many as tens of thousands of devices. The operation is queued immediately in the Created state and resolves asynchronously as Esper identifies the applicable devices and dispatches the command."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Operation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Currently, operation_type supports CONVERGE and group-level app INSTALL and UNINSTALL, and INSTALL/UNINSTALL are immediate only. Unlike the Command Request API, which issues one command per device or group call, Operations are designed specifically for very large fleet actions and report a single aggregate status alongside individual per-device results. A created operation does not affect devices immediately; it queues the action, then resolves the target devices, then dispatches the command to each of them."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_type — the action to run, currently CONVERGE, INSTALL, or UNINSTALL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule_type — IMMEDIATE to run right away or WINDOW to run within a scheduled window"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_device_query — the device targeting payload; accepts a device_ids list or a device_request object with filters such as group_multi or state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"arguments — operation-specific arguments that mirror the command_args payload for the corresponding command type. Use the same field names and structure as POST /commands/v0/commands/ for that operation_type. For example, pass converge_with_provision for CONVERGE, or package_name and app_version for INSTALL/UNINSTALL operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Converging tens of thousands of devices onto an updated blueprint in a single request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Installing or uninstalling an app across every device in one or more groups"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-driving a Converge operation for a targeted list of devices that failed a previous attempt"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Batch very large device lists in operation_device_query rather than issuing many smaller operations, since Operations are built to scale to tens of thousands of devices per request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the id returned in the response immediately, since it is required for every subsequent status check"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm devices are online and provisioned before including them in a Converge operation to avoid indefinite Dispatched or Processing states"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determine the device_ids or device_request filters that define the target fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to this endpoint with the operation_type and operation_device_query"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned id as the Operation ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll GET /v0/operations/{operationId}/ until the operation reaches Success or Failure"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_Operations_POST","exampleIds":["paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices","paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"]}},"schemaId":"components/schemas/device_Operations_POST","exampleIds":["paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices","paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"],"pointer":"/paths/~1v0~1operations~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v0/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/device_Operations_POST","exampleIds":["paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices","paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"]}},"responseCodes":["201"],"pointer":"/v0/operations/","href":"device_operations/createoperation","openApiOperationId":"createOperation","summary":"Create a new Operation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_Operations_POST","exampleIds":["paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices","paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_Operations_POST","exampleIds":["paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices","paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"]}},"examples":[{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Operation information for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513"}},"schemaId":"schema_513"}],"pointer":"/paths/~1v0~1operations~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_513","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_operations/createoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/"},{"label":"Get specific Operation details (Operation Status)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_operations/getoperation","routeSlug":"/openapi/device_operations/getoperation","metadata":{"seo":{"title":"Get specific Operation details (Operation Status)","description":"Retrieves the full status and aggregate device counts for a single Dispatch operation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOperation","name":"Get specific Operation details (Operation Status)","isWebhook":false,"pointer":"/paths/~1v0~1operations~1{operationId}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get specific Operation details (Operation Status)","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full status and aggregate device counts for a single Dispatch operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to check whether a Converge, install, or uninstall operation has resolved, how many devices it reached, and how many succeeded or failed. The operation_stats object gives the aggregate breakdown, while operation_activity gives a timestamped history of the operation's state transitions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operation Status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An Operation moves through Created, Query Initiated, Query Resolved, Dispatching, Dispatched, Processing, and finally Success or Failure. The operation is only marked Success once every applicable device has executed the command successfully; a single device failure marks the whole operation Failure. Operations can remain indefinitely in Dispatched or Processing if devices are not picking up the command, which is usually a sign of network connectivity issues rather than a problem with the operation itself."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Polling an operation after creation to confirm it reached Success"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking operation_stats to see how many of a large batch of devices failed a Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing operation_activity to see how long an operation spent in each lifecycle state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat a Failure state as meaning at least one device failed, not that the entire batch failed; check operation_stats.failed_device_count for the real scope"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If an operation is stuck in Dispatched or Processing, check the affected devices' connectivity rather than re-issuing the operation immediately"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the state query parameter on GET /v0/operations/ to find other operations in the same state if you suspect a systemic issue"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create the operation with POST /v0/operations/ and capture the returned id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll this endpoint until state reaches a terminal value"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If state is Failure, call GET /v0/operations/{operationsId}/devices/ to identify which devices failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-drive the operation for the failed devices once their connectivity is confirmed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationId","in":"path","schemaId":"schema_322","description":"ID of the Operation","required":true}],"pointer":"/paths/~1v0~1operations~1{operationId}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/operations/{operationId}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v0/operations/{operationId}/","href":"device_operations/getoperation","openApiOperationId":"getOperation","summary":"Get specific Operation details (Operation Status)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Operation information for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513"}},"schemaId":"schema_513"}],"pointer":"/paths/~1v0~1operations~1{operationId}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_513","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_513"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_operations/getoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/{operationId}/"},{"label":"Update the operation (Support status update as of now)","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_operations/paths/~1v0~1operations~1{operationid}~1/put","routeSlug":"/openapi/device_operations/paths/~1v0~1operations~1{operationid}~1/put","metadata":{"seo":{"title":"Update the operation (Support status update as of now)","description":"Updates the status of an existing Dispatch operation. Supports CANCEL only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update the operation (Support status update as of now)","isWebhook":false,"pointer":"/paths/~1v0~1operations~1{operationId}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update the operation (Support status update as of now)","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the status of an existing Dispatch operation. Supports CANCEL only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to manually override an operation's state, most commonly to cancel an operation that has not yet dispatched or to force a stuck operation into a terminal state. This does not change the state of the individual devices within the operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Operation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint currently supports status updates only, as noted in its own description. It is most useful for cancelling an operation that is still queued or resolving, since operations already in Dispatching or Dispatched may have already reached some devices before a cancellation can take effect. Because this updates the operation-level record, individual DeviceOperation states are not automatically changed and may need to be reconciled separately."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — the new operation state, CANCELLED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reason — free text explaining the state change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancelling an operation that was created in error before it reaches the dispatch stage"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forcing an operation that has been stuck in Dispatched or Processing for an extended period into a terminal state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the operation's current state with GET /v0/operations/{operationId}/ before attempting to cancel it, since only operations that have not yet dispatched can be reliably cancelled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always include a reason so the override is auditable alongside the operation's activity history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v0/operations/{operationId}/ to confirm the operation is still in a cancellable state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT the new state and reason to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-check the operation to confirm the update took effect"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationId","in":"path","schemaId":"schema_514","description":"The ID of the operation to update (Put created operationId here)","required":true}],"pointer":"/paths/~1v0~1operations~1{operationId}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_515","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"]}},"schemaId":"schema_515","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"],"pointer":"/paths/~1v0~1operations~1{operationId}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v0/operations/{operationId}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationId","in":"path","required":true,"example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed","schemaId":"schema_514"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_515","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"]}},"responseCodes":["200"],"pointer":"/v0/operations/{operationId}/","href":"device_operations/paths/~1v0~1operations~1{operationid}~1/put","summary":"Update the operation (Support status update as of now)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_515","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_515","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"]}},"examples":[{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Operation status updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_516","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example"]}},"schemaId":"schema_516","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example"]}],"pointer":"/paths/~1v0~1operations~1{operationId}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_516","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_516","exampleIds":["paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example"]}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_operations/paths/~1v0~1operations~1{operationid}~1/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/{operationId}/"}],"content":{"contentType":"group","meta":{"name":"device_Operations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Operations","showPageActions":true},{"nodeType":"markdoc","content":"APIs to get information about operations"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/operations/","summary":"Get all Operations in the Tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_operations/getoperationslist","deprecated":false},{"title":"/v0/operations/","summary":"Create a new Operation","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_operations/createoperation","deprecated":false},{"title":"/v0/operations/{operationId}/","summary":"Get specific Operation details (Operation Status)","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_operations/getoperation","deprecated":false},{"title":"/v0/operations/{operationId}/","summary":"Update the operation (Support status update as of now)","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_operations/paths/~1v0~1operations~1{operationid}~1/put","deprecated":false}]}]}]}]}},{"type":"group","label":"DeviceOperations","link":"/openapi/device_deviceoperations","routeSlug":"/openapi/device_deviceoperations","items":[{"label":"Get all DeviceOperations for a specific Operation","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_deviceoperations/getdeviceoperations","routeSlug":"/openapi/device_deviceoperations/getdeviceoperations","metadata":{"seo":{"title":"Get all DeviceOperations for a specific Operation","description":"Retrieves the per-device breakdown of a single Dispatch operation, showing where every targeted device stands in the operation's lifecycle."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceOperations","name":"Get all DeviceOperations for a specific Operation","isWebhook":false,"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all DeviceOperations for a specific Operation","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the per-device breakdown of a single Dispatch operation, showing where every targeted device stands in the operation's lifecycle."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint after checking an operation's aggregate status to see exactly which devices succeeded, failed, or are still processing. Supports filtering by device operation state and ordering, which makes it the primary tool for isolating the devices that failed a Converge, install, or uninstall action."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Operations for an Operation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a Dispatch operation targets many devices, Esper tracks each device's progress as a separate DeviceOperation record nested under the parent Operation. This endpoint lists all of those records for a given operationsId, each carrying its own state and activity history distinct from the operation's overall state. It is the standard way to move from \"this operation had failures\" to \"these are the specific devices that failed.\""},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — filters by device operation state using integer codes; common values are 10 for Created, 30 for Dispatched, 40 for Processing, 50 for Success, and 60 for Failure"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — orders results by created_at, state, or updated_at; prefix with a minus sign to reverse order"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listing every device that failed a fleet-wide Converge operation by filtering state to the failure code"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitoring how many devices in a large install or uninstall operation are still processing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a per-device progress view for a dispatch operation shown in the Activity Feed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state rather than paging through the full device list when you only need failures"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine with ordering by created_at to review the most recently updated devices first"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For a single device's status within the operation, use GET /v0/operations/{operationsId}/devices/{deviceId}/ instead of filtering this list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create or identify the operation using the Operations endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the operationsId to retrieve the full device breakdown"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state to isolate failed or still-processing devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Re-drive the operation for any failed devices once their connectivity is confirmed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationsId","in":"path","schemaId":"schema_322","description":"ID of the Operation","required":true,"example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed"}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"state","in":"query","schemaId":"schema_325","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following are the Device Operation States and their corresponding integer values"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"DEVICE_OPERATION_CREATED     = 10\nDEVICE_OPERATION_INITIATED   = 20\nDEVICE_OPERATION_DISPATCHED  = 30\nDEVICE_OPERATION_PROCESSING  = 40\nDEVICE_OPERATION_SUCCESS     = 50\nDEVICE_OPERATION_FAILURE     = 60\nDEVICE_OPERATION_CANCELLED   = 70\nDEVICE_OPERATION_TIMEOUT     = 80\nDEVICE_OPERATION_COMPLETED   = 90\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"DEVICE_OPERATION_CREATED     = 10\nDEVICE_OPERATION_INITIATED   = 20\nDEVICE_OPERATION_DISPATCHED  = 30\nDEVICE_OPERATION_PROCESSING  = 40\nDEVICE_OPERATION_SUCCESS     = 50\nDEVICE_OPERATION_FAILURE     = 60\nDEVICE_OPERATION_CANCELLED   = 70\nDEVICE_OPERATION_TIMEOUT     = 80\nDEVICE_OPERATION_COMPLETED   = 90\n"},"children":[]}]}]},{"name":"ordering","in":"query","schemaId":"schema_511","description":"Field to order the results by. Prefix with '-' to reverse the order."}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/operations/{operationsId}/devices/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationsId","in":"path","required":true,"example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed","schemaId":"schema_322"}],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"state","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_511"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v0/operations/{operationsId}/devices/","href":"device_deviceoperations/getdeviceoperations","openApiOperationId":"getDeviceOperations","summary":"Get all DeviceOperations for a specific Operation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device Operation information for the Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_517"}},"schemaId":"schema_517"}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_517","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_517"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_deviceoperations/getdeviceoperations"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/{operationsId}/devices/"},{"label":"Get a Operations for a device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_deviceoperations/paths/~1v0~1devices~1{deviceid}~1operations~1/get","routeSlug":"/openapi/device_deviceoperations/paths/~1v0~1devices~1{deviceid}~1operations~1/get","metadata":{"seo":{"title":"Get a Operations for a device","description":"Retrieves the Dispatch operations that have targeted a specific device, giving a device-centric view of Converge, install, and uninstall activity."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get a Operations for a device","isWebhook":false,"pointer":"/paths/~1v0~1devices~1{deviceId}~1operations~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a Operations for a device","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the Dispatch operations that have targeted a specific device, giving a device-centric view of Converge, install, and uninstall activity."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint when you already have a device_id and want to see which fleet-wide dispatch operations it was included in, rather than starting from the operation and looking up its devices. Returns the same OperationWithStats objects used elsewhere in the Operations API, each including the operation's type, current state, and aggregate device counts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Operations for a Device"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operations, also called Dispatch commands, are Esper's mechanism for issuing large fleet actions such as Converge and group-level app installs and uninstalls to many devices in a single request. Every operation that includes this device appears in this list, regardless of when it was created or how many other devices it targeted. This is the reverse lookup of GET /v0/operations/{operationsId}/devices/, which starts from the operation instead of the device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing every dispatch operation a device has participated in"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Troubleshooting a device that appears out of sync by checking whether a recent Converge operation reached it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming whether a device was included in a bulk install or uninstall operation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference the operation IDs returned here with GET /v0/operations/{operationId}/ for full operation-level context, including overall success and failure counts"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the most recent entries first when troubleshooting a device that just failed to Converge"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the device_id from a device listing endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with that device_id to list the operations that targeted it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned operation id with GET /v0/operations/{operationsId}/devices/{deviceId}/ to see this device's specific status within that operation"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"ID of the Device","required":true,"example":"17d384d3-29bd-4dd4-af64-d02b9d6d54ee"}],"pointer":"/paths/~1v0~1devices~1{deviceId}~1operations~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/devices/{deviceId}/operations/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"example":"17d384d3-29bd-4dd4-af64-d02b9d6d54ee","schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v0/devices/{deviceId}/operations/","href":"device_deviceoperations/paths/~1v0~1devices~1{deviceid}~1operations~1/get","summary":"Get a Operations for a device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Operations information for the Device","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_518"}},"schemaId":"schema_518"}],"pointer":"/paths/~1v0~1devices~1{deviceId}~1operations~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_518","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_518"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_deviceoperations/paths/~1v0~1devices~1{deviceid}~1operations~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/devices/{deviceId}/operations/"},{"label":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_deviceoperations/getdeviceoperation","routeSlug":"/openapi/device_deviceoperations/getdeviceoperation","metadata":{"seo":{"title":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)","description":"Retrieves the status of a single device's progress within a specific Dispatch operation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceOperation","name":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)","isWebhook":false,"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the status of a single device's progress within a specific Dispatch operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to check exactly where one device stands inside a larger fleet operation, including its full state history from creation through to success or failure. This is the most granular status check available for Dispatch operations such as Converge, install, and uninstall."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Device Operation Status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Every device targeted by an Operation gets its own DeviceOperation record, which moves independently through Created, Initiated, Dispatched, Processing, and a terminal state such as Success, Failure, Cancelled, or Timeout. The device_operation_activity array on the response captures a timestamped history of every state transition for that device, useful for diagnosing exactly when and where a device stalled or failed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Diagnosing why one specific device failed a Converge operation while the rest of the fleet succeeded"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a device has reached Success before considering a bulk install or uninstall complete for that device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the timing between dispatch and completion for a single device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check device_operation_activity for the full timeline rather than relying on the current state alone"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a device is stuck in Dispatched or Processing, confirm its connectivity with GET /device/v0/heartbeat/{id}/ before assuming the operation failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pair this with GET /v0/operations/{operationsId}/devices/ when you need to move from a fleet-wide failure list down to individual device detail"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the operationsId and deviceId, typically from the device operation list endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the device's current state and activity history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the device shows a failure or timeout state, check its last-seen connectivity before retrying"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include the device_id again in a new Operation if it needs to be re-dispatched"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationsId","in":"path","schemaId":"schema_519","description":"ID of the Operation","required":true},{"name":"deviceId","in":"path","schemaId":"schema_520","description":"ID of the Device","required":true}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v0/operations/{operationsId}/devices/{deviceId}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationsId","in":"path","required":true,"example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed","schemaId":"schema_519"},{"name":"deviceId","in":"path","required":true,"example":"17d384d3-29bd-4dd4-af64-d02b9d6d54ee","schemaId":"schema_520"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200"],"pointer":"/v0/operations/{operationsId}/devices/{deviceId}/","href":"device_deviceoperations/getdeviceoperation","openApiOperationId":"getDeviceOperation","summary":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device Operation information for the Operation","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521"}},"schemaId":"schema_521"}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_521","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_deviceoperations/getdeviceoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/{operationsId}/devices/{deviceId}/"},{"label":"Update a specific DeviceOperation for a specific Operation","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_deviceoperations/updatedeviceoperation","routeSlug":"/openapi/device_deviceoperations/updatedeviceoperation","metadata":{"seo":{"title":"Update a specific DeviceOperation for a specific Operation","description":"Updates the recorded state of a single device's progress within a Dispatch operation."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateDeviceOperation","name":"Update a specific DeviceOperation for a specific Operation","isWebhook":false,"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update a specific DeviceOperation for a specific Operation","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the recorded state of a single device's progress within a Dispatch operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Used to request cancellation for an invidual device operation (instead of a larger fleetwide operation) by specifying the sate as CANCELLATION_REQUESTED. Cancellation is not guaranteed and depends the command's exact state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Device Operation"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each DeviceOperation record represents one device's slice of a larger Operation. As the underlying dispatch command progresses on the device side, the owning service reports the new state back through this endpoint, which then rolls up into the parent operation's aggregate stats (resolved, dispatched, failed, and success counts). Because this directly affects the parent operation's reported outcome, updates here should come from the service that owns the operation's execution rather than from ad hoc calls."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"operation_type — the operation type this device operation belongs to, for example CONVERGE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — the new device operation state, for example SUCCESS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"service_id — Optional. identifies the internal service reporting the update, for example drift-service"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reason — free text explaining the state change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"An internal service reporting that a device successfully completed its Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Marking a device's operation as failed after the underlying command times out on the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only update state from the service that actually owns execution of the underlying command for that device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always populate reason when reporting a failure so the cause is visible in the operation's activity history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the operationsId and deviceId for the device operation being updated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determine the device's actual outcome from the underlying command or drift check"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT the new state, service_id, and reason to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the update is reflected in the parent operation's aggregate stats via GET /v0/operations/{operationId}/"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"operationsId","in":"path","schemaId":"schema_522","description":"ID of the Operation","required":true},{"name":"deviceId","in":"path","schemaId":"schema_523","description":"ID of the Device","required":true}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_524"}},"schemaId":"schema_524","pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v0/operations/{operationsId}/devices/{deviceId}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"operationsId","in":"path","required":true,"example":"0aae03d2-32b4-4cab-b733-6919b84bb2ac","schemaId":"schema_522"},{"name":"deviceId","in":"path","required":true,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"schema_523"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_524"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v0/operations/{operationsId}/devices/{deviceId}/","href":"device_deviceoperations/updatedeviceoperation","openApiOperationId":"updateDeviceOperation","summary":"Update a specific DeviceOperation for a specific Operation"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_524","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_524"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device Operation updated successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521"}},"schemaId":"schema_521"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v0~1operations~1{operationsId}~1devices~1{deviceId}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_521","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_521"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_deviceoperations/updatedeviceoperation"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v0/operations/{operationsId}/devices/{deviceId}/"}],"content":{"contentType":"group","meta":{"name":"device_DeviceOperations"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"DeviceOperations","showPageActions":true},{"nodeType":"markdoc","content":"APIs to get information about device operations"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v0/operations/{operationsId}/devices/","summary":"Get all DeviceOperations for a specific Operation","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_deviceoperations/getdeviceoperations","deprecated":false},{"title":"/v0/devices/{deviceId}/operations/","summary":"Get a Operations for a device","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_deviceoperations/paths/~1v0~1devices~1{deviceid}~1operations~1/get","deprecated":false},{"title":"/v0/operations/{operationsId}/devices/{deviceId}/","summary":"Get a specific DeviceOperations for a specific Operation (Device Operation Status)","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_deviceoperations/getdeviceoperation","deprecated":false},{"title":"/v0/operations/{operationsId}/devices/{deviceId}/","summary":"Update a specific DeviceOperation for a specific Operation","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_deviceoperations/updatedeviceoperation","deprecated":false}]}]}]}]}},{"type":"group","label":"MultiOS Remote Viewer","link":"/openapi/device_multios-remote-viewer","routeSlug":"/openapi/device_multios-remote-viewer","items":[{"label":"Get RemoteViewer Activity Feed for the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_multios-remote-viewer/paths/~1v2~1rv-activity-feed~1/get","routeSlug":"/openapi/device_multios-remote-viewer/paths/~1v2~1rv-activity-feed~1/get","metadata":{"seo":{"title":"Get RemoteViewer Activity Feed for the tenant","description":"Retrieves a paginated, filterable feed of Remote Viewer sessions across the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get RemoteViewer Activity Feed for the tenant","isWebhook":false,"pointer":"/paths/~1v2~1rv-activity-feed~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get RemoteViewer Activity Feed for the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated, filterable feed of Remote Viewer sessions across the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each entry represents one Remote Viewer session, including the device it targeted, its current state, video quality, duration, and who initiated it. Supports filtering by state, video quality, device name, and the user who created the session."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Remote Viewer Activity Feed"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Remote Viewer sessions move through INITIATED, ACKNOWLEDGED, ACTIVE, and a terminal TERMINATED or FAILED state. This feed gives a tenant-wide, auditable view of who has remotely viewed which devices, how long each session lasted, and whether it completed successfully, spanning the multi-OS Remote Viewer feature rather than any single platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"states — filters by one or more session states, comma-separated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by — filters sessions by the user who initiated them"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_name — searches sessions by device name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — orders results, defaults to -created_at (most recent first)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing who accessed a given device through Remote Viewer and when"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing failed or unusually long Remote Viewer sessions across the fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Investigating support activity on a specific device by filtering on device_name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by states to separate completed sessions from ones that failed or never became active"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use created_by when auditing an individual support agent's Remote Viewer activity"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the filters relevant to your audit or investigation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review session state and duration for each result"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the session_id to correlate with support tickets or other internal records if needed"},"children":[]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"states","in":"query","schemaId":"schema_525"},{"name":"video_qualities","in":"query","schemaId":"schema_526"},{"name":"reason","in":"query","schemaId":"schema_527"},{"name":"created_by","in":"query","schemaId":"schema_528"},{"name":"device_name","in":"query","schemaId":"schema_529"},{"name":"ordering","in":"query","schemaId":"schema_530"},{"name":"duration_lt","in":"query","schemaId":"schema_531"},{"name":"duration_lte","in":"query","schemaId":"schema_532"},{"name":"duration_gt","in":"query","schemaId":"schema_533"},{"name":"duration_gte","in":"query","schemaId":"schema_534"},{"name":"created_at_lt","in":"query","schemaId":"schema_535"},{"name":"created_at_gt","in":"query","schemaId":"schema_536"},{"name":"created_at_lte","in":"query","schemaId":"schema_537"},{"name":"created_at_gte","in":"query","schemaId":"schema_538"},{"name":"updated_at_lt","in":"query","schemaId":"schema_539"},{"name":"updated_at_gt","in":"query","schemaId":"schema_540"},{"name":"updated_at_lte","in":"query","schemaId":"schema_541"},{"name":"updated_at_gte","in":"query","schemaId":"schema_542"}],"pointer":"/paths/~1v2~1rv-activity-feed~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/rv-activity-feed/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"states","in":"query","schemaId":"schema_525"},{"name":"video_qualities","in":"query","schemaId":"schema_526"},{"name":"reason","in":"query","schemaId":"schema_527"},{"name":"created_by","in":"query","schemaId":"schema_528"},{"name":"device_name","in":"query","schemaId":"schema_529"},{"name":"ordering","in":"query","schemaId":"schema_530"},{"name":"duration_lt","in":"query","example":"duration_lt=PT10M30S","schemaId":"schema_531"},{"name":"duration_lte","in":"query","example":"duration_lte=PT10M30S","schemaId":"schema_532"},{"name":"duration_gt","in":"query","example":"duration_gt=PT10M30S","schemaId":"schema_533"},{"name":"duration_gte","in":"query","example":"duration_gte=PT10M30S","schemaId":"schema_534"},{"name":"created_at_lt","in":"query","example":"created_at_lt=2023-10-01T12:00:00Z","schemaId":"schema_535"},{"name":"created_at_gt","in":"query","example":"created_at_gt=2023-10-01T12:00:00Z","schemaId":"schema_536"},{"name":"created_at_lte","in":"query","example":"created_at_lte=2023-10-01T12:00:00Z","schemaId":"schema_537"},{"name":"created_at_gte","in":"query","example":"created_at_gte=2023-10-01T12:00:00Z","schemaId":"schema_538"},{"name":"updated_at_lt","in":"query","example":"updated_at_lt=2023-10-01T12:00:00Z","schemaId":"schema_539"},{"name":"updated_at_gt","in":"query","example":"updated_at_gt=2023-10-01T12:00:00Z","schemaId":"schema_540"},{"name":"updated_at_lte","in":"query","example":"updated_at_lte=2023-10-01T12:00:00Z","schemaId":"schema_541"},{"name":"updated_at_gte","in":"query","example":"updated_at_gte=2023-10-01T12:00:00Z","schemaId":"schema_542"}],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400","401","500"],"pointer":"/v2/rv-activity-feed/","href":"device_multios-remote-viewer/paths/~1v2~1rv-activity-feed~1/get","summary":"Get RemoteViewer Activity Feed for the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_543"}},"schemaId":"schema_543"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1rv-activity-feed~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_543","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_543"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_multios-remote-viewer/paths/~1v2~1rv-activity-feed~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/rv-activity-feed/"}],"content":{"contentType":"group","meta":{"name":"device_MultiOS Remote Viewer"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MultiOS Remote Viewer","showPageActions":true},{"nodeType":"markdoc","content":"API to get Remote Viewer activity for the tenant. Currently supports only Android devices with DPC 8.4 and above along with RemoteViewer 3.x."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/rv-activity-feed/","summary":"Get RemoteViewer Activity Feed for the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_multios-remote-viewer/paths/~1v2~1rv-activity-feed~1/get","deprecated":false}]}]}]}]}},{"type":"separator","label":"APPS MANAGEMENT","content":null},{"type":"group","label":"VPP License Management","link":"/openapi/apps_management_vpp-license-management","routeSlug":"/openapi/apps_management_vpp-license-management","items":[{"label":"Get VPP License List","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp/get","routeSlug":"/openapi/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp/get","metadata":{"seo":{"title":"Get VPP License List","description":"Returns a paginated list of VPP (Volume Purchase Program) licenses associated with the tenant's configured VPP token. Use it to see all Apple VPP-licensed apps and their license counts in one call."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get VPP License List","isWebhook":false,"pointer":"/paths/~1apps~1v0~1vpp/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get VPP License List","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of VPP (Volume Purchase Program) licenses associated with the tenant's configured VPP token. Use it to see all Apple VPP-licensed apps and their license counts in one call."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The response includes a count of results plus prev/next pagination URLs alongside the list of VPPLicense records, so you can page through large license sets."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About VPP License Management"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP lets organizations purchase iOS/iPadOS/tvOS app licenses in bulk through Apple and distribute them to managed devices; Esper syncs license data using the tenant's VPP token. This endpoint surfaces that synced license inventory so you can audit what's licensed before assigning apps to devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which apps have VPP licenses provisioned for the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking license availability before assigning an iOS app to additional devices"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/apps/v0/vpp","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/apps/v0/vpp","href":"apps_management_vpp-license-management/paths/~1apps~1v0~1vpp/get","summary":"Get VPP License List"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_544"}},"schemaId":"schema_544"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1apps~1v0~1vpp/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_544","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_544"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/apps/v0/vpp"},{"label":"Get VPP License Info about an App","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp~1{appid}/get","routeSlug":"/openapi/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp~1{appid}/get","metadata":{"seo":{"title":"Get VPP License Info about an App","description":"Returns VPP (Volume Purchase Program) license details for a single app, identified by its VPP app ID. Use it to check license status and counts for one specific iOS app rather than pulling the full license list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get VPP License Info about an App","isWebhook":false,"pointer":"/paths/~1apps~1v0~1vpp~1{appId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get VPP License Info about an App","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns VPP (Volume Purchase Program) license details for a single app, identified by its VPP app ID. Use it to check license status and counts for one specific iOS app rather than pulling the full license list."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a single VPPLicense object for the given appId."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About VPP License Management"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP lets organizations purchase iOS/iPadOS/tvOS app licenses in bulk through Apple; Esper syncs license data using the tenant's VPP token so license counts stay current without manual entry."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appId — the app's VPP identifier (path parameter, numeric), not Esper's internal app UUID"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether an iOS app still has available VPP license seats before assigning it to more devices"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_325","required":true}],"pointer":"/paths/~1apps~1v0~1vpp~1{appId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/apps/v0/vpp/{appId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/apps/v0/vpp/{appId}","href":"apps_management_vpp-license-management/paths/~1apps~1v0~1vpp~1{appid}/get","summary":"Get VPP License Info about an App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_545"}},"schemaId":"schema_545"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1apps~1v0~1vpp~1{appId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_545","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_545"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp~1{appid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/apps/v0/vpp/{appId}"}],"content":{"contentType":"group","meta":{"name":"apps_management_VPP License Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"VPP License Management","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs for managing VPP licenses for apps. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP licenses"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/apps/v0/vpp","summary":"Get VPP License List","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp/get","deprecated":false},{"title":"/apps/v0/vpp/{appId}","summary":"Get VPP License Info about an App","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_vpp-license-management/paths/~1apps~1v0~1vpp~1{appid}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"VPP App Management","link":"/openapi/apps_management_vpp-app-management","routeSlug":"/openapi/apps_management_vpp-app-management","items":[{"label":"Get iOS App Info (v2)","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps/get","routeSlug":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps/get","metadata":{"seo":{"title":"Get iOS App Info (v2)","description":"Looks up iOS app information by app ID or Apple app ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get iOS App Info (v2)","isWebhook":false,"pointer":"/paths/~1v2~1itunesapps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get iOS App Info (v2)","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looks up iOS app information by app ID or Apple app ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of ItunesAppInfoV2 records — app name, icon, developer, current version, and iTunes Store URL — matched by Esper's internal app_id, an Apple app ID, or a specific version_id, optionally scoped to an App Store country/region."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About iOS App Info"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is an iOS/VPP-specific endpoint (Android is not applicable) that surfaces iTunes/App Store metadata for apps managed through Esper's VPP App Management. It's the v2 replacement path for looking up iTunes app details tied to a tenant's VPP-managed iOS apps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_id — Esper's internal UUID for the app"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_id — UUID of a specific app version"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apple_app_id — the app's ID from Apple"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"country_code — ISO country code for the App Store region, defaults to \"us\""},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up current iTunes metadata (name, icon, version) for a VPP-managed iOS app"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resolving an Apple app ID to Esper's internal app_id for further API calls"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"app_id","in":"query","schemaId":"schema_322"},{"name":"version_id","in":"query","schemaId":"schema_322"},{"name":"apple_app_id","in":"query","schemaId":"schema_323"},{"name":"country_code","in":"query","schemaId":"schema_546","description":"ISO country code for App Store region (e.g., \"us\", \"gb\", \"de\"). Defaults to \"us\"."}],"pointer":"/paths/~1v2~1itunesapps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/itunesapps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"app_id","in":"query","schemaId":"schema_322"},{"name":"version_id","in":"query","schemaId":"schema_322"},{"name":"apple_app_id","in":"query","schemaId":"schema_323"},{"name":"country_code","in":"query","example":"us","schemaId":"schema_546"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/itunesapps","href":"apps_management_vpp-app-management/paths/~1v2~1itunesapps/get","summary":"Get iOS App Info (v2)"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_547"}},"schemaId":"schema_547"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1itunesapps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_547","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_547"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/itunesapps"},{"label":"Set Preferred Region for VPP App","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appleappid}~1preferred-region/put","routeSlug":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appleappid}~1preferred-region/put","metadata":{"seo":{"title":"Set Preferred Region for VPP App","description":"⚠️ Apple devices only. This endpoint applies exclusively to iOS devices managed via VPP (Volume Purchase Program)."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Set Preferred Region for VPP App","isWebhook":false,"pointer":"/paths/~1v2~1itunesapps~1{appleAppId}~1preferred-region/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Set Preferred Region for VPP App","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only. This endpoint applies exclusively to iOS devices managed via VPP (Volume Purchase Program)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sets the preferred App Store region for a specific VPP app, overriding the default storefront used when Esper fetches app metadata and updates for that app.Each VPP app can be assigned to one of the preferred regions configured at the tenant level. Assigning the correct region is important for update reliability — devices in a region that doesn't match the app's assigned storefront may fail to receive app updates."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About VPP App Preferred Region"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apple's App Store is region-segmented; the same app may exist under different storefronts with different availability, pricing tiers, and update cadences. When managing VPP apps across a multi-region fleet, Esper needs to know which App Store storefront to use for each app. This endpoint sets that per-app region preference. The available regions to select from are those already configured at the tenant level via POST /v2/preferred-regions (up to five). In the Console, this setting is accessible when adding or editing an app under Apps > VPP Apps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appleAppId (path, required) — the Apple numeric App Store ID for the VPP app (e.g., 361309726)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"preferred_region (required) — ISO 3166-1 alpha-2 country code (uppercase) for the desired App Store storefront (e.g., \"US\", \"GB\", \"AU\"); must be one of the regions already added to the tenant's preferred region list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assigning each VPP app to the App Store storefront matching the primary device region where it is deployed"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting a region mismatch when devices in a specific country are failing to receive app updates"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reconfiguring app storefronts after an organizational expansion into a new country"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Only assign a region that is already in the tenant's configured preferred region list — the available options are set via POST /v2/preferred-regions"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Match the app's region to the physical operating region of the devices it is assigned to, not the billing region of the VPP token"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Audit per-app region assignments when expanding into new countries to prevent silent update failures"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the desired country is in the tenant's preferred region list via GET /v2/preferred-regions"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT to /v2/itunesapps/{appleAppId}/preferred-region with { \"preferred_region\": \"US\" } (or the appropriate code)"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify the response message confirms success; subsequently, device updates for that app will use the assigned storefront"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appleAppId","in":"path","schemaId":"schema_323","description":"The Apple App Store ID of the VPP app (e.g., \"361309726\")","required":true}],"pointer":"/paths/~1v2~1itunesapps~1{appleAppId}~1preferred-region/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionRequest"}},"schemaId":"components/schemas/apps_management_SetPreferredRegionRequest","pointer":"/paths/~1v2~1itunesapps~1{appleAppId}~1preferred-region/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/itunesapps/{appleAppId}/preferred-region","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appleAppId","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionRequest"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/itunesapps/{appleAppId}/preferred-region","href":"apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appleappid}~1preferred-region/put","summary":"Set Preferred Region for VPP App"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/apps_management_SetPreferredRegionRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_548"}},"schemaId":"schema_548"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1itunesapps~1{appleAppId}~1preferred-region/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_548","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_548"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appleappid}~1preferred-region/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/itunesapps/{appleAppId}/preferred-region"},{"label":"Force refresh of VPP app version metadata","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appid}~1refresh-version/post","routeSlug":"/openapi/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appid}~1refresh-version/post","metadata":{"seo":{"title":"Force refresh of VPP app version metadata","description":"Forces an on-demand refresh of a single VPP app's iTunes version metadata."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Force refresh of VPP app version metadata","isWebhook":false,"pointer":"/paths/~1v2~1itunesapps~1{appId}~1refresh-version/post","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Force refresh of VPP app version metadata","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forces an on-demand refresh of a single VPP app's iTunes version metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Synchronously re-fetches the latest iTunes metadata for the given app under the caller's tenant and persists it, using the same write path as the daily VPP version cron job, but scoped to just that one (tenant, app_id) pair. Returns the refreshed app details directly so callers can render updated info without a follow-up GET."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About VPP App Refresh"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP apps are normally kept in sync with Apple's iTunes catalog via a daily background cron job; this endpoint lets a caller trigger that same sync immediately for a single app rather than waiting for the next scheduled run."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appId — UUID of the VPP app to refresh, passed in the path"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Immediately pulling a newly released app version's metadata into Esper instead of waiting for the daily cron"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Refreshing stale iTunes metadata (icon, version, size) for a specific app right before deployment"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this for one-off, on-demand refreshes rather than as a substitute for the daily sync — it's scoped to a single app, not the full catalog"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Synchronously re-fetches the latest iTunes metadata for a single VPP"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app under the caller's tenant and persists it. Same write path as the"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"daily VPP version cron, scoped to one (tenant, app_id). Returns"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"the refreshed app details so the UI can render without a follow-up GET."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","description":"The internal Esper app id (UUID) of the VPP app","required":true}],"pointer":"/paths/~1v2~1itunesapps~1{appId}~1refresh-version/post/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/itunesapps/{appId}/refresh-version","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/itunesapps/{appId}/refresh-version","href":"apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appid}~1refresh-version/post","summary":"Force refresh of VPP app version metadata"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_549"}},"schemaId":"schema_549"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad Request (invalid app_id or missing headers)"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found (no vpp_app_ids row for the tenant + app_id, or app not found in iTunes)"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1itunesapps~1{appId}~1refresh-version/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_549","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_549"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appid}~1refresh-version/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/itunesapps/{appId}/refresh-version"}],"content":{"contentType":"group","meta":{"name":"apps_management_VPP App Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"VPP App Management","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs for getting information about VPP apps. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20518326865681-Managing-iOS-Applications"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP apps"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/itunesapps","summary":"Get iOS App Info (v2)","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps/get","deprecated":false},{"title":"/v2/itunesapps/{appleAppId}/preferred-region","summary":"Set Preferred Region for VPP App","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appleappid}~1preferred-region/put","deprecated":false},{"title":"/v2/itunesapps/{appId}/refresh-version","summary":"Force refresh of VPP app version metadata","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_vpp-app-management/paths/~1v2~1itunesapps~1{appid}~1refresh-version/post","deprecated":false}]}]}]}]}},{"type":"group","label":"Tenant Apps","link":"/openapi/apps_management_tenant-apps","routeSlug":"/openapi/apps_management_tenant-apps","items":[{"label":"Upload tenant app for a tenant","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps/post","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps/post","metadata":{"seo":{"title":"Upload tenant app for a tenant","description":"Uploads a new iOS or Windows app file to the tenant's app catalog."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Upload tenant app for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload tenant app for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads a new iOS or Windows app file to the tenant's app catalog."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Accepts a multipart file upload along with a platform value and returns the newly created app and version identifiers."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload Tenant App"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. This is how enterprise apps for iOS and Windows devices get into Esper for later assignment to blueprints or installation via commands. If the appId already exists for a re-uploaded app, this call creates a new version under that app rather than a duplicate app record; confirm which behavior applies for your platform before assuming either outcome."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"platform — the target platform, APPLE or WINDOWS, required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file — the app binary to upload, required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Publishing a new iOS or Windows enterprise app for the first time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploading a new build of an already-published app as a new version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture both the id and version_id from the upload response immediately, since later calls may need either one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the platform value matches the actual file type before uploading, since this determines how the app is validated and distributed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prepare the app file and confirm its target platform"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file as multipart form data to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned id and version_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reference the app in a blueprint version or install command to distribute it to devices"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_AppUploadRequestBody"}},"schemaId":"components/schemas/apps_management_AppUploadRequestBody","pointer":"/paths/~1v2~1tenant-apps/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/tenant-apps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_AppUploadRequestBody"}},"responseCodes":["200","400","401","403","500"],"pointer":"/v2/tenant-apps","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps/post","summary":"Upload tenant app for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/apps_management_AppUploadRequestBody","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_AppUploadRequestBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_550"}},"schemaId":"schema_550"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}},"schemaId":"components/schemas/apps_management_Error_403_Forbidden"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_550","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_550"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"403","schemaId":"components/schemas/apps_management_Error_403_Forbidden","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps"},{"label":"Get tenant apps for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps/get","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps/get","metadata":{"seo":{"title":"Get tenant apps for a tenant","description":"Retrieves a paginated list of all tenant-uploaded apps for iOS and Windows devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get tenant apps for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get tenant apps for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all tenant-uploaded apps for iOS and Windows devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each app's TenantAppResponse record, filterable by platform, package name, and app name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Tenant Apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. Tenant Apps are enterprise apps uploaded directly to Esper for distribution to iOS or Windows devices. This is the tenant-wide catalog view, separate from Tenant Esper Apps (Esper-provided apps) and from Android enterprise apps, which live in the older Application V1 API."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"platform — filters by APPLE or WINDOWS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — filters by exact package name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_name — filters by app name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Browsing the full catalog of uploaded iOS and Windows apps before assigning one to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding an app's id to look up its available versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by platform when working with a single-OS fleet to avoid paging through apps for the other platform"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use package_name to find a specific app quickly rather than searching by app_name alone, since app_name is not guaranteed to be unique"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the desired filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the appId for the app you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/tenant-apps/{appId}/versions to see its available versions"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"platform","in":"query","schemaId":"schema_552"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"app_name","in":"query","schemaId":"schema_323"}],"pointer":"/paths/~1v2~1tenant-apps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/tenant-apps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"platform","in":"query","schemaId":"schema_552"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"app_name","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/tenant-apps","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps/get","summary":"Get tenant apps for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_553"}},"schemaId":"schema_553"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_553","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_553"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps"},{"label":"Get tenant app by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}/get","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}/get","metadata":{"seo":{"title":"Get tenant app by ID","description":"Retrieves a single tenant app's detail record by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get tenant app by ID","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get tenant app by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a single tenant app's detail record by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the TenantAppResponse object for the given appId, including its platform, package name, and audit timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Tenant App"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. This is the single-app counterpart to the tenant apps list, useful once you already have an appId and need its current record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming an app's platform and package name before referencing it in a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking when an app record was last updated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v2/tenant-apps/{appId}/versions immediately after this call if you need the app's installable versions, since this endpoint does not return version detail"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the appId from the tenant apps list or from the upload response"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve its detail record"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/tenant-apps/{appId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/tenant-apps/{appId}","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}/get","summary":"Get tenant app by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_554"}},"schemaId":"schema_554"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_554","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_554"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}"},{"label":"Get tenant app versions by app ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions/get","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions/get","metadata":{"seo":{"title":"Get tenant app versions by app ID","description":"Retrieves a paginated list of every version uploaded for a specific tenant app."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get tenant app versions by app ID","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get tenant app versions by app ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of every version uploaded for a specific tenant app."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each version's TenantAppVersionResponse record. The legacy_format parameter controls whether version identification is returned as the legacy build_number or the newer version_code."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Tenant App Versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. Every time a new build of a tenant app is uploaded, it becomes a new version under the same appId. This endpoint lists all of them, which is the standard way to find the version_id needed to install a specific build or to reference in a blueprint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"legacy_format — when true (the default), returns build_number for backward compatibility; set to false to receive version_code instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_name — filters by app name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding the latest version of an app before assigning it to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the upload history of a tenant app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set legacy_format to false in new integrations to work with version_code directly, rather than relying on the legacy build_number field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Sort or filter results to confirm you're referencing the intended version before using it in a blueprint or install command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the appId"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the versionId of the version you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/tenant-apps/{appId}/versions/{versionId} for that version's full detail"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"app_name","in":"query","schemaId":"schema_323"},{"name":"app_type","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by app type. When TENANT_WINDOWS_EXE, response items include is_active."},"children":[]}]}]}]},{"name":"is_active","in":"query","schemaId":"schema_324","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by active status. Only supported when app_type=TENANT_WINDOWS_EXE. Returns 400 if used with any other app_type."},"children":[]}]}]}]},{"name":"legacy_format","in":"query","schemaId":"schema_405","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If false, returns version_code instead of build_number. Defaults to true for backward compatibility."},"children":[]}]}]}]}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/tenant-apps/{appId}/versions","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"app_name","in":"query","schemaId":"schema_323"},{"name":"app_type","in":"query","schemaId":"schema_323"},{"name":"is_active","in":"query","schemaId":"schema_324"},{"name":"legacy_format","in":"query","schemaId":"schema_405"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/tenant-apps/{appId}/versions","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions/get","summary":"Get tenant app versions by app ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_555"}},"schemaId":"schema_555"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_555","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_555"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions"},{"label":"Get tenant app version by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/get","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/get","metadata":{"seo":{"title":"Get tenant app version by ID","description":"Retrieves the full detail record for a single tenant app version."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get tenant app version by ID","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get tenant app version by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full detail record for a single tenant app version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the TenantAppVersionDetailResponse for the given appId and versionId, with the same legacy_format option for choosing between build_number and version_code."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Tenant App Version"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. This is the detail view behind a single entry in the app's version list, useful once you already have both the appId and versionId."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a specific version's detail before referencing it in a blueprint or install command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing a specific build's metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set legacy_format to false to receive version_code if your integration doesn't depend on the legacy build_number field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the appId and versionId from the versions list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint for the full version detail"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"legacy_format","in":"query","schemaId":"schema_405","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If false, returns version_code instead of build_number. Defaults to true for backward compatibility."},"children":[]}]}]}]}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/tenant-apps/{appId}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"}],"query":[{"name":"legacy_format","in":"query","schemaId":"schema_405"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/tenant-apps/{appId}/versions/{versionId}","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/get","summary":"Get tenant app version by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_556"}},"schemaId":"schema_556"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_556","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_556"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions/{versionId}"},{"label":"Update tenant app version by ID","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/put","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/put","metadata":{"seo":{"title":"Update tenant app version by ID","description":"Updates the description field on a specific tenant app version."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update tenant app version by ID","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update tenant app version by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the description field on a specific tenant app version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is a narrow update endpoint; the only writable field is description, so it's used for annotating a version rather than changing its binary or platform."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Tenant App Version"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. Because the app binary itself is immutable once uploaded, this endpoint only supports updating the version's description. To change the actual app content, upload a new version through POST /v2/tenant-apps instead."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"description — the only writable field on this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding release notes or context to an already-uploaded version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correcting a typo in a version's description after upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not expect this endpoint to change anything beyond description, including platform or the app binary"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the appId and versionId for the version you want to annotate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT the updated description to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the change with a follow-up GET on the version detail"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_323","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_557"}},"schemaId":"schema_557","pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v2/tenant-apps/{appId}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_323"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"schema_557"}},"responseCodes":["200","400","401","403","404","500"],"pointer":"/v2/tenant-apps/{appId}/versions/{versionId}","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/put","summary":"Update tenant app version by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_557","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_557"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_558"}},"schemaId":"schema_558"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}},"schemaId":"components/schemas/apps_management_Error_403_Forbidden"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_558","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_558"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"403","schemaId":"components/schemas/apps_management_Error_403_Forbidden","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/put"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions/{versionId}"},{"label":"Delete tenant app version by ID","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/delete","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/delete","metadata":{"seo":{"title":"Delete tenant app version by ID","description":"Permanently deletes a single version of a tenant-uploaded iOS or Windows app."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete tenant app version by ID","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete tenant app version by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Permanently deletes a single version of a tenant-uploaded iOS or Windows app."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removes the specified versionId from the app identified by appId. This deletes only that version's record, not the parent app or its other versions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Tenant App Version"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS and Windows only. Tenant Apps are enterprise apps uploaded directly for iOS or Windows devices, distinct from Android enterprise apps, which are managed through the separate Application V1 API. Deleting a version removes it from the catalog, so it can no longer be installed on new devices, though devices that already have it installed are not automatically affected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an outdated or broken app version from the catalog"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up test or pre-release versions after a stable version has been published"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm no active blueprints or pending install commands reference the version before deleting it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete older versions only after confirming devices have moved to a newer version, if version continuity matters for your fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/tenant-apps/{appId}/versions to confirm the versionId you intend to delete"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DELETE the version using its appId and versionId"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the deletion with a follow-up GET on the versions list"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/tenant-apps/{appId}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","403","404","500"],"pointer":"/v2/tenant-apps/{appId}/versions/{versionId}","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/delete","summary":"Delete tenant app version by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_558"}},"schemaId":"schema_558"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"403","description":"Forbidden","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}},"schemaId":"components/schemas/apps_management_Error_403_Forbidden"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_558","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_558"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"403","schemaId":"components/schemas/apps_management_Error_403_Forbidden","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions/{versionId}"},{"label":"Add an artifact to a UWP app version","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts/post","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts/post","metadata":{"seo":{"title":"Add an artifact to a UWP app version","description":"Uploads a per-version artifact (a UWP framework dependency or signingcertificate) for a TENANT_WINDOWS_UWP app version."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Add an artifact to a UWP app version","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Add an artifact to a UWP app version","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads a per-version artifact (a UWP framework dependency or signing"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"certificate) for a TENANT_WINDOWS_UWP app version."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_559"}},"schemaId":"schema_559","pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_559"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts/post","summary":"Add an artifact to a UWP app version"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_559","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_559"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_560"}},"schemaId":"schema_560"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found (the app version does not exist)","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_560","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_560"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts"},{"label":"Delete an artifact from a UWP app version","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts~1{artifactid}/delete","routeSlug":"/openapi/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts~1{artifactid}/delete","metadata":{"seo":{"title":"Delete an artifact from a UWP app version","description":"Deletes a per-version artifact (dependency or certificate) by its id, removing both its stored file and its record."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete an artifact from a UWP app version","isWebhook":false,"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts~1{artifactId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete an artifact from a UWP app version","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Deletes a per-version artifact (dependency or certificate) by its id,\nremoving both its stored file and its record.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true},{"name":"artifactId","in":"path","schemaId":"schema_322","description":"The id of the artifact to delete.","required":true}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts~1{artifactId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"},{"name":"artifactId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}","href":"apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts~1{artifactid}/delete","summary":"Delete an artifact from a UWP app version"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_560"}},"schemaId":"schema_560"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-apps~1{appId}~1versions~1{versionId}~1artifacts~1{artifactId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_560","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_560"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts~1{artifactid}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}"}],"content":{"contentType":"group","meta":{"name":"apps_management_Tenant Apps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Tenant Apps","showPageActions":true},{"nodeType":"markdoc","content":"API to manage Enterprise iOS apps for a tenant."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/tenant-apps","summary":"Upload tenant app for a tenant","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps/post","deprecated":false},{"title":"/v2/tenant-apps","summary":"Get tenant apps for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps/get","deprecated":false},{"title":"/v2/tenant-apps/{appId}","summary":"Get tenant app by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}/get","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions","summary":"Get tenant app versions by app ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions/get","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions/{versionId}","summary":"Get tenant app version by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/get","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions/{versionId}","summary":"Update tenant app version by ID","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/put","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions/{versionId}","summary":"Delete tenant app version by ID","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}/delete","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts","summary":"Add an artifact to a UWP app version","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts/post","deprecated":false},{"title":"/v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}","summary":"Delete an artifact from a UWP app version","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-apps/paths/~1v2~1tenant-apps~1{appid}~1versions~1{versionid}~1artifacts~1{artifactid}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Apple App Store","link":"/openapi/apps_management_apple-app-store","routeSlug":"/openapi/apps_management_apple-app-store","items":[{"label":"Search Apple App Store","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_apple-app-store/paths/~1v2~1appleappstore~1/get","routeSlug":"/openapi/apps_management_apple-app-store/paths/~1v2~1appleappstore~1/get","metadata":{"seo":{"title":"Search Apple App Store","description":"⚠️ Apple devices only. This endpoint searches Apple's App Store for apps available for deployment to Apple-managed devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Search Apple App Store","isWebhook":false,"pointer":"/paths/~1v2~1appleappstore~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Search Apple App Store","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only. This endpoint searches Apple's App Store for apps available for deployment to Apple-managed devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Searches the Apple App Store by app title (required), returning matching app records with metadata including icon, bundle ID, file size, App Store URL, minimum OS version, release date, and seller name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Search Apple App Store"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint proxies a title-based search against Apple's App Store, enabling integrators to discover apps by name before adding them to Esper for deployment. Unlike GET /api/v2/itunesapps, which retrieves metadata for apps already in Esper's system, this endpoint queries the App Store directly and does not require the app to already exist in the tenant library. Results include the bundle_id needed to identify the app in subsequent VPP or deployment workflows. This is a discovery tool — app installation and deployment are handled through VPP licensing and blueprint or operation endpoints."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters / Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"title (required) — App title search string"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name (response) — App name as listed in the App Store"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"bundle_id (response) — Bundle identifier (e.g., com.apple.mobilesafari); use this in VPP and deployment workflows"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"icon (response) — URL for the app's icon"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_store_url (response) — Direct link to the app's App Store listing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"minimum_os (response) — Minimum iOS version required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file_size_in_bytes (response) — App binary size in bytes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"release_date (response) — App release date in ISO 8601 format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"seller_name (response) — App developer or publisher name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Searching for an app by name to retrieve its bundle_id before configuring a VPP install or blueprint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying minimum OS version compatibility before targeting a specific iOS device group"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming app availability and publisher identity before adding it to the tenant's VPP library"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use specific, well-formed title strings — broad or partial searches may return large result sets; use the bundle_id from results to uniquely identify the target app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify minimum_os against the OS versions in your device fleet before targeting an app for deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is for discovery only — use VPP licensing endpoints and blueprint or operation endpoints to configure and deploy the app"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"title","in":"query","schemaId":"schema_323","required":true}],"pointer":"/paths/~1v2~1appleappstore~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/appleappstore/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"title","in":"query","required":true,"schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/appleappstore/","href":"apps_management_apple-app-store/paths/~1v2~1appleappstore~1/get","summary":"Search Apple App Store"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_561"}},"schemaId":"schema_561"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1appleappstore~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_561","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_561"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_apple-app-store/paths/~1v2~1appleappstore~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/appleappstore/"}],"content":{"contentType":"group","meta":{"name":"apps_management_Apple App Store"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Apple App Store","showPageActions":true},{"nodeType":"markdoc","content":"API to search apple app store for apps"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/appleappstore/","summary":"Search Apple App Store","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_apple-app-store/paths/~1v2~1appleappstore~1/get","deprecated":false}]}]}]}]}},{"type":"group","label":"App List","link":"/openapi/apps_management_app-list","routeSlug":"/openapi/apps_management_app-list","items":[{"label":"Get unified list of iOS apps (IPAs and Webclips) for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_app-list/paths/~1v2~1apps/get","routeSlug":"/openapi/apps_management_app-list/paths/~1v2~1apps/get","metadata":{"seo":{"title":"Get unified list of iOS apps (IPAs and Webclips) for a tenant","description":"⚠️ Apple devices and Windows only. This endpoint returns Window or iOS app records only. Android apps use the Application V1 API (https://api.esper.io/openapi/esper_cloud_api_application-v1).Retrieves a unified, paginated list of all iOS and Windows apps in the tenant library, spanning MSI, IPA-based tenant apps, and webclips, in a single normalized view."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get unified list of iOS apps (IPAs and Webclips) for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1apps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get unified list of iOS apps (IPAs and Webclips) for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices and Windows only. This endpoint returns Window or iOS app records only. Android apps use the Application V1 API (https://api.esper.io/openapi/esper_cloud_api_application-v1).Retrieves a unified, paginated list of all iOS and Windows apps in the tenant library, spanning MSI, IPA-based tenant apps, and webclips, in a single normalized view."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Windows or iOS Apps (Unified)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint provides a single list across iOS and Windows app types — TENANT_IOS, WEBCLIP, and TENANT_WINDOWS entries — surfaced as AppInfo records. Unlike the type-specific endpoints (GET /api/v2/tenant-apps and GET /api/v2/webclips), this unified view is useful when you need a single inventory sweep of all deployable iOS app entries regardless of type. The app_type filter can be used to scope results to a specific type. The AppInfo schema covers both IPA and webclip-specific fields — fields like url, is_full_screen, and is_removable are relevant for webclips, while file_size_in_kb, build_number/version_code, and min_sdk_version apply to IPA-based apps. The legacy_format parameter controls whether the response uses build_number (default) or version_code."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_type — Filter by app type (e.g., TENANT_IOS, WEBCLIP, TENANT_WINDOWS)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — Search by app name or label"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — Sort by name, created_at, or updated_at"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"legacy_format — true (default): build_number; false: version_code"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a complete inventory of all deployable iOS apps and webclips in the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Searching by name across both app types in a single call before blueprint configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing app library contents by type using the app_type filter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use app_type to filter when only IPAs or only webclips are needed — the combined list can be large for tenants with many apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use legacy_format=false in new integrations to consume version_code"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For type-specific detail (e.g., presigned download URL or webclip icon), follow up with the appropriate scoped endpoint"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_562"},{"name":"app_type","in":"query","schemaId":"schema_323"},{"name":"legacy_format","in":"query","schemaId":"schema_405","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If false, returns version_code instead of build_number. Defaults to true for backward compatibility."},"children":[]}]}]}]}],"pointer":"/paths/~1v2~1apps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/apps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"search","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_562"},{"name":"app_type","in":"query","schemaId":"schema_323"},{"name":"legacy_format","in":"query","schemaId":"schema_405"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/apps","href":"apps_management_app-list/paths/~1v2~1apps/get","summary":"Get unified list of iOS apps (IPAs and Webclips) for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_563"}},"schemaId":"schema_563"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1apps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_563","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_563"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_app-list/paths/~1v2~1apps/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/apps"}],"content":{"contentType":"group","meta":{"name":"apps_management_App List"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"App List","showPageActions":true},{"nodeType":"markdoc","content":"Unified API to query Webclips and Tenant IOS Apps"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/apps","summary":"Get unified list of iOS apps (IPAs and Webclips) for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_app-list/paths/~1v2~1apps/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Webclips","link":"/openapi/apps_management_webclips","routeSlug":"/openapi/apps_management_webclips","items":[{"label":"Create webclip for a tenant","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_webclips/paths/~1v2~1webclips/post","routeSlug":"/openapi/apps_management_webclips/paths/~1v2~1webclips/post","metadata":{"seo":{"title":"Create webclip for a tenant","description":"⚠️ iOS/iPadOS only. Webclips are home screen shortcuts for iOS and iPadOS managed devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create webclip for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1webclips/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create webclip for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS only. Webclips are home screen shortcuts for iOS and iPadOS managed devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new webclip in the tenant library, making it available for deployment to iOS/iPadOS managed devices via blueprint or install operation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Webclip"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A webclip is a home screen bookmark that opens a specified URL in a browser or within a target app, appearing as an app icon on the device. In Esper, webclips are managed as a distinct app type (WEBCLIP) within the iOS app system. The request uses multipart/form-data and requires label, esper_name, url, target_bundle_id, target_bundle_name, is_full_screen, and is_removable. An optional icon binary can be uploaded to set a custom home screen icon. The target_bundle_id and target_bundle_name identify the iOS app that will handle the URL (e.g., Safari). A 409 response indicates a webclip with a conflicting identifier already exists."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"label (required) — Display name shown on the device home screen"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"esper_name (required) — Internal name for the webclip in Esper (used for lookup and management)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"url (required) — The URL the webclip opens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target_bundle_id (required) — Bundle ID of the app that handles the URL (e.g., com.apple.mobilesafari)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target_bundle_name (required) — Display name of the target bundle (e.g., Safari)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_full_screen (required) — Whether the webclip opens in full-screen mode"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_removable (required) — Whether the user can remove the webclip from the home screen"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"icon (optional) — Custom icon binary for the home screen shortcut"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creating a home screen shortcut to an internal web app or portal for field devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding a branded webclip with a custom icon that opens in full-screen kiosk-style mode"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deploying a managed browser link that users cannot remove from the home screen"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set is_removable=false for compliance-critical or kiosk-mode webclips that should not be user-removable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a descriptive esper_name that distinguishes webclips with similar labels — it is the primary lookup identifier in Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After creation, capture the returned id (webclip UUID) for blueprint configuration or install operations"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prepare the webclip details — URL, target bundle, label, and icon if needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit the multipart/form-data POST with all required fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned webclip id for use in blueprint or operation configuration"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_WebclipCreateRequest"}},"schemaId":"components/schemas/apps_management_WebclipCreateRequest","pointer":"/paths/~1v2~1webclips/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/webclips","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_WebclipCreateRequest"}},"responseCodes":["200","400","401","409","500"],"pointer":"/v2/webclips","href":"apps_management_webclips/paths/~1v2~1webclips/post","summary":"Create webclip for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/apps_management_WebclipCreateRequest","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_WebclipCreateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}},"schemaId":"schema_564"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"409","description":"Conflict","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1webclips/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_564","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_webclips/paths/~1v2~1webclips/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/webclips"},{"label":"Get webclips for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_webclips/paths/~1v2~1webclips/get","routeSlug":"/openapi/apps_management_webclips/paths/~1v2~1webclips/get","metadata":{"seo":{"title":"Get webclips for a tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get webclips for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1webclips/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get webclips for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all webclips in the tenant library, with optional filtering by label or internal Esper name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Webclips"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns Webclip records for all webclips uploaded to the tenant — the same resource created by POST /api/v2/webclips. Each record includes the webclip's UUID, label, URL, target bundle details, full-screen and removability flags, icon URL, and audit timestamps. The exact_esper_name filter performs an exact-match lookup on the internal esper_name field, useful for finding a specific webclip by its Esper identifier without paginating through the full list. For a unified view of webclips alongside IPA-based apps, use GET /api/v2/apps with app_type=WEBCLIP."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"label — Filter by webclip display label (partial match)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exact_esper_name — Exact-match filter on the internal esper_name field"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a specific webclip's UUID by its esper_name for use in blueprint or operation configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all webclips in the tenant library before a deployment or cleanup operation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying webclip details (URL, target bundle, removability) before assigning to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use exact_esper_name when you know the internal name — it is more precise than label and avoids ambiguity with similarly labeled webclips"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset for tenants with large webclip libraries"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"label","in":"query","schemaId":"schema_323"},{"name":"exact_esper_name","in":"query","schemaId":"schema_323"}],"pointer":"/paths/~1v2~1webclips/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/webclips","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"label","in":"query","schemaId":"schema_323"},{"name":"exact_esper_name","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/webclips","href":"apps_management_webclips/paths/~1v2~1webclips/get","summary":"Get webclips for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_565"}},"schemaId":"schema_565"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1webclips/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_565","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_565"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_webclips/paths/~1v2~1webclips/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/webclips"},{"label":"Get webclip by id for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/get","routeSlug":"/openapi/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/get","metadata":{"seo":{"title":"Get webclip by id for a tenant","description":"⚠️ iOS/iPadOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get webclip by id for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1webclips~1{webclipId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get webclip by id for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full record for a specific webclip by its Esper UUID."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a single Webclip object with all fields including label, URL, target bundle ID and name, full-screen mode, removability, icon URL, and audit timestamps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Webclip"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint fetches the complete detail record for a single webclip, identified by its Esper-assigned UUID. It is the direct lookup complement to GET /api/v2/webclips — use it when you already have the webclipId and need to confirm current configuration or retrieve specific field values before an update or deployment operation. The response is identical in structure to webclip records returned by the list endpoint."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"webclipId (path) — Esper webclip UUID (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"label — Home screen display name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"url — URL the webclip opens"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"target_bundle_id / target_bundle_name — iOS app handling the URL"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_full_screen / is_removable — Behavioral flags"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"icon_url — URL for the webclip's home screen icon (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming webclip configuration details before including it in a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving current url or target bundle values for audit or documentation purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pre-flight check before a DELETE to confirm the correct webclip is targeted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this as a pre-flight check before DELETE operations to confirm the correct webclipId is targeted"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the webclipId is unknown, use GET /api/v2/webclips with exact_esper_name to look it up first"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"webclipId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1webclips~1{webclipId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/webclips/{webclipId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"webclipId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/webclips/{webclipId}","href":"apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/get","summary":"Get webclip by id for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}},"schemaId":"schema_564"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1webclips~1{webclipId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_564","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/webclips/{webclipId}"},{"label":"Delete webclip for a tenant","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/delete","routeSlug":"/openapi/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/delete","metadata":{"seo":{"title":"Delete webclip for a tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete webclip for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1webclips~1{webclipId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete webclip for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a specific webclip from the tenant library by its Esper UUID, returning the deleted webclip record."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The deletion is permanent. A 409 response indicates the webclip cannot be deleted because it is currently referenced by an active blueprint or configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Webclip"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleting a webclip removes it from the tenant library and makes it unavailable for new deployments. The 200 response returns the complete Webclip record for the deleted entry — retain it for audit purposes. The 409 Conflict response is significant: it indicates the webclip is still referenced in a blueprint or active configuration and must be removed from those references before deletion can proceed. Devices that already have the webclip installed are not immediately affected by deletion from the library — the webclip remains on those devices until actively removed via an operation or blueprint change."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"webclipId (path) — Esper webclip UUID (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response — The deleted Webclip record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an outdated or incorrect webclip from the tenant library"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up test webclips created during development or blueprint configuration"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning a webclip for a retired internal web application"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you receive a 409, use GET /api/v2/webclips/{webclipId} to confirm which blueprints and blueprint versions reference the webclip, then remove those references before retrying the delete"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned Webclip record from the 200 response for audit trail purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note that deletion removes the webclip from the console but does not uninstall it from devices where it is already deployed — use an uninstall operation for that"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"webclipId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1webclips~1{webclipId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/webclips/{webclipId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"webclipId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","409","500"],"pointer":"/v2/webclips/{webclipId}","href":"apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/delete","summary":"Delete webclip for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}},"schemaId":"schema_564"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"409","description":"Conflict","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1webclips~1{webclipId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_564","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_564"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/webclips/{webclipId}"}],"content":{"contentType":"group","meta":{"name":"apps_management_Webclips"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Webclips","showPageActions":true},{"nodeType":"markdoc","content":"API to manage webclips for a tenant"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/webclips","summary":"Create webclip for a tenant","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_webclips/paths/~1v2~1webclips/post","deprecated":false},{"title":"/v2/webclips","summary":"Get webclips for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_webclips/paths/~1v2~1webclips/get","deprecated":false},{"title":"/v2/webclips/{webclipId}","summary":"Get webclip by id for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/get","deprecated":false},{"title":"/v2/webclips/{webclipId}","summary":"Delete webclip for a tenant","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_webclips/paths/~1v2~1webclips~1{webclipid}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Provisioning Profiles","link":"/openapi/apps_management_provisioning-profiles","routeSlug":"/openapi/apps_management_provisioning-profiles","items":[{"label":"Upload provisioning profile for a tenant","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/post","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/post","metadata":{"seo":{"title":"Upload provisioning profile for a tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Upload provisioning profile for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload provisioning profile for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload a .mobileprovision file to register an iOS provisioning profile for use with Enterprise app distribution in Esper."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The uploaded file is parsed and validated by Esper, which extracts the App ID, team identifier, profile type, expiration date, and entitlements. The resulting profile record is then available to attach to blueprints. App Store (VPP) apps distributed through Apple's App Store do not require provisioning profiles."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload Provisioning Profile"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"iOS provisioning profiles are Apple-issued authorization files that enable Enterprise apps to run on iOS and iPadOS devices without going through the App Store. In Esper, provisioning profiles are uploaded here, then associated with specific blueprints via the blueprint's iOS app configuration. Each upload creates a new version under a profile record keyed by App ID; uploading a .mobileprovision file with the same App ID as an existing profile creates an additional version rather than overwriting it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file (required) — The .mobileprovision binary file to upload, sent as multipart/form-data"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (response) — Esper's UUID for the parent provisioning profile record"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_id (response) — UUID for this specific uploaded version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_identifier (response) — The app's bundle ID extracted from the file (e.g., com.example.app)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile_type (response) — One of development, ad-hoc, app-store, or enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiration_date (response) — When Apple's authorization on this profile expires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registering a new app profile before attaching it to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding an updated or renewed profile version for an app whose previous profile is nearing expiration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Managing multiple profile versions for the same App ID across development and enterprise distribution types"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload profiles before configuring blueprints — the profile must exist in Esper before it can be added to a blueprint's iOS tab"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Track expiration_date in the response and plan renewals before profiles expire, as expired profiles will block app installation on devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploading a file with the same App ID as an existing profile creates a new version; verify which version blueprints are using after uploading renewals"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the .mobileprovision file from the Apple Developer portal for the Enterprise app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file to this endpoint as multipart/form-data and capture the returned id and version_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Navigate to the target blueprint's Apps & Configuration > iOS tab and use Add Provisioning Profile to attach the uploaded profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set the expiration date in the blueprint configuration, then save, publish, and converge to apply to devices"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_ProvisioningProfileUploadRequest"}},"schemaId":"components/schemas/apps_management_ProvisioningProfileUploadRequest","pointer":"/paths/~1v2~1provisioning-profiles/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/provisioning-profiles","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_ProvisioningProfileUploadRequest"}},"responseCodes":["200","400","401","500"],"pointer":"/v2/provisioning-profiles","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/post","summary":"Upload provisioning profile for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/apps_management_ProvisioningProfileUploadRequest","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/apps_management_ProvisioningProfileUploadRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_566"}},"schemaId":"schema_566"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_566","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_566"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles"},{"label":"Get provisioning profiles for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/get","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/get","metadata":{"seo":{"title":"Get provisioning profiles for a tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get provisioning profiles for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get provisioning profiles for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a paginated list of all iOS provisioning profiles registered for the tenant, including a signed download URL for each profile file."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns profile metadata extracted from uploaded .mobileprovision files — App ID, team identifier, profile type, and expiration date — along with a signed download_url for retrieving the raw file. Results default to 10 per page and can be filtered by app_identifier, profile_type, team_id, or searched by name and identifier."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Provisioning Profiles"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provisioning profiles in Esper are uploaded per tenant and then attached to blueprints to authorize Enterprise iOS apps on managed devices. This endpoint provides the full tenant inventory of profiles, useful for auditing coverage, identifying profiles nearing expiration, and confirming which App IDs are registered. Each record represents a profile keyed by App ID; individual uploads of the same App ID create versioned records accessible via the versions sub-resource."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — Max results per page; defaults to 10"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — Number of records to skip for pagination; defaults to 0"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_identifier — Filter by bundle ID (e.g., com.example.app)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile_type — Filter by development, ad-hoc, app-store, or enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"team_id — Filter by Apple Developer Team identifier"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — Search within profile names and identifiers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download_url (response) — Signed S3 URL for downloading the .mobileprovision file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which Enterprise app IDs have registered provisioning profiles in the tenant"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying profiles approaching expiration before device-side installation failures occur"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving profile IDs needed to fetch version history or attach profiles to blueprints via the API"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by profile_type=enterprise to focus on profiles relevant to Enterprise app distribution"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use app_identifier filtering when managing profiles for a specific app across multiple versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset for tenants with large profile inventories; next and prev URLs are included in the response"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_567"},{"name":"offset","in":"query","schemaId":"schema_568"},{"name":"app_identifier","in":"query","schemaId":"schema_569"},{"name":"profile_type","in":"query","schemaId":"schema_570"},{"name":"team_id","in":"query","schemaId":"schema_571"},{"name":"search","in":"query","schemaId":"schema_572"}],"pointer":"/paths/~1v2~1provisioning-profiles/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/provisioning-profiles","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_567"},{"name":"offset","in":"query","schemaId":"schema_568"},{"name":"app_identifier","in":"query","schemaId":"schema_569"},{"name":"profile_type","in":"query","schemaId":"schema_570"},{"name":"team_id","in":"query","schemaId":"schema_571"},{"name":"search","in":"query","schemaId":"schema_572"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/provisioning-profiles","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/get","summary":"Get provisioning profiles for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_573"}},"schemaId":"schema_573"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_573","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_573"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles"},{"label":"Get provisioning profile by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}/get","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}/get","metadata":{"seo":{"title":"Get provisioning profile by ID","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get provisioning profile by ID","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get provisioning profile by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a single iOS provisioning profile record by its Esper-assigned UUID, including a signed download URL for the profile file."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full metadata for the profile — App ID, team identifier, profile type, expiration date, and audit fields — along with a download_url for downloading the .mobileprovision file. Use this endpoint to confirm profile details before attaching to a blueprint or to retrieve the download link for the current profile file."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Provisioning Profile by ID"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each provisioning profile in Esper is identified by a UUID assigned at upload time. The profile record represents the app identity (App ID) level of the hierarchy; individual uploads of the same App ID are tracked as versions under the profile and accessible via the /versions sub-resource. This endpoint returns the profile-level record, not a specific version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Path Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (required) — Esper UUID of the provisioning profile (returned from upload or list endpoint)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download_url (response) — Signed S3 URL for downloading the .mobileprovision file; time-limited"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_identifier (response) — Bundle ID of the associated app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile_type (response) — One of development, ad-hoc, app-store, or enterprise"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiration_date (response) — When the profile authorization expires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming profile details (type, expiration, App ID) before associating with a blueprint"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a fresh signed download URL for the profile file"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validating that a specific profile ID exists and is accessible before referencing it in blueprint configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the list endpoint (GET /v2/provisioning-profiles) to find the id if it isn't already known"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The download_url is a time-limited signed URL; retrieve it fresh when an actual download is needed rather than caching it"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_574","required":true}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/provisioning-profiles/{id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_574"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/provisioning-profiles/{id}","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}/get","summary":"Get provisioning profile by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_575"}},"schemaId":"schema_575"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_575","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_575"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles/{id}"},{"label":"Get provisioning profile versions list","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions/get","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions/get","metadata":{"seo":{"title":"Get provisioning profile versions list","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get provisioning profile versions list","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get provisioning profile versions list","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a paginated list of all uploaded versions of a specific iOS provisioning profile, ordered by expiration date descending."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each version corresponds to a separate .mobileprovision file upload made for the same App ID. Results include Apple-extracted metadata (UUID, expiration date, entitlements, platforms, developer certificates) and a signed download_url for the version file. Results default to 10 per page and support search by version name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Provisioning Profile Versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper allows multiple versions of a provisioning profile to exist under a single profile record (shared App ID), reflecting real-world scenarios where profiles are renewed or updated over time. This endpoint surfaces that version history in descending expiration order — most recent first — making it straightforward to identify which version is current and which are expired. Version IDs retrieved here are used when attaching a specific version to a blueprint or when deleting an obsolete version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path, required) — Esper UUID of the parent provisioning profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — Max results per page; defaults to 10"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — Records to skip for pagination; defaults to 0"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — Search within version names"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiration_date (response) — When this version expires; results are ordered by this field descending"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uuid (response) — Apple's own UUID for this profile version, distinct from Esper's internal id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"provisions_all_devices (response) — true for enterprise profiles that provision all devices without explicit device registration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"sha256_hash (response) — Hash of the file, used for duplicate detection on upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the version history of a profile to confirm which version is currently active in a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying expired versions to clean up via the delete endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving a specific version_id needed to fetch or delete an individual version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Versions are ordered by expiration_date descending; the first result is the most recently expiring (current) version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use sha256_hash to detect duplicate uploads before uploading a new version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When renewing profiles, upload the new version first, update the blueprint to reference the new version, then delete the old version"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_574","required":true}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_576"},{"name":"offset","in":"query","schemaId":"schema_577"},{"name":"search","in":"query","schemaId":"schema_578"}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/provisioning-profiles/{id}/versions","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_574"}],"query":[{"name":"limit","in":"query","schemaId":"schema_576"},{"name":"offset","in":"query","schemaId":"schema_577"},{"name":"search","in":"query","schemaId":"schema_578"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/provisioning-profiles/{id}/versions","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions/get","summary":"Get provisioning profile versions list"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_579"}},"schemaId":"schema_579"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_579","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_579"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles/{id}/versions"},{"label":"Get provisioning profile version by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/get","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/get","metadata":{"seo":{"title":"Get provisioning profile version by ID","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get provisioning profile version by ID","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get provisioning profile version by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve a specific version of an iOS provisioning profile by both the parent profile UUID and the version UUID, including a signed download URL for that version's file."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full version record: Apple-extracted fields (UUID, expiration date, entitlements, platforms, developer certificates, time_to_live), Esper audit fields, and a signed download_url for the .mobileprovision file. Use this when you need the complete details or download URL for a precise profile version rather than just the most recent one."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Provisioning Profile Version by ID"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Provisioning profile versions in Esper track individual .mobileprovision uploads associated with a given App ID. A profile can accumulate multiple versions over its lifetime as certificates are renewed or profile configurations change. This endpoint targets a single version by its versionId, making it useful for confirming the exact state of a version currently attached to a blueprint or for generating a fresh download link for a specific version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Path Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (required) — Esper UUID of the parent provisioning profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"versionId (required) — Esper UUID of the specific profile version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"uuid (response) — Apple's own UUID for this version, distinct from Esper's id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"expiration_date (response) — When this version's Apple authorization expires"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"time_to_live (response) — Days remaining from creation date to expiration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"provisions_all_devices (response) — true for enterprise profiles covering all devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"entitlements (response) — JSON object of app capabilities granted by this profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"download_url (response) — Signed S3 URL for downloading this version's file; time-limited"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving the full entitlements and certificate details for a specific profile version before attaching it to a blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a fresh signed download URL for a known profile version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming expiration and time_to_live for a version currently in use by managed devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the versions list endpoint (GET /v2/provisioning-profiles/{id}/versions) to discover valid versionId values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The download_url is time-limited; fetch it fresh when a download is needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check provisions_all_devices to confirm whether the version requires individual device registration or covers all devices (enterprise behavior)"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_574","required":true},{"name":"versionId","in":"path","schemaId":"schema_580","required":true}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/provisioning-profiles/{id}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_574"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_580"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/provisioning-profiles/{id}/versions/{versionId}","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/get","summary":"Get provisioning profile version by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_581"}},"schemaId":"schema_581"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_581","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_581"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles/{id}/versions/{versionId}"},{"label":"Delete provisioning profile version by ID","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/delete","routeSlug":"/openapi/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/delete","metadata":{"seo":{"title":"Delete provisioning profile version by ID","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete provisioning profile version by ID","isWebhook":false,"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete provisioning profile version by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Delete a specific version of an iOS provisioning profile by profile UUID and version UUID, removing it from the tenant's profile inventory."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On success, returns the deleted version record. A version that is currently referenced by a published blueprint cannot be deleted — remove the profile from the blueprint first before deleting the version. Deletion removes the version from Esper's records; the .mobileprovision file will no longer be accessible via Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete Provisioning Profile Version"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper stores provisioning profiles as parent records with one or more versioned uploads underneath. Deletion operates at the version level, not the profile level — deleting all versions of a profile does not automatically remove the parent profile record. This granular control allows teams to retire expired versions while keeping the profile record intact for future uploads. The Console enforces a guard against deleting versions attached to published blueprints; the API similarly returns an error in that case."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Path Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (required) — Esper UUID of the parent provisioning profile"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"versionId (required) — Esper UUID of the specific version to delete"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response body contains the deleted version's full record (same schema as the GET version endpoint)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an expired profile version to keep the tenant's profile inventory clean"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deleting a version uploaded by mistake before it is attached to any blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cycling out old versions after uploading a renewed profile and updating blueprints to reference the new version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the version is not referenced by any published blueprint before calling this endpoint; the API will reject the deletion if it is"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the versions list endpoint (GET /v2/provisioning-profiles/{id}/versions) to audit versions before deleting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When rotating expired profiles, follow this order: upload renewal → update blueprint → delete expired version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /v2/provisioning-profiles/{id}/versions to identify the versionId to remove"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the version is not attached to any published blueprint (detach it first if so)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call DELETE /v2/provisioning-profiles/{id}/versions/{versionId}"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verify deletion by confirming the version no longer appears in the versions list"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_574","required":true},{"name":"versionId","in":"path","schemaId":"schema_582","required":true}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/v2/provisioning-profiles/{id}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_574"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_582"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/provisioning-profiles/{id}/versions/{versionId}","href":"apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/delete","summary":"Delete provisioning profile version by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_581"}},"schemaId":"schema_581"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionId}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_581","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_581"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/provisioning-profiles/{id}/versions/{versionId}"}],"content":{"contentType":"group","meta":{"name":"apps_management_Provisioning Profiles"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Provisioning Profiles","showPageActions":true},{"nodeType":"markdoc","content":"APIs for managing iOS provisioning profiles for app distribution"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/provisioning-profiles","summary":"Upload provisioning profile for a tenant","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/post","deprecated":false},{"title":"/v2/provisioning-profiles","summary":"Get provisioning profiles for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles/get","deprecated":false},{"title":"/v2/provisioning-profiles/{id}","summary":"Get provisioning profile by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}/get","deprecated":false},{"title":"/v2/provisioning-profiles/{id}/versions","summary":"Get provisioning profile versions list","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions/get","deprecated":false},{"title":"/v2/provisioning-profiles/{id}/versions/{versionId}","summary":"Get provisioning profile version by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/get","deprecated":false},{"title":"/v2/provisioning-profiles/{id}/versions/{versionId}","summary":"Delete provisioning profile version by ID","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_provisioning-profiles/paths/~1v2~1provisioning-profiles~1{id}~1versions~1{versionid}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Preferred Regions","link":"/openapi/apps_management_preferred-regions","routeSlug":"/openapi/apps_management_preferred-regions","items":[{"label":"Set Preferred Regions for Tenant","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_preferred-regions/paths/~1v2~1preferred-regions/post","routeSlug":"/openapi/apps_management_preferred-regions/paths/~1v2~1preferred-regions/post","metadata":{"seo":{"title":"Set Preferred Regions for Tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Set Preferred Regions for Tenant","isWebhook":false,"pointer":"/paths/~1v2~1preferred-regions/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Set Preferred Regions for Tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates or replaces the tenant's preferred App Store region list, setting up to five ISO 3166-1 alpha-2 country codes that represent the regions where your organization operates.Submitting an empty countries array clears all preferred region preferences for the tenant. The list set here defines the available region options when assigning a storefront to individual VPP apps via PUT /v2/itunesapps/{appleAppId}/preferred-region. In the Console, this configuration lives in Apple MDM Management settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Preferred Regions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Multi-region organizations that distribute VPP apps across countries need to ensure each app's App Store storefront matches the operating region of its target devices. The preferred regions list is the tenant-level foundation for that configuration — it defines the pool of allowed storefronts (up to five) from which per-app regions are then selected. This is a replace-style operation: submitting a new list overwrites the previous one entirely rather than appending to it. Audit (GET /v2/preferred-regions) before updating to avoid accidentally removing an actively used region."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"countries (required) — array of ISO 3166-1 alpha-2 country codes in uppercase (e.g., [\"AU\", \"IN\", \"US\"]); maximum five entries; submit an empty array ([]) to clear all preferred regions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant_id (response) — UUID of the tenant whose preferred regions were updated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"countries (response) — the saved country code list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by / updated_by — UUID of the user who created or last modified the list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — timestamps of creation and last update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Initial setup of the preferred region list when onboarding iOS VPP management for a multi-country deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding a new country to the allowed storefront pool when the organization expands to a new region"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing stale regions from the list by resubmitting a trimmed country array"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Keep the list to only the countries where you actively deploy VPP apps — the five-region cap is a hard limit"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before updating, call GET /v2/preferred-regions and check which regions are actively assigned to apps via GET /v2/itunesapps; removing a region that apps depend on will break their storefront assignments"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use uppercase two-letter codes (e.g., \"US\", not \"us\") to match Apple's App Store country code format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/preferred-regions to retrieve the current list and confirm what, if anything, needs to change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to /v2/preferred-regions with the complete desired countries array (this replaces the existing list)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Assign individual app storefronts from the updated pool using PUT /v2/itunesapps/{appleAppId}/preferred-region"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionsRequest"}},"schemaId":"components/schemas/apps_management_SetPreferredRegionsRequest","pointer":"/paths/~1v2~1preferred-regions/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/preferred-regions","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionsRequest"}},"responseCodes":["200","400","401","500"],"pointer":"/v2/preferred-regions","href":"apps_management_preferred-regions/paths/~1v2~1preferred-regions/post","summary":"Set Preferred Regions for Tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/apps_management_SetPreferredRegionsRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/apps_management_SetPreferredRegionsRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}},"schemaId":"schema_583"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1preferred-regions/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_583","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_preferred-regions/paths/~1v2~1preferred-regions/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/preferred-regions"},{"label":"Get Preferred Regions for Tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_preferred-regions/paths/~1v2~1preferred-regions/get","routeSlug":"/openapi/apps_management_preferred-regions/paths/~1v2~1preferred-regions/get","metadata":{"seo":{"title":"Get Preferred Regions for Tenant","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get Preferred Regions for Tenant","isWebhook":false,"pointer":"/paths/~1v2~1preferred-regions/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Preferred Regions for Tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the tenant's current list of preferred App Store regions, returning an empty countries array if no regions have been configured. Use this endpoint to inspect the tenant's configured storefronts before assigning or updating per-app regions, and to verify that a desired country code is available before calling PUT /v2/itunesapps/{appleAppId}/preferred-region."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Preferred Regions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The preferred regions list defines the pool of up to five App Store storefronts a tenant can use when assigning regions to individual VPP apps. This read endpoint surfaces the current state of that list — including the country codes, the user who last modified it, and timestamps. An empty countries array indicates no preferred regions have been set, meaning per-app region assignments cannot be made until regions are configured via POST /v2/preferred-regions. In the Console, this configuration is visible in Apple MDM Management settings."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant_id (response) — UUID of the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"countries (response) — array of uppercase ISO 3166-1 alpha-2 country codes currently configured (e.g., [\"AU\", \"IN\", \"US\"]); empty array if none set"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by / updated_by — UUID of the user who created or last modified the list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — timestamps of creation and last update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying which App Store storefronts are currently available before assigning a region to a VPP app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the tenant's region configuration as part of an iOS fleet compliance check"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether a preferred region list has been set up at all during initial iOS VPP onboarding"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint before any PUT /v2/itunesapps/{appleAppId}/preferred-region operation to confirm the target country code is in the list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Include this in onboarding checklists: an empty countries response means VPP region assignments are not yet possible"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the updated_at timestamp to detect whether the list has changed since your last sync"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"GET /v2/preferred-regions to retrieve the current country list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the desired storefront country code is present before assigning it to a VPP app"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the list is empty or missing the needed country, configure it via POST /v2/preferred-regions first"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/preferred-regions","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v2/preferred-regions","href":"apps_management_preferred-regions/paths/~1v2~1preferred-regions/get","summary":"Get Preferred Regions for Tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}},"schemaId":"schema_583"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1preferred-regions/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_583","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_583"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_preferred-regions/paths/~1v2~1preferred-regions/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/preferred-regions"}],"content":{"contentType":"group","meta":{"name":"apps_management_Preferred Regions"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Preferred Regions","showPageActions":true},{"nodeType":"markdoc","content":"APIs for managing a tenant's preferred country/region list for App Store lookups"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/preferred-regions","summary":"Set Preferred Regions for Tenant","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_preferred-regions/paths/~1v2~1preferred-regions/post","deprecated":false},{"title":"/v2/preferred-regions","summary":"Get Preferred Regions for Tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_preferred-regions/paths/~1v2~1preferred-regions/get","deprecated":false}]}]}]}]}},{"type":"group","label":"OEM Config Schema","link":"/openapi/apps_management_oem-config-schema","routeSlug":"/openapi/apps_management_oem-config-schema","items":[{"label":"Get OEM Config Schema","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_oem-config-schema/getoemconfigschema","routeSlug":"/openapi/apps_management_oem-config-schema/getoemconfigschema","metadata":{"seo":{"title":"Get OEM Config Schema","description":"Retrieves the OEM config schema for a given OEM type and app package name. Use it to get the structure that describes which OEM-specific managed configuration keys an app supports and how they're formatted."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getOEMConfigSchema","name":"Get OEM Config Schema","isWebhook":false,"pointer":"/paths/~1v2~1oem-config-schema/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get OEM Config Schema","badges":[{"name":"Beta","color":"yellow"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the OEM config schema for a given OEM type and app package name. Use it to get the structure that describes which OEM-specific managed configuration keys an app supports and how they're formatted."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"By default this returns the latest active schema; pass version_code to pin to a specific schema version, and set include_schema=false when you only need metadata and want to avoid downloading the (potentially large) schema_json payload."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About OEM Config Schema"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OEM config schemas describe device-manufacturer-specific managed configuration options (separate from an app's standard managed configuration) so that OEM-provided settings can be surfaced and applied consistently through Esper. Schemas are versioned per OEM type and package name, with one version marked active at a time."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"oem_type — the OEM/manufacturer identifier the schema applies to"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — the Android package name of the app the schema is for"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — optional, retrieves a specific schema version instead of the latest active one"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"include_schema — set to false to omit the schema_json payload and return metadata only"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetching the current OEM config schema before building a UI or payload for OEM-specific managed configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking metadata only (via include_schema=false) to confirm a schema exists or see its version without pulling the full payload"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use include_schema=false when you only need to check schema existence or version, since schema_json payloads can be large"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the OEM config schema for a given OEM type and package name."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the latest active schema by default. Specify "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"version_code"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to retrieve a specific version."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"include_schema=false"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to receive metadata only (avoids the large "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"schema_json"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" payload)."},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"oem_type","in":"query","schemaId":"schema_584","description":"OEM manufacturer type","required":true,"example":"ZEBRA"},{"name":"package_name","in":"query","schemaId":"schema_323","description":"OEM config package name (e.g. com.zebra.oemconfig.common)","required":true,"example":"com.zebra.oemconfig.common"},{"name":"version_code","in":"query","schemaId":"schema_323","description":"Specific version code to retrieve. When omitted, returns the latest active schema.","example":"10"},{"name":"include_schema","in":"query","schemaId":"schema_405","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set to false to return metadata only, omitting the schema_json field (avoids large payload)"},"children":[]}]}]}]}],"pointer":"/paths/~1v2~1oem-config-schema/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authentication","required":true}],"pointer":"/paths/~1v2~1oem-config-schema/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/oem-config-schema","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"oem_type","in":"query","required":true,"example":"ZEBRA","schemaId":"schema_584"},{"name":"package_name","in":"query","required":true,"example":"com.zebra.oemconfig.common","schemaId":"schema_323"},{"name":"version_code","in":"query","required":false,"example":"10","schemaId":"schema_323"},{"name":"include_schema","in":"query","required":false,"schemaId":"schema_405"}],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/oem-config-schema","href":"apps_management_oem-config-schema/getoemconfigschema","openApiOperationId":"getOEMConfigSchema","summary":"Get OEM Config Schema"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_585"}},"schemaId":"schema_585","headers":{"Cache-Control":{"schema":{"type":"string"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When version_code is specified: public, max-age=3600 (response is immutable for that version). When version_code is omitted (latest lookup): not immutable — a newer upload can change the result; do not apply long-lived public caching."},"children":[]}]}]}]}},"headerSchemaId":"schema_586"},{"code":"400","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bad Request — missing or invalid query parameters"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Not Found — no schema found for the given oem_type, package_name, and version_code"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1oem-config-schema/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_585","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_585"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_oem-config-schema/getoemconfigschema"}],"panels":[]}]},"badges":[{"name":"Beta","color":"yellow"}],"httpPath":"/v2/oem-config-schema"}],"content":{"contentType":"group","meta":{"name":"apps_management_OEM Config Schema"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"OEM Config Schema","showPageActions":true},{"nodeType":"markdoc","content":"APIs for retrieving OEM config schemas parsed from OEM APKs"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/oem-config-schema","summary":"Get OEM Config Schema","prefix":{"name":"get","color":"get"},"badges":[{"name":"Beta","color":"yellow"}],"link":"/apps_management_oem-config-schema/getoemconfigschema","deprecated":false}]}]}]}]}},{"type":"group","label":"Esper Apps","link":"/openapi/apps_management_esper-apps","routeSlug":"/openapi/apps_management_esper-apps","items":[{"label":"Get esper app version details by ID","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_esper-apps/paths/~1v2~1esper-apps~1{appid}~1versions~1{versionid}/get","routeSlug":"/openapi/apps_management_esper-apps/paths/~1v2~1esper-apps~1{appid}~1versions~1{versionid}/get","metadata":{"seo":{"title":"Get esper app version details by ID","description":"Retrieves details for a specific version of an Esper App."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get esper app version details by ID","isWebhook":false,"pointer":"/paths/~1v2~1esper-apps~1{appId}~1versions~1{versionId}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get esper app version details by ID","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves details for a specific version of an Esper App."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Given an app ID and version ID, returns the full EsperAppVersionResponse for that version — including its download URL, hashes, size, and platform metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Esper Apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper Apps are Esper's own curated/system apps (as opposed to customer-uploaded tenant apps), spanning multiple platforms per the app_type field: TENANT_IOS, ESPER_IOS, ESPER_ANDROID, ESPER_LINUX, and ESPER_WINDOWS. Each app can have multiple versions, and this endpoint returns one specific version's detail."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"appId — UUID of the Esper App (path)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"versionId — UUID of the specific app version (path)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"X-Caller-Id — required request header"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"app_type — platform/type of the app (TENANT_IOS, ESPER_IOS, ESPER_ANDROID, ESPER_LINUX, ESPER_WINDOWS)"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"signature_hash — SHA-256 fingerprint of the app's signing key, only present for Android apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Fetching download/version metadata for a specific Esper App version before deploying it"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying an app version's file hash or size prior to distribution"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"appId","in":"path","schemaId":"schema_322","required":true},{"name":"versionId","in":"path","schemaId":"schema_322","required":true}],"pointer":"/paths/~1v2~1esper-apps~1{appId}~1versions~1{versionId}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/esper-apps/{appId}/versions/{versionId}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"appId","in":"path","required":true,"schemaId":"schema_322"},{"name":"versionId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/esper-apps/{appId}/versions/{versionId}","href":"apps_management_esper-apps/paths/~1v2~1esper-apps~1{appid}~1versions~1{versionid}/get","summary":"Get esper app version details by ID"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_587"}},"schemaId":"schema_587"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1esper-apps~1{appId}~1versions~1{versionId}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_587","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_587"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_esper-apps/paths/~1v2~1esper-apps~1{appid}~1versions~1{versionid}/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/esper-apps/{appId}/versions/{versionId}"}],"content":{"contentType":"group","meta":{"name":"apps_management_Esper Apps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Esper Apps","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/esper-apps/{appId}/versions/{versionId}","summary":"Get esper app version details by ID","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_esper-apps/paths/~1v2~1esper-apps~1{appid}~1versions~1{versionid}/get","deprecated":false}]}]}]}]}},{"type":"group","label":"Tenant Esper Apps","link":"/openapi/apps_management_tenant-esper-apps","routeSlug":"/openapi/apps_management_tenant-esper-apps","items":[{"label":"Get esper apps for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/apps_management_tenant-esper-apps/paths/~1v2~1tenant-esper-apps/get","routeSlug":"/openapi/apps_management_tenant-esper-apps/paths/~1v2~1tenant-esper-apps/get","metadata":{"seo":{"title":"Get esper apps for a tenant","description":"Retrieves a paginated list of Esper-provided apps available to the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get esper apps for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1tenant-esper-apps/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get esper apps for a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of Esper-provided apps available to the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each app's TenantEsperAppsItem record, filterable by package name, version code, and architecture."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Esper Apps"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper Apps are apps published by Esper itself, rather than uploaded by the tenant, and made available for installation on managed devices, such as Windows-side utility or agent apps. This catalog is separate from Tenant Apps (tenant-uploaded iOS and Windows apps) and from Android's Application V1 catalog."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"package_name — filters by package name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"architecture — filters by CPU architecture, for example x86_64, arm64_v8a, or universal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"version_code — filters by a specific version code"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ordering — orders by created_at or version_code, ascending or descending"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Browsing available Esper-provided apps before assigning one to a device or blueprint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Finding the correct architecture-specific build of an Esper app for a device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by architecture to avoid selecting a build incompatible with the target device's hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the filters relevant to the app you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the correct version_code and architecture for your target devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reference the app in a blueprint or command to install it"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"apps_management_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_588"},{"name":"architecture","in":"query","schemaId":"schema_589"},{"name":"version_code","in":"query","schemaId":"schema_590"}],"pointer":"/paths/~1v2~1tenant-esper-apps/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/tenant-esper-apps","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"},{"name":"package_name","in":"query","schemaId":"schema_323"},{"name":"ordering","in":"query","schemaId":"schema_588"},{"name":"architecture","in":"query","schemaId":"schema_589"},{"name":"version_code","in":"query","schemaId":"schema_590"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"apps_management_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/tenant-esper-apps","href":"apps_management_tenant-esper-apps/paths/~1v2~1tenant-esper-apps/get","summary":"Get esper apps for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_591"}},"schemaId":"schema_591"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1tenant-esper-apps/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_591","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_591"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/apps_management_tenant-esper-apps/paths/~1v2~1tenant-esper-apps/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/tenant-esper-apps"}],"content":{"contentType":"group","meta":{"name":"apps_management_Tenant Esper Apps"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Tenant Esper Apps","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/tenant-esper-apps","summary":"Get esper apps for a tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/apps_management_tenant-esper-apps/paths/~1v2~1tenant-esper-apps/get","deprecated":false}]}]}]}]}},{"type":"separator","label":"COMMANDS","content":null},{"type":"group","label":"Command Request","link":"/openapi/commands_command-request","routeSlug":"/openapi/commands_command-request","items":[{"label":"List command requests","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-request/listcommandrequests","routeSlug":"/openapi/commands_command-request/listcommandrequests","metadata":{"seo":{"title":"List command requests","description":"Returns a paginated list of command requests within the enterprise. Each record includes the command type, targeted devices or groups, schedule details, arguments, and current status. This endpoint provides visibility into commands that have been issued, whether they are queued, in progress, successful, or failed. Common use cases: Auditing commands sent across the enterprise Tracking scheduled vs immediate commands Reviewing historical command activity Troubleshooting command execution at scale Best Practices: Use pagination parameters to manage large datasets. Filter or search (if supported) to narrow results when investigating specific command IDs or timeframes. For device-level execution results, pair this endpoint with command status or event feed views."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listCommandRequests","name":"List command requests","isWebhook":false,"pointer":"/paths/~1commands~1v0~1commands~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List command requests","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns a paginated list of command requests within the enterprise. Each record includes the command type, targeted devices or groups, schedule details, arguments, and current status. This endpoint provides visibility into commands that have been issued, whether they are queued, in progress, successful, or failed. Common use cases: Auditing commands sent across the enterprise Tracking scheduled vs immediate commands Reviewing historical command activity Troubleshooting command execution at scale Best Practices: Use pagination parameters to manage large datasets. Filter or search (if supported) to narrow results when investigating specific command IDs or timeframes. For device-level execution results, pair this endpoint with command status or event feed views.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"devices","in":"query","schemaId":"schema_323","description":"Filter by device IDs. Accepts comma separated values."},{"name":"groups","in":"query","schemaId":"schema_323","description":"Filter by group IDs. Accepts comma separated values."},{"name":"command","in":"query","schemaId":"schema_323","description":"Filter by command name"},{"name":"schedule","in":"query","schemaId":"schema_592","description":"Filter by schedule type"},{"name":"exclude_internal_commands","in":"query","schemaId":"schema_326","description":"Filter to exclude internal commands"},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"pointer":"/paths/~1commands~1v0~1commands~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/commands/v0/commands/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"devices","in":"query","schemaId":"schema_323"},{"name":"groups","in":"query","schemaId":"schema_323"},{"name":"command","in":"query","schemaId":"schema_323"},{"name":"schedule","in":"query","schemaId":"schema_592"},{"name":"exclude_internal_commands","in":"query","schemaId":"schema_326"},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/commands/v0/commands/","href":"commands_command-request/listcommandrequests","openApiOperationId":"listCommandRequests","summary":"List command requests"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command request list for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}},"schemaId":"schema_593"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1commands~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_593","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_593"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-request/listcommandrequests"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/commands/"},{"label":"Create a command request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-request/createcommandrequest","routeSlug":"/openapi/commands_command-request/createcommandrequest","metadata":{"seo":{"title":"Create a command request","description":"Issues a device or group-level command using the stable command API. This endpoint supports multi-OS environments and scheduling options, and should be used for all new command integrations. Common use cases: Installing or uninstalling apps, pushing certificates, modifying device settings, sending notifications, enforcing policies, and other device actions supported by Esper. Best Practices: Ensure the command is supported for the device’s OS before sending. Decide whether to target specific devices (DEVICE) or a device group (GROUP). Determine whether the command should run IMMEDIATE or use scheduling options (if supported by the command). Validate command_args carefully—payload structure differs by command. Understand the command lifecycle (queued → acknowledged → in progress → success/failure). Monitor execution and final state in the Event Feed after issuing the request. Important: Response bodies can vary depending on the command. For detailed examples and command-specific payload guidance, refer to the API Commands help documentation: https://help.esper.io/hc/en-us/articles/29710806069393-Creating-API-Commands"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createCommandRequest","name":"Create a command request","isWebhook":false,"pointer":"/paths/~1commands~1v0~1commands~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a command request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issues a device or group-level command using the stable command API. This endpoint supports multi-OS environments and scheduling options, and should be used for all new command integrations. Common use cases: Installing or uninstalling apps, pushing certificates, modifying device settings, sending notifications, enforcing policies, and other device actions supported by Esper. Best Practices: Ensure the command is supported for the device’s OS before sending. Decide whether to target specific devices (DEVICE) or a device group (GROUP). Determine whether the command should run IMMEDIATE or use scheduling options (if supported by the command). Validate command_args carefully—payload structure differs by command. Understand the command lifecycle (queued → acknowledged → in progress → success/failure). Monitor execution and final state in the Event Feed after issuing the request. Important: Response bodies can vary depending on the command. For detailed examples and command-specific payload guidance, refer to the API Commands help documentation: https://help.esper.io/hc/en-us/articles/29710806069393-Creating-API-Commands"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can send the command immediately or "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/16693582666769-Scheduling-API-Commands"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule command"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for supported devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled commands are currently compatible with Android devices."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/commands_CommandRequest_POST"}},"schemaId":"components/schemas/commands_CommandRequest_POST","pointer":"/paths/~1commands~1v0~1commands~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/commands/v0/commands/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/commands_CommandRequest_POST"}},"responseCodes":["201","400","401","500"],"pointer":"/commands/v0/commands/","href":"commands_command-request/createcommandrequest","openApiOperationId":"createCommandRequest","summary":"Create a command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/commands_CommandRequest_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/commands_CommandRequest_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Command request successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_594"}},"schemaId":"schema_594"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1commands~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_594","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_594"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-request/createcommandrequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/commands/"},{"label":"Get a command request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-request/getcommandrequest","routeSlug":"/openapi/commands_command-request/getcommandrequest","metadata":{"seo":{"title":"Get a command request","description":"Retrieves a single command request by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandRequest","name":"Get a command request","isWebhook":false,"pointer":"/paths/~1commands~1v0~1commands~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a command request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a single command request by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full CommandRequest object, including the command type, its targeted devices or groups, the schedule used, and the arguments that were sent when the command was created."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Command Request"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A command request represents the original call made to POST /commands/v0/commands/; it captures what was asked for (the command, its targets, and its schedule), while the actual execution outcome per device is tracked separately by Command Status records. Use this endpoint to re-inspect exactly what was requested, for example when auditing or troubleshooting a command that didn't behave as expected."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the original arguments and targets of a command after it was issued"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming whether a command was scheduled or issued immediately"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pair this with GET /commands/v0/commands/{id}/stats/ to see the aggregate execution outcome alongside the original request details"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the id returned from POST /commands/v0/commands/ rather than a device-level command status id, since these are different identifiers"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the id returned when the command request was created"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to retrieve the full request detail"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call the stats endpoint for the same id to see aggregate execution status"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the command request object","required":true}],"pointer":"/paths/~1commands~1v0~1commands~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/commands/v0/commands/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/commands/v0/commands/{id}/","href":"commands_command-request/getcommandrequest","openApiOperationId":"getCommandRequest","summary":"Get a command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command request information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_594"}},"schemaId":"schema_594"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1commands~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_594","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_594"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-request/getcommandrequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/commands/{id}/"},{"label":"Get stats of a command request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-request/getcommandrequeststats","routeSlug":"/openapi/commands_command-request/getcommandrequeststats","metadata":{"seo":{"title":"Get stats of a command request","description":"Retrieves an aggregated count of devices in each status for a given command request."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandRequestStats","name":"Get stats of a command request","isWebhook":false,"pointer":"/paths/~1commands~1v0~1commands~1{id}~1stats~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get stats of a command request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves an aggregated count of devices in each status for a given command request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Instead of listing every individual device status, this endpoint rolls the command's execution up into a count per state, for example how many devices are still queued versus how many succeeded or failed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Command Request Stats"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When a command request targets many devices or a group, tracking each device's status individually can be unwieldy. This endpoint returns the CommandRequestStats object, an array of state and total pairs, giving a quick read on how a command is progressing across its full target set without paging through every device status record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a progress summary for a command that was issued to a large group"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quickly checking whether a command has finished executing across all targeted devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determining whether any devices have failed a command without listing them individually first"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint for a high-level progress check, then fall back to GET /commands/v0/status/ with a request filter if you need the specific devices behind a given count"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll this endpoint rather than the full status list when you only need aggregate numbers, to reduce response size"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issue the command with POST /commands/v0/commands/ and capture the returned id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll this endpoint to track aggregate progress by state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If failures appear, filter GET /commands/v0/status/ by request and state to identify the specific devices"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the command request object","required":true}],"pointer":"/paths/~1commands~1v0~1commands~1{id}~1stats~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/commands/v0/commands/{id}/stats/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/commands/v0/commands/{id}/stats/","href":"commands_command-request/getcommandrequeststats","openApiOperationId":"getCommandRequestStats","summary":"Get stats of a command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Aggregrated status information for a command request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_595"}},"schemaId":"schema_595"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1commands~1{id}~1stats~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_595","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_595"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-request/getcommandrequeststats"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/commands/{id}/stats/"}],"content":{"contentType":"group","meta":{"name":"commands_Command Request"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Command Request","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to view and manage command requests. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/16036992814609-Commonly-Used-APIs#h_01H2GZ8WM86BSQBGXE998QY8SM"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"commands"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" or how to "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/16036992814609-Commonly-Used-APIs#h_01H2GZ8WM86BSQBGXE998QY8SM"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schedule a command"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scheduled commands are currently compatible with Android devices."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/commands/v0/commands/","summary":"List command requests","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-request/listcommandrequests","deprecated":false},{"title":"/commands/v0/commands/","summary":"Create a command request","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-request/createcommandrequest","deprecated":false},{"title":"/commands/v0/commands/{id}/","summary":"Get a command request","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-request/getcommandrequest","deprecated":false},{"title":"/commands/v0/commands/{id}/stats/","summary":"Get stats of a command request","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-request/getcommandrequeststats","deprecated":false}]}]}]}]}},{"type":"group","label":"Command Status","link":"/openapi/commands_command-status","routeSlug":"/openapi/commands_command-status","items":[{"label":"Get status list for command request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-status/getcommandrequeststatuses","routeSlug":"/openapi/commands_command-status/getcommandrequeststatuses","metadata":{"seo":{"title":"Get status list for command request","description":"Retrieves a paginated, filterable list of individual command status records across the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandRequestStatuses","name":"Get status list for command request","isWebhook":false,"pointer":"/paths/~1commands~1v0~1status~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get status list for command request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated, filterable list of individual command status records across the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each record represents one command's execution on one device, including its current state and the reason for that state. Filter by request, device, or state to narrow the list to the commands you're investigating."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Command Status"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"While a command request can target many devices at once, each device gets its own CommandStatus record tracking its individual progress through the command lifecycle, moving through Command Queued, Command Initiated, Command Acknowledged, Command In Progress, and a terminal state such as Command Success, Command Failure, Command TimeOut, or Command Cancelled. This endpoint is the primary way to see exactly which devices succeeded or failed within a given command request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"request — filters by one or more command request IDs, accepts comma-separated values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device — filters by one or more device IDs, accepts comma-separated values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — filters by command state, for example Command Failure or Command Queued"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"exclude_internal_commands — excludes internally generated commands from the results when set to true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listing every device that failed a specific command request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether a specific device has picked up a command it was sent"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all command activity for a device over time by filtering on device alone"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine request and state filters to jump straight to the failed devices within a large command request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use exclude_internal_commands to keep results focused on customer-issued commands when auditing"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the request id from the command request, or the device id you want to investigate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the appropriate filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned command status id with GET /commands/v0/status/{id}/ for full detail on a specific record"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"request","in":"query","schemaId":"schema_323","description":"Filter status result by command request IDs. Accepts comma separated values."},{"name":"device","in":"query","schemaId":"schema_323","description":"Filter status result by device IDs. Accepts comma separated values."},{"name":"state","in":"query","schemaId":"schema_596","description":"Filter by command state"},{"name":"exclude_internal_commands","in":"query","schemaId":"schema_326","description":"Filter to exclude internal commands"},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"pointer":"/paths/~1commands~1v0~1status~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/commands/v0/status/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"request","in":"query","schemaId":"schema_323"},{"name":"device","in":"query","schemaId":"schema_323"},{"name":"state","in":"query","schemaId":"schema_596"},{"name":"exclude_internal_commands","in":"query","schemaId":"schema_326"},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/commands/v0/status/","href":"commands_command-status/getcommandrequeststatuses","openApiOperationId":"getCommandRequestStatuses","summary":"Get status list for command request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Status list for a command request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597"}},"schemaId":"schema_597"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1status~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_597","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_597"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-status/getcommandrequeststatuses"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/status/"},{"label":"Get a command status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-status/getcommandstatus","routeSlug":"/openapi/commands_command-status/getcommandstatus","metadata":{"seo":{"title":"Get a command status","description":"Retrieves a single command status record by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandStatus","name":"Get a command status","isWebhook":false,"pointer":"/paths/~1commands~1v0~1status~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a command status","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a single command status record by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the full CommandStatus object for one device's execution of one command, including its current state, the associated device and request IDs, and the reason for its current state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Command Status"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the most granular status check available for a command's execution on a specific device. Use it once you already have a command status id, typically obtained by filtering GET /commands/v0/status/ down to the record you care about."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking the current state and reason for one device's execution of a command"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a command has reached a terminal state before considering it complete"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the reason field to understand why a command failed rather than only checking state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cache this result briefly rather than polling continuously if the state is already terminal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter GET /commands/v0/status/ by device or request to find the specific command status id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with that id for the full record"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the command status object","required":true}],"pointer":"/paths/~1commands~1v0~1status~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/commands/v0/status/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/commands/v0/status/{id}/","href":"commands_command-status/getcommandstatus","openApiOperationId":"getCommandStatus","summary":"Get a command status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command status information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}},"schemaId":"schema_598"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1status~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_598","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-status/getcommandstatus"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/status/{id}/"},{"label":"Update command status","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-status/updatecommandstatus","routeSlug":"/openapi/commands_command-status/updatecommandstatus","metadata":{"seo":{"title":"Update command status","description":"Updates the state of an individual command status record. Supports only CANCEL. Cancellations are not always guaranteed and depends on the command's exact state."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateCommandStatus","name":"Update command status","isWebhook":false,"pointer":"/paths/~1commands~1v0~1status~1{id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update command status","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Updates the state of an individual command status record. Supports only CANCEL. Cancellations are not always guaranteed and depends on the command's exact state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Command Status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each CommandStatus record tracks the execution of one command against one device and is created automatically when a command request targets that device. This endpoint lets you override the current lifecycle state directly rather than waiting for the device to report back. It's typically used by internal tooling and integrations that need to reconcile command state (such as cancelling a command stuck in Command Queued) rather than as part of a normal command-issuing workflow."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — the new command state; accepts Command Cancelled"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"reason — free text explaining why the state was changed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cancelling a command that is stuck in a queued state before it reaches the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forcing a command into a terminal state when a device is known to be offline or decommissioned"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use GET /commands/v0/status/{id}/ first to confirm the command's current state before changing it"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always include a reason so the change is auditable in the command history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Prefer letting the device report its own status through the normal command lifecycle; only override manually when necessary"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /commands/v0/status/{id}/ to review the command's current state and device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Determine the correct terminal or intermediate state to apply"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT the new state and reason to this endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the update by re-fetching the command status record"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the command status object","required":true}],"pointer":"/paths/~1commands~1v0~1status~1{id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/commands_CommandStatus_PUT"}},"schemaId":"components/schemas/commands_CommandStatus_PUT","pointer":"/paths/~1commands~1v0~1status~1{id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/commands/v0/status/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/commands_CommandStatus_PUT"}},"responseCodes":["200","304","400","401","500"],"pointer":"/commands/v0/status/{id}/","href":"commands_command-status/updatecommandstatus","openApiOperationId":"updateCommandStatus","summary":"Update command status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/commands_CommandStatus_PUT","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/commands_CommandStatus_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Command status successfully updated.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}},"schemaId":"schema_598"},{"code":"304","description":"Command status was not modified because the requested state transition is not allowed."},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1commands~1v0~1status~1{id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_598","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_598"}}},{"code":"304"},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-status/updatecommandstatus"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/commands/v0/status/{id}/"},{"label":"Get queued commands to be executed by the physical device.","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/commands_command-status/getcommandinbox","routeSlug":"/openapi/commands_command-status/getcommandinbox","metadata":{"seo":{"title":"Get queued commands to be executed by the physical device.","description":"Retrieves the commands currently queued for a specific device to execute."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getCommandInbox","name":"Get queued commands to be executed by the physical device.","isWebhook":false,"pointer":"/paths/~1v2~1command-inbox~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get queued commands to be executed by the physical device.","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the commands currently queued for a specific device to execute."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the device-facing endpoint the Esper agent itself calls to pick up its pending work; it returns commands in the Command Queued state for the given device_id, along with the command arguments and basic device metadata."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Command Inbox"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"While GET /commands/v0/status/ gives an administrative view of command execution across the tenant, the command inbox is the device-side queue that the Esper agent polls to find out what it needs to run next. It is scoped to a single device_id and reflects only commands that have not yet been picked up."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_id — the device whose queued commands should be returned, required"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying that a command was actually queued for delivery to a specific device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Diagnosing a device that isn't executing commands by checking whether they are reaching its inbox at all"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If a command doesn't appear here after being issued, check the device's connectivity and last-seen time before assuming the command failed to queue"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this alongside GET /commands/v0/status/{id}/ to distinguish between a command that never reached the device and one that reached it but failed to execute"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Issue a command targeting the device through POST /commands/v0/commands/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with the device_id to confirm the command is queued"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the command doesn't appear, check the device's last-seen status before retrying"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"commands_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"device_id","in":"query","schemaId":"schema_323","description":"Filter status result by device IDs.","required":true}],"pointer":"/paths/~1v2~1command-inbox~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/command-inbox/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"device_id","in":"query","required":true,"schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"commands_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/command-inbox/","href":"commands_command-status/getcommandinbox","openApiOperationId":"getCommandInbox","summary":"Get queued commands to be executed by the physical device."},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of Queued Command Status","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599"}},"schemaId":"schema_599"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1command-inbox~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_599","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_599"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/commands_command-status/getcommandinbox"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/command-inbox/"}],"content":{"contentType":"group","meta":{"name":"commands_Command Status"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Command Status","showPageActions":true},{"nodeType":"markdoc","content":"APIs to view, filter, and manage command requests."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/commands/v0/status/","summary":"Get status list for command request","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-status/getcommandrequeststatuses","deprecated":false},{"title":"/commands/v0/status/{id}/","summary":"Get a command status","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-status/getcommandstatus","deprecated":false},{"title":"/commands/v0/status/{id}/","summary":"Update command status","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-status/updatecommandstatus","deprecated":false},{"title":"/v2/command-inbox/","summary":"Get queued commands to be executed by the physical device.","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/commands_command-status/getcommandinbox","deprecated":false}]}]}]}]}},{"type":"separator","label":"DRIFT","content":null},{"type":"group","label":"Converge","link":"/openapi/drift_converge","routeSlug":"/openapi/drift_converge","items":[{"label":"List converge action","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_converge/listconverges","routeSlug":"/openapi/drift_converge/listconverges","metadata":{"seo":{"title":"List converge action","description":"Retrieves a paginated list of Converge actions issued in the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listConverges","name":"List converge action","isWebhook":false,"pointer":"/paths/~1v2~1converge/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List converge action","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of Converge actions issued in the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Each record reflects a single device's Converge request, including which blueprint and version it targeted and its current aggregate status. Filter by device_ids to scope the list to specific devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List Converge Actions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Converge is the mechanism that assigns a device to a blueprint and blueprint version and brings it into alignment with that configuration, covering apps, files, restrictions, and platform settings. Each Converge action moves through QUEUED, PROCESSING, IN_PROGRESS, and a terminal SUCCESS or FAILURE state as Esper applies the blueprint. This endpoint is the tenant-wide view of that activity, separate from the alpha Operations API, which handles Converge issued at fleet scale through POST /v0/operations/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_ids — filters results to one or more device IDs, accepts comma-separated values"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the Converge history for a specific device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing recent Converge activity across the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by device_ids when troubleshooting a specific device rather than paging through the full tenant-wide list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For large-scale Converge issued through the Operations API, use GET /v0/operations/ and its device-level endpoints instead of this list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with device_ids to scope to the devices you're investigating"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify the converge id for the action you need"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v2/converge/{id} for full detail, or /v2/converge/{id}/commands to see the underlying commands it fired"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"device_ids","in":"query","schemaId":"schema_323","description":"Filter by device IDs. Accepts comma separated values."},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"pointer":"/paths/~1v2~1converge/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/converge","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"device_ids","in":"query","schemaId":"schema_323"},{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v2/converge","href":"drift_converge/listconverges","openApiOperationId":"listConverges","summary":"List converge action"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Converge action list for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600"}},"schemaId":"schema_600"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1converge/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_600","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_600"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_converge/listconverges"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/converge"},{"label":"Create a converge action","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_converge/createconverge","routeSlug":"/openapi/drift_converge/createconverge","metadata":{"seo":{"title":"Create a converge action","description":"POST converge (V2). Assigns a device to a specific blueprint (and blueprint version) and triggers the converge workflow. Converge brings the device into alignment with the selected blueprint configuration, including apps, files, restrictions, and platform settings. What this endpoint does Assigns the device to the provided blueprint_id. Targets a specific blueprint_version_id. Queues a converge action (status: QUEUED) for execution. Optionally applies provisioning-related behavior via converge_with_provision_option. Workflow Use Get all blueprints (V2) to retrieve the desired blueprint_id and blueprint_version_id. Use a device listing endpoint to retrieve the device_id or group_id. Send a POST request to /api/v2/converge with the required identifiers. Monitor the converge/command status to confirm successful application."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createConverge","name":"Create a converge action","isWebhook":false,"pointer":"/paths/~1v2~1converge/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a converge action","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST converge (V2). Assigns a device to a specific blueprint (and blueprint version) and triggers the converge workflow. Converge brings the device into alignment with the selected blueprint configuration, including apps, files, restrictions, and platform settings. What this endpoint does Assigns the device to the provided blueprint_id. Targets a specific blueprint_version_id. Queues a converge action (status: QUEUED) for execution. Optionally applies provisioning-related behavior via converge_with_provision_option. Workflow Use Get all blueprints (V2) to retrieve the desired blueprint_id and blueprint_version_id. Use a device listing endpoint to retrieve the device_id or group_id. Send a POST request to /api/v2/converge with the required identifiers. Monitor the converge/command status to confirm successful application."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/drift_Converge_POST"}},"schemaId":"components/schemas/drift_Converge_POST","pointer":"/paths/~1v2~1converge/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/converge","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/drift_Converge_POST"}},"responseCodes":["201","400","401","500"],"pointer":"/v2/converge","href":"drift_converge/createconverge","openApiOperationId":"createConverge","summary":"Create a converge action"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/drift_Converge_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/drift_Converge_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Converge action successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}},"schemaId":"schema_601"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1converge/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_601","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_converge/createconverge"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/converge"},{"label":"Get converge action","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_converge/getconverge","routeSlug":"/openapi/drift_converge/getconverge","metadata":{"seo":{"title":"Get converge action","description":"Retrieves the full detail of a single Converge action by its ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getConverge","name":"Get converge action","isWebhook":false,"pointer":"/paths/~1v2~1converge~1{id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get converge action","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the full detail of a single Converge action by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the blueprint and version targeted, the device it applies to, its current status, and the reason for that status."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Converge Action"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the detail view behind a single entry in the Converge list, useful for confirming exactly which blueprint_info a device was converged to and why a Converge action succeeded or failed. If a Converge action is marked FAILURE, check /v2/converge/{id}/commands to see which underlying command caused it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming which blueprint version a device was actually converged to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Investigating why a specific Converge action failed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check the reason field first when a Converge action shows FAILURE, then drill into its commands for the underlying cause"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference blueprint_info against the intended blueprint_version_id to catch cases where a device converged to an unexpected version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain the converge id from the Converge list or from creating a new Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint to review its status and blueprint_info"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If status is FAILURE, call /v2/converge/{id}/commands to see the commands fired and their outcomes"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the converge object","required":true}],"pointer":"/paths/~1v2~1converge~1{id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/converge/{id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v2/converge/{id}","href":"drift_converge/getconverge","openApiOperationId":"getConverge","summary":"Get converge action"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Converge information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}},"schemaId":"schema_601"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1converge~1{id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_601","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_601"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_converge/getconverge"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/converge/{id}"}],"content":{"contentType":"group","meta":{"name":"drift_Converge"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Converge","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to list and create converge actions for devices. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/24210344910865-Blueprint-Converge-and-Revert"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"converge"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/converge","summary":"List converge action","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/drift_converge/listconverges","deprecated":false},{"title":"/v2/converge","summary":"Create a converge action","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/drift_converge/createconverge","deprecated":false},{"title":"/v2/converge/{id}","summary":"Get converge action","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/drift_converge/getconverge","deprecated":false}]}]}]}]}},{"type":"group","label":"Converge Command","link":"/openapi/drift_converge-command","routeSlug":"/openapi/drift_converge-command","items":[{"label":"List commands fires for converge action","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_converge-command/listconvergecommands","routeSlug":"/openapi/drift_converge-command/listconvergecommands","metadata":{"seo":{"title":"List commands fires for converge action","description":"Retrieves the underlying commands that were fired to carry out a specific Converge action."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listConvergeCommands","name":"List commands fires for converge action","isWebhook":false,"pointer":"/paths/~1v2~1converge~1{id}~1commands/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List commands fires for converge action","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the underlying commands that were fired to carry out a specific Converge action."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A single Converge action can result in multiple individual commands being dispatched to a device (for example, installing apps and applying settings); this endpoint lists each of those commands along with its own state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Converge Commands"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Converge doesn't apply a blueprint to a device directly; it decomposes the blueprint's configuration into individual commands and dispatches them. This endpoint exposes that breakdown, which is the most direct way to identify exactly which underlying action caused a Converge action to fail."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"command_state — each result's current state, for example Command Failure or Command Success"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying which specific command caused a Converge action to fail, for example a failed app install versus a failed settings change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the full set of commands a Converge action generated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check each command's command_state and reason individually rather than relying on the Converge action's overall status alone, since one failed command among several is enough to fail the whole Converge action"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference command_request_id with GET /commands/v0/status/ if you need device-level command status detail beyond what's returned here"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identify a Converge action with a FAILURE status from the Converge list or detail endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint with that converge id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review each command's command_state to find the one that failed"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the converge object","required":true}],"pointer":"/paths/~1v2~1converge~1{id}~1commands/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"pointer":"/paths/~1v2~1converge~1{id}~1commands/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/converge/{id}/commands","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[{"name":"limit","in":"query","schemaId":"schema_551"},{"name":"offset","in":"query","schemaId":"schema_551"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v2/converge/{id}/commands","href":"drift_converge-command/listconvergecommands","openApiOperationId":"listConvergeCommands","summary":"List commands fires for converge action"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of commands fired for converge action for the tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_602"}},"schemaId":"schema_602"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1converge~1{id}~1commands/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_602","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_602"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_converge-command/listconvergecommands"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/converge/{id}/commands"}],"content":{"contentType":"group","meta":{"name":"drift_Converge Command"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Converge Command","showPageActions":true},{"nodeType":"markdoc","content":"API for converge command"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/converge/{id}/commands","summary":"List commands fires for converge action","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/drift_converge-command/listconvergecommands","deprecated":false}]}]}]}]}},{"type":"group","label":"Blueprint Drift","link":"/openapi/drift_blueprint-drift","routeSlug":"/openapi/drift_blueprint-drift","items":[{"label":"Fetch Blueprint Drift summary counts for a tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_blueprint-drift/getblueprintdriftsummary","routeSlug":"/openapi/drift_blueprint-drift/getblueprintdriftsummary","metadata":{"seo":{"title":"Fetch Blueprint Drift summary counts for a tenant","description":"Fetch Blueprint Drift summary counts for a tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBlueprintDriftSummary","name":"Fetch Blueprint Drift summary counts for a tenant","isWebhook":false,"pointer":"/paths/~1v2~1blueprint-drift~1summary/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch Blueprint Drift summary counts for a tenant","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetch Blueprint Drift summary counts for a tenant.\n\nReturns the number of devices grouped by their highest Blueprint Drift severity, giving a tenant-wide snapshot of how many devices are compliant, drifted, or in an unknown state.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Tenant-Id","in":"header","schemaId":"schema_323","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_323","required":true}],"pointer":"/paths/~1v2~1blueprint-drift~1summary/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprint-drift/summary","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Tenant-Id","in":"header","required":true,"schemaId":"schema_323"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/blueprint-drift/summary","href":"drift_blueprint-drift/getblueprintdriftsummary","openApiOperationId":"getBlueprintDriftSummary","summary":"Fetch Blueprint Drift summary counts for a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint Drift summary counts","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftSummaryResponse"}},"schemaId":"components/schemas/drift_BlueprintDriftSummaryResponse"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1blueprint-drift~1summary/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/drift_BlueprintDriftSummaryResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftSummaryResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_blueprint-drift/getblueprintdriftsummary"}],"panels":[]}]},"httpPath":"/v2/blueprint-drift/summary"},{"label":"Fetch Blueprint Drift status for devices","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_blueprint-drift/getblueprintdriftstatus","routeSlug":"/openapi/drift_blueprint-drift/getblueprintdriftstatus","metadata":{"seo":{"title":"Fetch Blueprint Drift status for devices","description":"Fetch Blueprint Drift status for a set of devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getBlueprintDriftStatus","name":"Fetch Blueprint Drift status for devices","isWebhook":false,"pointer":"/paths/~1v2~1blueprint-drift~1status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch Blueprint Drift status for devices","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetch Blueprint Drift status for a set of devices.\n\nReturns each requested device's current Blueprint Drift state (compliant, drifted, or unknown) in a single batched call, so you don't need to query devices one at a time.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"device_ids","in":"query","schemaId":"schema_603","description":"Comma-separated list of device UUIDs (max 100 ids). Devices not found return with state: unknown in the response.\n","required":true,"example":"550e8400-e29b-41d4-a716-446655440001,550e8400-e29b-41d4-a716-446655440002"}],"pointer":"/paths/~1v2~1blueprint-drift~1status/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Tenant-Id","in":"header","schemaId":"schema_323","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_323","required":true}],"pointer":"/paths/~1v2~1blueprint-drift~1status/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprint-drift/status","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"device_ids","in":"query","required":true,"example":"550e8400-e29b-41d4-a716-446655440001,550e8400-e29b-41d4-a716-446655440002","schemaId":"schema_603"}],"querystring":[],"header":[{"name":"X-Tenant-Id","in":"header","required":true,"schemaId":"schema_323"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v2/blueprint-drift/status","href":"drift_blueprint-drift/getblueprintdriftstatus","openApiOperationId":"getBlueprintDriftStatus","summary":"Fetch Blueprint Drift status for devices"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint Drift status result set","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftStatusResponse"}},"schemaId":"components/schemas/drift_BlueprintDriftStatusResponse"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1blueprint-drift~1status/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/drift_BlueprintDriftStatusResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftStatusResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_blueprint-drift/getblueprintdriftstatus"}],"panels":[]}]},"httpPath":"/v2/blueprint-drift/status"},{"label":"Fetch per-setting Blueprint Drift Audit for a device","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/drift_blueprint-drift/getdeviceblueprintdriftsettings","routeSlug":"/openapi/drift_blueprint-drift/getdeviceblueprintdriftsettings","metadata":{"seo":{"title":"Fetch per-setting Blueprint Drift Audit for a device","description":"Fetch per-setting Blueprint Drift Audit for a single device."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDeviceBlueprintDriftSettings","name":"Fetch per-setting Blueprint Drift Audit for a device","isWebhook":false,"pointer":"/paths/~1v2~1blueprint-drift~1{deviceId}~1status/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Fetch per-setting Blueprint Drift Audit for a device","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Fetch per-setting Blueprint Drift Audit for a single device.\n\nReturns a row for every setting evaluated against the device's assigned blueprint, so you can see exactly which configuration items are compliant and which have drifted.\n"},{"nodeType":"security","requirements":[{"schemes":[{"name":"drift_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"deviceId","in":"path","schemaId":"schema_322","description":"Device identifier","required":true}],"pointer":"/paths/~1v2~1blueprint-drift~1{deviceId}~1status/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Tenant-Id","in":"header","schemaId":"schema_323","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_323","required":true}],"pointer":"/paths/~1v2~1blueprint-drift~1{deviceId}~1status/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/blueprint-drift/{deviceId}/status","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"deviceId","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[{"name":"X-Tenant-Id","in":"header","required":true,"schemaId":"schema_323"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[{"schemes":[{"id":"drift_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","404","500"],"pointer":"/v2/blueprint-drift/{deviceId}/status","href":"drift_blueprint-drift/getdeviceblueprintdriftsettings","openApiOperationId":"getDeviceBlueprintDriftSettings","summary":"Fetch per-setting Blueprint Drift Audit for a device"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Per-setting Blueprint Drift details","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftDeviceSettingsResponse"}},"schemaId":"components/schemas/drift_BlueprintDriftDeviceSettingsResponse"},{"code":"400","description":"Bad request.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Device not found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1blueprint-drift~1{deviceId}~1status/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/drift_BlueprintDriftDeviceSettingsResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/drift_BlueprintDriftDeviceSettingsResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/drift_blueprint-drift/getdeviceblueprintdriftsettings"}],"panels":[]}]},"httpPath":"/v2/blueprint-drift/{deviceId}/status"}],"content":{"contentType":"group","meta":{"name":"drift_Blueprint Drift"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Blueprint Drift","showPageActions":true},{"nodeType":"markdoc","content":"APIs to fetch device Blueprint Drift status"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/blueprint-drift/summary","summary":"Fetch Blueprint Drift summary counts for a tenant","prefix":{"name":"get","color":"get"},"badges":[],"link":"/drift_blueprint-drift/getblueprintdriftsummary","deprecated":false},{"title":"/v2/blueprint-drift/status","summary":"Fetch Blueprint Drift status for devices","prefix":{"name":"get","color":"get"},"badges":[],"link":"/drift_blueprint-drift/getblueprintdriftstatus","deprecated":false},{"title":"/v2/blueprint-drift/{deviceId}/status","summary":"Fetch per-setting Blueprint Drift Audit for a device","prefix":{"name":"get","color":"get"},"badges":[],"link":"/drift_blueprint-drift/getdeviceblueprintdriftsettings","deprecated":false}]}]}]}]}},{"type":"separator","label":"DEVICE ONBOARDING","content":null},{"type":"group","label":"DEP Sync Request","link":"/openapi/device_onboarding_dep-sync-request","routeSlug":"/openapi/device_onboarding_dep-sync-request","items":[{"label":"List all DEP sync requests for the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_onboarding_dep-sync-request/listdepsyncrequest","routeSlug":"/openapi/device_onboarding_dep-sync-request/listdepsyncrequest","metadata":{"seo":{"title":"List all DEP sync requests for the tenant","description":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listDEPSyncRequest","name":"List all DEP sync requests for the tenant","isWebhook":false,"pointer":"/paths/~1onboarding~1v0~1depsyncs~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all DEP sync requests for the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of all DEP sync requests for the tenant, including each request's status and any device-level failure details."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List DEP Sync Requests"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apple's Device Enrollment Program (DEP), accessed through Apple Business Manager, assigns managed devices to an MDM server. A DEP sync request triggers Esper to pull the latest device assignments from Apple's DEP service, ensuring that newly enrolled or reassigned Apple devices are reflected in the tenant. Each DEPSyncRequestForGetResponse record includes the request's lifecycle status (QUEUED, INPROGRESS, COMPLETE, SUCCESS, or FAILURE), the user or service that created the request (created_by), and the timestamps for when the request was created and last updated. On failure, a failure_reason and a devices object may contain details about specific devices that failed to sync. Use POST /api/onboarding/v0/depsyncs/ to trigger a new sync, and GET /api/onboarding/v0/depsyncs/{id}/ to retrieve a specific request."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Response Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — DEP sync request UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — QUEUED, INPROGRESS, COMPLETE, SUCCESS, or FAILURE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"failure_reason — High-level reason for sync failure (present on FAILURE status)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices.failure — Array of {serial, reason} objects for devices that failed to process"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by — User who triggered the sync"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — Timestamps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing the history of DEP sync operations to confirm when devices were last successfully synced from Apple"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying which specific devices failed in a DEP sync and why"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing DEP sync activity for compliance or onboarding reporting"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"On FAILURE status, inspect both failure_reason for the overall cause and devices.failure for per-device detail — they may differ"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset for tenants with a long sync history"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_onboarding_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/onboarding/v0/depsyncs/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/onboarding/v0/depsyncs/","href":"device_onboarding_dep-sync-request/listdepsyncrequest","openApiOperationId":"listDEPSyncRequest","summary":"List all DEP sync requests for the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"DEP sync request list for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604"}},"schemaId":"schema_604"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1onboarding~1v0~1depsyncs~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_604","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_604"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_onboarding_dep-sync-request/listdepsyncrequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/onboarding/v0/depsyncs/"},{"label":"Create a DEP sync request","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_onboarding_dep-sync-request/createdepsyncrequest","routeSlug":"/openapi/device_onboarding_dep-sync-request/createdepsyncrequest","metadata":{"seo":{"title":"Create a DEP sync request","description":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createDEPSyncRequest","name":"Create a DEP sync request","isWebhook":false,"pointer":"/paths/~1onboarding~1v0~1depsyncs~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a DEP sync request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggers a new DEP sync request, instructing Esper to pull the latest device assignments from Apple's DEP service for the tenant."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create DEP Sync Request"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint initiates a DEP sync — the process by which Esper fetches the current set of Apple-assigned devices from Apple Business Manager and updates the tenant's device enrollment records accordingly. The request body is an empty JSON object; no parameters are required. The sync runs asynchronously: the 200 response returns a DEPSyncRequest record with a QUEUED or initial status, and the sync progresses through INPROGRESS to COMPLETE, SUCCESS, or FAILURE. Poll GET /api/onboarding/v0/depsyncs/{id}/ to track progress, or use GET /api/onboarding/v0/depsyncs/ to review status across all sync requests."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body — Empty JSON object ({})"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (response) — UUID of the newly created DEP sync request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status (response) — Initial status: QUEUED or INPROGRESS"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by / created_at — Audit fields"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Triggering a DEP sync after adding new devices to Apple Business Manager to make them available in Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Forcing a refresh of device enrollment assignments following an ABM organizational change"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Programmatically scheduling regular DEP syncs as part of a device onboarding pipeline"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Avoid triggering DEP syncs in rapid succession — syncs run asynchronously and queuing multiple requests simultaneously is unlikely to produce faster results"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After triggering, poll GET /api/onboarding/v0/depsyncs/{id}/ using the returned id to track the sync to completion before taking dependent actions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For GET responses with full failure detail (including per-device failure reasons), use GET /api/onboarding/v0/depsyncs/{id}/ — the POST response uses the lighter DEPSyncRequest schema without device-level failure data"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Trigger the sync with an empty JSON POST body"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll GET /api/onboarding/v0/depsyncs/{id}/ until status reaches SUCCESS, COMPLETE, or FAILURE"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_onboarding_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"schemaId":"components/schemas/pipelines_PipelineRun_POST","pointer":"/paths/~1onboarding~1v0~1depsyncs~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/onboarding/v0/depsyncs/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"responseCodes":["200","400","401","500"],"pointer":"/onboarding/v0/depsyncs/","href":"device_onboarding_dep-sync-request/createdepsyncrequest","openApiOperationId":"createDEPSyncRequest","summary":"Create a DEP sync request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"DEP sync request successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}},"schemaId":"schema_605"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1onboarding~1v0~1depsyncs~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_605","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_605"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_onboarding_dep-sync-request/createdepsyncrequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/onboarding/v0/depsyncs/"},{"label":"Get a DEP sync request","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_onboarding_dep-sync-request/getdepsyncrequest","routeSlug":"/openapi/device_onboarding_dep-sync-request/getdepsyncrequest","metadata":{"seo":{"title":"Get a DEP sync request","description":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDEPSyncRequest","name":"Get a DEP sync request","isWebhook":false,"pointer":"/paths/~1onboarding~1v0~1depsyncs~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get a DEP sync request","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only. DEP (Device Enrollment Program) is an Apple provisioning technology, now part of Apple Business Manager."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the current status and full detail of a specific DEP sync request by its UUID, including per-device failure information if the sync encountered errors."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get DEP Sync Request"},"children":[]}]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the detail and polling endpoint for a single DEP sync request. It returns a DEPSyncRequestForGetResponse — the richer schema compared to the POST response — which includes the failure_reason field and the devices.failure array listing individual device serials and their specific failure reasons when the sync status is FAILURE. Use this endpoint to determine when a sync has completed and to diagnose any device-level issues that occurred during the sync. The status field progresses from QUEUED through INPROGRESS to a terminal state: COMPLETE, SUCCESS, or FAILURE."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path) — DEP sync request UUID (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — QUEUED, INPROGRESS, COMPLETE, SUCCESS, or FAILURE"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"failure_reason — Overall failure description (present when status is FAILURE)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"devices.failure — Array of {serial, reason} objects for each device that failed to process (present when failure_reason is included)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_by — User who triggered the sync"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — Timestamps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Polling a DEP sync to completion after triggering it with POST /api/onboarding/v0/depsyncs/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving per-device failure detail when a sync reaches FAILURE status"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming the exact completion time of a sync for audit or pipeline sequencing purposes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll at a reasonable interval (e.g., every 30 seconds) — DEP syncs are Apple-dependent and duration varies with device count and Apple service response time"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When status is FAILURE, always check both failure_reason (overall) and devices.failure (per-device) — a sync may fail for an overall reason, for per-device reasons, or both"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use updated_at as the authoritative timestamp for when the sync reached its terminal state"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_onboarding_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the DEP sync request object","required":true}],"pointer":"/paths/~1onboarding~1v0~1depsyncs~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/onboarding/v0/depsyncs/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/onboarding/v0/depsyncs/{id}/","href":"device_onboarding_dep-sync-request/getdepsyncrequest","openApiOperationId":"getDEPSyncRequest","summary":"Get a DEP sync request"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"DEP sync request information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_606"}},"schemaId":"schema_606"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1onboarding~1v0~1depsyncs~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_606","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_606"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_onboarding_dep-sync-request/getdepsyncrequest"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/onboarding/v0/depsyncs/{id}/"}],"content":{"contentType":"group","meta":{"name":"device_onboarding_DEP Sync Request"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"DEP Sync Request","showPageActions":true},{"nodeType":"markdoc","content":"APIs to create and access DEP sync request information. Use DEP sync to sync the information from your Apple Business Manager account to the Esper console."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/onboarding/v0/depsyncs/","summary":"List all DEP sync requests for the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_onboarding_dep-sync-request/listdepsyncrequest","deprecated":false},{"title":"/onboarding/v0/depsyncs/","summary":"Create a DEP sync request","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_onboarding_dep-sync-request/createdepsyncrequest","deprecated":false},{"title":"/onboarding/v0/depsyncs/{id}/","summary":"Get a DEP sync request","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_onboarding_dep-sync-request/getdepsyncrequest","deprecated":false}]}]}]}]}},{"type":"group","label":"ABM Provisioning","link":"/openapi/device_onboarding_abm-provisioning","routeSlug":"/openapi/device_onboarding_abm-provisioning","items":[{"label":"Create a ABM provisioning request by uploading file","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_onboarding_abm-provisioning/paths/~1v2~1seamless~1upload/post","routeSlug":"/openapi/device_onboarding_abm-provisioning/paths/~1v2~1seamless~1upload/post","metadata":{"seo":{"title":"Create a ABM provisioning request by uploading file","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a ABM provisioning request by uploading file","isWebhook":false,"pointer":"/paths/~1v2~1seamless~1upload/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a ABM provisioning request by uploading file","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates one or more ABM provisioning requests by uploading a CSV file containing device identifiers, assigning devices to a blueprint and optionally a group."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create ABM Provisioning Request (CSV Upload)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Seamless provisioning (also referred to as ABM provisioning in Esper) pre-assigns newly enrolled Apple Business Manager devices to a blueprint and group before they reach end users, enabling hands-free setup. This endpoint accepts a multipart/form-data CSV upload (csv_file) containing the device identifiers to provision. On success, it returns a paginated list of SeamlessRequest records — one per device in the file — each including the assigned blueprint, group, and identifier metadata. For provisioning a single device by serial number without a CSV, use POST /api/v2/seamless."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"csv_file (body, required) — Binary CSV file containing device identifiers, one device per row: unique_ids, unique_id_type, group_id, assigned_blueprint_id, and two optional columns, alias (5th) and tags (6th)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (response) — SeamlessRequest UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assigned_blueprint_id (response) — Blueprint UUID assigned to the devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_id (response) — Group UUID assigned to the devices (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alias (response) — Alias assigned to the device from the CSV's optional 5th column (nullable); omitting or leaving this column blank never clears an existing device alias"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags (response) — Tag names assigned to the device from the CSV's optional 6th column (nullable); a single cell may contain multiple comma-separated tag names (quote the cell if it contains a comma); a maximum of 5 tags per device is supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unique_ids (response) — The device identifiers from the CSV"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"unique_id_type (response) — Integer type code identifying the identifier format used"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tenant_id (response) — Tenant UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bulk pre-assigning a shipment of Apple devices to a blueprint and deployment group before enrollment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Automating ABM provisioning for large device deployments using exported device lists"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting up hands-free enrollment workflows for iOS devices entering an ABM-managed fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validate CSV formatting before upload — a 400 response indicates invalid file format or contents"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For single-device provisioning or API-driven workflows without a file, use POST /api/v2/seamless with a JSON body instead"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Capture the returned SeamlessRequest records to confirm each device was registered with the correct blueprint and group assignments"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_onboarding_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_607"}},"schemaId":"schema_607","pointer":"/paths/~1v2~1seamless~1upload/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/seamless/upload","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_607"}},"responseCodes":["200","400","401","500"],"pointer":"/v2/seamless/upload","href":"device_onboarding_abm-provisioning/paths/~1v2~1seamless~1upload/post","summary":"Create a ABM provisioning request by uploading file"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_607","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_607"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"ABM provisioning request successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_608"}},"schemaId":"schema_608"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1seamless~1upload/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_608","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_608"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_onboarding_abm-provisioning/paths/~1v2~1seamless~1upload/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/seamless/upload"},{"label":"Create a ABM provisioning request using device serial number","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/device_onboarding_abm-provisioning/paths/~1v2~1seamless/post","routeSlug":"/openapi/device_onboarding_abm-provisioning/paths/~1v2~1seamless/post","metadata":{"seo":{"title":"Create a ABM provisioning request using device serial number","description":"⚠️ Apple devices only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a ABM provisioning request using device serial number","isWebhook":false,"pointer":"/paths/~1v2~1seamless/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a ABM provisioning request using device serial number","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ Apple devices only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates an ABM provisioning request for a single device using its serial number supplied in a JSON request body, pre-assigning it to a blueprint and optionally a group, alias, and tags."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create ABM Provisioning Request (Serial Number)"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is the JSON-body alternative to the CSV upload path for seamless ABM provisioning. It accepts a SeamlessRequestBody containing the assigned_blueprint_id, an optional group_id, an optional alias, an optional tags array, and a seamless_info object with unique_ids (a single device identifier) and unique_id_type. This endpoint provisions exactly one device per request; for bulk provisioning of multiple devices, use POST /api/v2/seamless/upload. On success it returns a single SeamlessRequest record. This is the preferred method for programmatic or API-driven provisioning workflows where a device identifier is available at runtime rather than in a pre-prepared file."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assigned_blueprint_id (body, required) — UUID of the blueprint to assign to the device"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_id (body, optional) — UUID of the group to assign the device to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alias (body, optional) — Human-readable alias to assign to the device; omitting this field never clears an existing device alias"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags (body, optional) — Array of tag names to assign to the device (maximum 5); tag names are resolved to (or created as) tags for the tenant asynchronously"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"seamless_info.unique_ids (body) — A single device identifier (e.g., a serial number)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"seamless_info.unique_id_type (body) — Integer type code identifying the identifier format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (response) — SeamlessRequest UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"assigned_blueprint_id (response) — Confirmed blueprint assignment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"group_id (response) — Confirmed group assignment (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"alias (response) — Confirmed alias assignment (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"tags (response) — Confirmed tag names assignment (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Programmatically pre-assigning a specific device to a blueprint as part of an automated provisioning pipeline"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registering a known device serial number for zero-touch enrollment without preparing a CSV file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Integrating ABM provisioning into a device lifecycle management workflow driven by an external system"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure assigned_blueprint_id references a published blueprint version — assigning an unpublished blueprint will result in a device that cannot complete hands-free enrollment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint accepts exactly one device identifier per request; a comma-separated or otherwise multi-value unique_ids is rejected with a 400 — use POST /api/v2/seamless/upload with a CSV to provision multiple devices in a single call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For large-scale bulk provisioning, POST /api/v2/seamless/upload with a CSV may be more practical"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"device_onboarding_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_onboarding_SeamlessRequestBody"}},"schemaId":"components/schemas/device_onboarding_SeamlessRequestBody","pointer":"/paths/~1v2~1seamless/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/seamless","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/device_onboarding_SeamlessRequestBody"}},"responseCodes":["200","400","401","500"],"pointer":"/v2/seamless","href":"device_onboarding_abm-provisioning/paths/~1v2~1seamless/post","summary":"Create a ABM provisioning request using device serial number"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/device_onboarding_SeamlessRequestBody","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/device_onboarding_SeamlessRequestBody"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Seamless request successfully created.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_609"}},"schemaId":"schema_609"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1seamless/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_609","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_609"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/device_onboarding_abm-provisioning/paths/~1v2~1seamless/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/seamless"}],"content":{"contentType":"group","meta":{"name":"device_onboarding_ABM Provisioning"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"ABM Provisioning","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to perform ABM provisioning. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"ABM provisioning"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/seamless/upload","summary":"Create a ABM provisioning request by uploading file","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_onboarding_abm-provisioning/paths/~1v2~1seamless~1upload/post","deprecated":false},{"title":"/v2/seamless","summary":"Create a ABM provisioning request using device serial number","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/device_onboarding_abm-provisioning/paths/~1v2~1seamless/post","deprecated":false}]}]}]}]}},{"type":"separator","label":"TENANT","content":null},{"type":"group","label":"APNs certificate","link":"/openapi/tenant_apns-certificate","routeSlug":"/openapi/tenant_apns-certificate","items":[{"label":"Get all APNs certificate meta data for the Tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_apns-certificate/listapnscerts","routeSlug":"/openapi/tenant_apns-certificate/listapnscerts","metadata":{"seo":{"title":"Get all APNs certificate meta data for the Tenant","description":"⚠️ iOS/iPadOS/tvOS only. APNs (Apple Push Notification service) certificates are required for Esper to communicate with and manage Apple devices."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"listAPNsCerts","name":"Get all APNs certificate meta data for the Tenant","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1apnscertificates~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all APNs certificate meta data for the Tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only. APNs (Apple Push Notification service) certificates are required for Esper to communicate with and manage Apple devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of APNs certificate records for the tenant, with optional filtering by state.Returns APNSCertInfo records containing each certificate's state, Apple ID, topic, creation timestamp, and expiry date. Default page size is 10."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List APNs Certificates"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APNs certificates enable the Esper MDM server to send push notifications to iOS and iPadOS managed devices — without a valid certificate, device management commands cannot be delivered. Each APNSCertInfo record represents a certificate in one of two states: CSR_GENERATED (the CSR has been generated via POST /api/tenant/v0/apnscertificates/ but the signed certificate has not yet been uploaded) or COMPLETED (the signed certificate has been uploaded via PUT /api/tenant/v0/apnscertificates/{id}/ and is active). The meta.cert_expiry_on field is critical for proactive certificate renewal — APNs certificates expire annually and must be renewed before expiry to avoid loss of device management capability.Key Query Parameters /"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state (query) — Filter by CSR_GENERATED or COMPLETED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — APNs certificate record UUID"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apple_id — Apple ID associated with the certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.topic — APNs topic string for the certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.cert_created_at — Timestamp when the certificate was created at Apple"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.cert_expiry_on — Certificate expiry datetime — monitor this for renewal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — CSR_GENERATED or COMPLETED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all APNs certificates in the tenant and their expiry dates for renewal planning"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying certificates stuck in CSR_GENERATED state that have not been completed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming which Apple ID is associated with each active certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor meta.cert_expiry_on proactively — APNs certificates expire annually and must be renewed before expiry to maintain uninterrupted iOS device management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state=CSR_GENERATED to identify in-progress certificate setups that have not been completed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renewing an APNs certificate must use the same Apple ID as the original; verify apple_id before beginning renewal"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_497","description":"Number of records to return"},{"name":"offset","in":"query","schemaId":"schema_329","description":"Number of records to skip"},{"name":"state","in":"query","schemaId":"schema_610"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/apnscertificates/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_497"},{"name":"offset","in":"query","schemaId":"schema_329"},{"name":"state","in":"query","schemaId":"schema_610"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/tenant/v0/apnscertificates/","href":"tenant_apns-certificate/listapnscerts","openApiOperationId":"listAPNsCerts","summary":"Get all APNs certificate meta data for the Tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"APNs certificate meta data list for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_611"}},"schemaId":"schema_611"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_611","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_611"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_apns-certificate/listapnscerts"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/apnscertificates/"},{"label":"Get the CSR file to upload to the apple identity console","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_apns-certificate/getapnscsr","routeSlug":"/openapi/tenant_apns-certificate/getapnscsr","metadata":{"seo":{"title":"Get the CSR file to upload to the apple identity console","description":"⚠️ iOS/iPadOS/tvOS only. This is step 1 of the APNs certificate setup workflow."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAPNsCSR","name":"Get the CSR file to upload to the apple identity console","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1apnscertificates~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get the CSR file to upload to the apple identity console","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only. This is step 1 of the APNs certificate setup workflow."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generates a CSR (Certificate Signing Request) file for the tenant's Esper server, returning it as a downloadable .plist binary for upload to Apple's identity portal."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Generate APNs CSR"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint initiates the APNs certificate setup process. The request body is an empty JSON object; no parameters are required. The response is not JSON — it returns a binary application/x-plist file (the CSR) that must be downloaded and uploaded to Apple's Push Certificates Portal to obtain a signed APNs certificate. The signed certificate is then uploaded back to Esper via PUT /api/tenant/v0/apnscertificates/{id}/ to complete the setup. Calling this endpoint also creates a new APNSCertInfo record in CSR_GENERATED state, retrievable by the returned id. Each call generates a new CSR and a new certificate record — do not call this multiple times for the same setup."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Full APNs Certificate Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Step 1: (This step) Esper API — POST /api/tenant/v0/apnscertificates/ → downloads the .plist CSR file"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Step 2: (Outside of the API workflow) Apple Portal (out-of-band) — log into Apple's Push Certificates Portal, upload the .plist CSR, and download the signed .pem certificate Apple returns"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Step 3: Esper API — PUT /api/tenant/v0/apnscertificates/{id}/ → upload the signed cert + Apple ID back to Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body — Empty JSON object ({})"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response — Binary application/x-plist CSR file (download and save; do not attempt to parse as JSON)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The corresponding APNSCertInfo record (with id and state=CSR_GENERATED) is created and retrievable via GET /api/tenant/v0/apnscertificates/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Starting the APNs certificate setup process for a new tenant or after certificate expiry"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a new CSR as part of the annual APNs certificate renewal workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Do not call this endpoint multiple times for the same setup — each call creates a new record and CSR, which can result in orphaned CSR_GENERATED records"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the same Apple ID throughout the workflow — the Apple ID used at the Apple portal must match what is submitted in the PUT step"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Treat the response as a file download; store the .plist before proceeding to the Apple portal"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"schemaId":"components/schemas/pipelines_PipelineRun_POST","pointer":"/paths/~1tenant~1v0~1apnscertificates~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tenant/v0/apnscertificates/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"responseCodes":["200","400","401","500"],"pointer":"/tenant/v0/apnscertificates/","href":"tenant_apns-certificate/getapnscsr","openApiOperationId":"getAPNsCSR","summary":"Get the CSR file to upload to the apple identity console"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Created","mediaType":"application/x-plist","mediaTypes":["application/x-plist"],"mediaTypeContent":{"application/x-plist":{"schemaId":"schema_612"}},"schemaId":"schema_612"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_612","mediaTypes":["application/x-plist"],"mediaTypeContent":{"application/x-plist":{"schemaId":"schema_612"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_apns-certificate/getapnscsr"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/apnscertificates/"},{"label":"Get APNs certificate meta information","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_apns-certificate/getapnscert","routeSlug":"/openapi/tenant_apns-certificate/getapnscert","metadata":{"seo":{"title":"Get APNs certificate meta information","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getAPNsCert","name":"Get APNs certificate meta information","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get APNs certificate meta information","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the metadata record for a specific APNs certificate by its UUID.Returns a single APNSCertInfo object with the certificate's state, associated Apple ID, APNs topic, creation and expiry timestamps, and audit fields."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get APNs Certificate"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Direct lookup for a single APNs certificate record, returning the same APNSCertInfo schema as the list endpoint. Use this endpoint to check the state and expiry of a specific certificate when its id is already known — for example, after generating a CSR to confirm the record was created, or to check meta.cert_expiry_on for renewal planning. A state of CSR_GENERATED indicates the setup workflow has been started but the signed certificate has not yet been uploaded; COMPLETED means the certificate is active."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path) — APNs certificate record UUID (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — CSR_GENERATED or COMPLETED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apple_id — Apple ID associated with the certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.topic — APNs topic string"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.cert_expiry_on — Certificate expiry datetime"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.cert_created_at — Certificate creation timestamp at Apple"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a new APNs certificate record was created after calling the CSR generation endpoint"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking the expiry date of a specific active certificate for renewal scheduling"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying the Apple ID and topic for a certificate before renewal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use meta.cert_expiry_on to schedule renewal — APNs certificates expire annually and must be renewed before expiry to maintain iOS device management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If state is CSR_GENERATED and no PUT has been performed, the certificate setup is incomplete — proceed with uploading the signed certificate via PUT /api/tenant/v0/apnscertificates/{id}/"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the APNs certificate meta object","required":true}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/apnscertificates/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/tenant/v0/apnscertificates/{id}/","href":"tenant_apns-certificate/getapnscert","openApiOperationId":"getAPNsCert","summary":"Get APNs certificate meta information"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"APNs certificate meta information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}},"schemaId":"schema_613"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_613","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_apns-certificate/getapnscert"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/apnscertificates/{id}/"},{"label":"Upload APNs certificate","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_apns-certificate/uploadapnscert","routeSlug":"/openapi/tenant_apns-certificate/uploadapnscert","metadata":{"seo":{"title":"Upload APNs certificate","description":"⚠️ iOS/iPadOS/tvOS only. This is step 3 of the APNs certificate setup workflow."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"uploadAPNsCert","name":"Upload APNs certificate","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload APNs certificate","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only. This is step 3 of the APNs certificate setup workflow."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads the signed APNs certificate obtained from Apple's Push Certificates Portal to Esper, completing the APNs setup for the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload APNs Certificate"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint completes the APNs certificate workflow by accepting the signed certificate file and the Apple ID used to sign it. The id path parameter refers to the APNSCertInfo record created when the CSR was generated via POST /api/tenant/v0/apnscertificates/. The request uses multipart/form-data with two required fields: file (the signed certificate binary) and apple_id (the Apple ID used at Apple's Push Certificates Portal). On success, the certificate record transitions from CSR_GENERATED to COMPLETED state and the tenant's iOS devices can receive push-delivered management commands. The apple_id submitted here must match the one used at Apple's portal — a mismatch will prevent successful activation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path) — APNs certificate record UUID from the CSR generation step (required)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"file (body, required) — Signed APNs certificate binary obtained from Apple's Push Certificates Portal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"apple_id (body, required) — Apple ID used to sign the certificate at Apple's portal"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Completing initial APNs certificate setup after uploading the CSR to Apple and downloading the signed certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Renewing an expiring APNs certificate by uploading the newly signed renewal certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure apple_id exactly matches the Apple ID used at Apple's Push Certificates Portal — mismatches will prevent activation and cannot be corrected without regenerating the CSR"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For annual renewal, use the same Apple ID as the original certificate — renewing with a different Apple ID creates a new certificate rather than renewing the existing one, which can disrupt existing device enrollments"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After upload, confirm the record's state has transitioned to COMPLETED using GET /api/tenant/v0/apnscertificates/{id}/ before relying on push delivery for device management"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generate CSR via POST /api/tenant/v0/apnscertificates/ → obtain id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload CSR to Apple Push Certificates Portal with the intended Apple ID → download signed certificate"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PUT signed certificate + Apple ID to this endpoint using the id from step 1"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the APNs certificate meta object","required":true}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/tenant_APNSCert_PUT"}},"schemaId":"components/schemas/tenant_APNSCert_PUT","pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/tenant/v0/apnscertificates/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"components/schemas/tenant_APNSCert_PUT"}},"responseCodes":["200","400","401","404","500"],"pointer":"/tenant/v0/apnscertificates/{id}/","href":"tenant_apns-certificate/uploadapnscert","openApiOperationId":"uploadAPNsCert","summary":"Upload APNs certificate"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_APNSCert_PUT","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"components/schemas/tenant_APNSCert_PUT"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Uploaded APNs certificate meta Information","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}},"schemaId":"schema_613"},{"code":"400","description":"APNs certificate update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"APNs certificate update error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_613","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_613"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_apns-certificate/uploadapnscert"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/apnscertificates/{id}/"},{"label":"Delete a APNs certificate","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_apns-certificate/deleteapnscert","routeSlug":"/openapi/tenant_apns-certificate/deleteapnscert","metadata":{"seo":{"title":"Delete a APNs certificate","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"deleteAPNsCert","name":"Delete a APNs certificate","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete a APNs certificate","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes an APNs certificate record from the Esper tenant by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once deleted, Esper can no longer send push notifications to iOS devices provisioned under that certificate; devices will lose MDM connectivity until a new certificate is uploaded and enrolled."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete APNs Certificate"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APNs (Apple Push Notification service) certificates are required for all iOS MDM communication between Esper and Apple-managed devices. Deleting a certificate invalidates the Esper-side record; however, the corresponding certificate entry in the Apple Push Certificates Portal is unaffected and must be managed separately. This operation is irreversible — if you need to re-establish iOS MDM for the tenant, you must create a new APNs certificate from scratch. Only tenants with iOS provisioning enabled will have APNs certificate records."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path, required) — The UUID of the APNs certificate meta object to delete, as returned by the list or create APNs certificate endpoints."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing a certificate tied to a deprecated Apple ID or service account before replacing it with a new one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up stale certificate records after migrating to a new Apple Push Certificates account"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning iOS management for a tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure all affected iOS devices have been unenrolled or migrated before deleting a certificate, as deletion immediately breaks MDM connectivity for those devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a dedicated service account Apple ID for APNs certificates so that ownership is not tied to an individual who may leave the organization."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before deleting, retrieve the certificate details via GET /api/tenant/v0/apnscertificates/{id}/ to confirm you have the correct record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List existing APNs certificates via GET /api/tenant/v0/apnscertificates/ to identify the correct certificate id."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unenroll or migrate all iOS devices relying on that certificate."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Send DELETE /api/tenant/v0/apnscertificates/{id}/ to remove the certificate record from Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload and enroll a new APNs certificate if continued iOS MDM management is required."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_323","description":"ID of the APNs certificate meta object","required":true}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/tenant/v0/apnscertificates/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","404","500"],"pointer":"/tenant/v0/apnscertificates/{id}/","href":"tenant_apns-certificate/deleteapnscert","openApiOperationId":"deleteAPNsCert","summary":"Delete a APNs certificate"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Deleted APNs certificate","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_614"}},"schemaId":"schema_614"},{"code":"401","description":"APNs certificate delete error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1apnscertificates~1{id}~1/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204","schemaId":"schema_614","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_614"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_apns-certificate/deleteapnscert"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/apnscertificates/{id}/"}],"content":{"contentType":"group","meta":{"name":"tenant_APNs certificate"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"APNs certificate","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs for managing APNS certificates. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APNS certificates"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/tenant/v0/apnscertificates/","summary":"Get all APNs certificate meta data for the Tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_apns-certificate/listapnscerts","deprecated":false},{"title":"/tenant/v0/apnscertificates/","summary":"Get the CSR file to upload to the apple identity console","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_apns-certificate/getapnscsr","deprecated":false},{"title":"/tenant/v0/apnscertificates/{id}/","summary":"Get APNs certificate meta information","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_apns-certificate/getapnscert","deprecated":false},{"title":"/tenant/v0/apnscertificates/{id}/","summary":"Upload APNs certificate","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_apns-certificate/uploadapnscert","deprecated":false},{"title":"/tenant/v0/apnscertificates/{id}/","summary":"Delete a APNs certificate","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_apns-certificate/deleteapnscert","deprecated":false}]}]}]}]}},{"type":"group","label":"DEP Profile","link":"/openapi/tenant_dep-profile","routeSlug":"/openapi/tenant_dep-profile","items":[{"label":"Get all DEP profiles for the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-profile/getdepprofilelist","routeSlug":"/openapi/tenant_dep-profile/getdepprofilelist","metadata":{"seo":{"title":"Get all DEP profiles for the tenant","description":"Returns all the DEP profile for the tenant"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDEPProfileList","name":"Get all DEP profiles for the tenant","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1depprofiles~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all DEP profiles for the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Returns all the DEP profile for the tenant"},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/depprofiles/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/tenant/v0/depprofiles/","href":"tenant_dep-profile/getdepprofilelist","openApiOperationId":"getDEPProfileList","summary":"Get all DEP profiles for the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"DEP profile information for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_615"}},"schemaId":"schema_615"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1depprofiles~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_615","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_615"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-profile/getdepprofilelist"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/depprofiles/"},{"label":"Create a DEP profile","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-profile/createdepprofile","routeSlug":"/openapi/tenant_dep-profile/createdepprofile","metadata":{"seo":{"title":"Create a DEP profile","description":"Creates a DEP profile"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createDEPProfile","name":"Create a DEP profile","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1depprofiles~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a DEP profile","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Creates a DEP profile"},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_DEPProfileCreateRequest"}},"schemaId":"components/schemas/tenant_DEPProfileCreateRequest","pointer":"/paths/~1tenant~1v0~1depprofiles~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tenant/v0/depprofiles/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/tenant_DEPProfileCreateRequest"}},"responseCodes":["200","400","401","500"],"pointer":"/tenant/v0/depprofiles/","href":"tenant_dep-profile/createdepprofile","openApiOperationId":"createDEPProfile","summary":"Create a DEP profile"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_DEPProfileCreateRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_DEPProfileCreateRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated the DEP profile for the tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}},"schemaId":"schema_616"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Authorization information is missing or invalid.","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1depprofiles~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_616","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_616"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-profile/createdepprofile"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/depprofiles/"}],"content":{"contentType":"group","meta":{"name":"tenant_DEP Profile"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"DEP Profile","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to create and manage DEP profiles. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DEP profiles"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/tenant/v0/depprofiles/","summary":"Get all DEP profiles for the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-profile/getdepprofilelist","deprecated":false},{"title":"/tenant/v0/depprofiles/","summary":"Create a DEP profile","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-profile/createdepprofile","deprecated":false}]}]}]}]}},{"type":"group","label":"DEP Tokens","link":"/openapi/tenant_dep-tokens","routeSlug":"/openapi/tenant_dep-tokens","items":[{"label":"Generate the public key file","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-tokens/deptoken","routeSlug":"/openapi/tenant_dep-tokens/deptoken","metadata":{"seo":{"title":"Generate the public key file","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DEPToken","name":"Generate the public key file","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1deptokens~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate the public key file","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generates and downloads the Esper public key file (.pem) required to register an MDM server entry and create a DEP token in Apple Business Manager."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is the first step in the DEP token setup workflow: the returned public key file must be uploaded to Apple Business Manager to generate the encrypted server token (.p7m) that is then uploaded back to Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Generate DEP Public Key"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device Enrollment Program (DEP) tokens allow Esper to communicate with Apple Business Manager (ABM) to automatically enroll DEP-provisioned iOS devices. The process begins with generating an Esper public key, which ABM uses to encrypt the server token it returns. This key exchange is required by Apple as a security measure in the MDM server registration flow. The response is a plain-text PEM file delivered as an attachment (Esper_Public_Key.pem), not a JSON object. The resulting DEP token record is created in state CSR_GENERATED until the server token is uploaded via PUT /api/tenant/v0/deptokens/{id}/.Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Request body is optional (DEP_Token_POST schema is an empty object)."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Response is a text/plain PEM-formatted public key file with Content-Disposition: attachment; filename=\"Esper_Public_Key.pem\"."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Initial DEP token setup for a new Esper tenant provisioning iOS devices through Apple Business"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Regenerating a public key when rotating DEP credentials"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Starting the renewal process for an expiring DEP token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload the public key to ABM promptly; do not share the file externally."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After uploading to ABM and downloading the resulting server token, proceed to PUT /api/tenant/v0/deptokens/{id}/ to complete the registration — use GET /api/tenant/v0/deptokens/ to retrieve the id of the newly created CSR_GENERATED record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use a consistent Apple Business account across all DEP token operations to avoid mismatch errors."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call POST /api/tenant/v0/deptokens/ to generate and download Esper_Public_Key.pem."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In Apple Business Manager, go to Devices > Management > Add device management service and upload the Esper public key."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Save the MDM server entry, then download the resulting server token (.p7m) via the ellipsis menu."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload the .p7m to Esper via PUT /api/tenant/v0/deptokens/{id}/ using the id of the CSR_GENERATED record."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":false,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"schemaId":"components/schemas/pipelines_PipelineRun_POST","pointer":"/paths/~1tenant~1v0~1deptokens~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tenant/v0/deptokens/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"responseCodes":["200","400","401","500"],"pointer":"/tenant/v0/deptokens/","href":"tenant_dep-tokens/deptoken","openApiOperationId":"DEPToken","summary":"Generate the public key file"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/pipelines_PipelineRun_POST","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/pipelines_PipelineRun_POST"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Public key generation for ABM","mediaType":"text/plain; charset=utf-8","mediaTypes":["text/plain; charset=utf-8"],"mediaTypeContent":{"text/plain; charset=utf-8":{"schemaId":"schema_617"}},"schemaId":"schema_617","headers":{"Content-Disposition":{"schema":{"type":"string","example":"attachment; filename=\"Esper_Public_Key.pem\""}}},"headerSchemaId":"schema_618"},{"code":"400","description":"Public key generation error - Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Public key generation error - Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Public key generation error - Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1deptokens~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_617","mediaTypes":["text/plain; charset=utf-8"],"mediaTypeContent":{"text/plain; charset=utf-8":{"schemaId":"schema_617"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-tokens/deptoken"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/deptokens/"},{"label":"Get all DEP tokens","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-tokens/listdeptokens","routeSlug":"/openapi/tenant_dep-tokens/listdeptokens","metadata":{"seo":{"title":"Get all DEP tokens","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"ListDEPTokens","name":"Get all DEP tokens","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1deptokens~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all DEP tokens","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of all DEP tokens registered to the Esper tenant, with optional filtering by token state."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit DEP token status across the tenant, identify tokens pending completion, and retrieve id values needed for upload or individual retrieval operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List DEP Tokens"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DEP tokens are credentials that authorize Esper to communicate with Apple Business Manager for automatic iOS device enrollment. Each token progresses through two states. CSR_GENERATED (the Esper public key has been generated but the ABM server token has not yet been uploaded) and COMPLETED (the full token exchange is done and the integration is active). A tenant may have multiple DEP tokens, each corresponding to a different ABM MDM server entry or Apple Business location."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state (query, optional) — Filter results by token state-- CSR_GENERATED or COMPLETED."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID of the DEP token record; used in GET /api/tenant/v0/deptokens/{id}/ and PUT /api/tenant/v0/deptokens/{id}/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token_name — Human-readable label assigned to the token during upload."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.token_expiry_on — Expiry date of the DEP token; tokens expire annually and must be renewed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing all DEP tokens to identify any CSR_GENERATED records that represent incomplete setup flows"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitoring token expiry dates ahead of the annual renewal window"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving token id values to pass to the individual token endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by state=CSR_GENERATED periodically to surface abandoned token setup flows that were started but never completed."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Track meta.token_expiry_on across all tokens; expired DEP tokens prevent automatic enrollment of new iOS devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned id values to fetch full details via GET /api/tenant/v0/deptokens/{id}/ before performing uploads or updates."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"state","in":"query","schemaId":"schema_610"}],"pointer":"/paths/~1tenant~1v0~1deptokens~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/deptokens/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"state","in":"query","schemaId":"schema_610"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/tenant/v0/deptokens/","href":"tenant_dep-tokens/listdeptokens","openApiOperationId":"ListDEPTokens","summary":"Get all DEP tokens"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Lists all dep tokens for a tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_619"}},"schemaId":"schema_619"},{"code":"401","description":"Get DEP tokens error - Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Get DEP tokens error - Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1deptokens~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_619","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_619"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-tokens/listdeptokens"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/deptokens/"},{"label":"Get dep token by id","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-tokens/deptokenbasedonid","routeSlug":"/openapi/tenant_dep-tokens/deptokenbasedonid","metadata":{"seo":{"title":"Get dep token by id","description":"Retrieves the details of a single DEP token by its UUID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DEPTokenBasedOnID","name":"Get dep token by id","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get dep token by id","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves the details of a single DEP token by its UUID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns metadata including the token name, current state, expiry date, and audit timestamps — useful for checking the status of a specific token before renewal or upload operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get DEP Token by ID"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DEP tokens in Esper go through a two-step setup: public key generation (CSR_GENERATED) followed by ABM server token upload (COMPLETED). This endpoint lets you inspect a specific token's full record without fetching the entire list, which is especially useful in tenants with multiple active DEP tokens. The state field confirms whether the token exchange with Apple Business Manager is complete and the integration is ready for device enrollment."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path, required, UUID) — The unique identifier of the DEP token record."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"state — Current token state: CSR_GENERATED or COMPLETED."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"token_name — The label assigned to the token during upload."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.token_expiry_on — Token expiry date; critical for renewal planning."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — Audit timestamps for when the token was created and last modified."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether a specific DEP token setup is complete before onboarding iOS devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving expiry information for a single token as part of a renewal workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming token state has transitioned to COMPLETED after uploading the ABM server token via PUT /api/tenant/v0/deptokens/{id}/"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint after completing the ABM server token upload to confirm the state has transitioned to COMPLETED before attempting to enroll devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use meta.token_expiry_on to set renewal reminders well in advance — expired DEP tokens block automatic device enrollment."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_620","description":"ID of the token object","required":true}],"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/deptokens/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_620"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/tenant/v0/deptokens/{id}/","href":"tenant_dep-tokens/deptokenbasedonid","openApiOperationId":"DEPTokenBasedOnID","summary":"Get dep token by id"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Get DEP token by id","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}},"schemaId":"schema_621"},{"code":"401","description":"Get DEP token by id error - Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Get DEP token by id error - Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_621","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-tokens/deptokenbasedonid"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/deptokens/{id}/"},{"label":"Upload dep token to a tenant","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_dep-tokens/deptokenupload","routeSlug":"/openapi/tenant_dep-tokens/deptokenupload","metadata":{"seo":{"title":"Upload dep token to a tenant","description":"Upload dep token for a public key for a tenant based on ID of DEP public key"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"DEPTokenUpload","name":"Upload dep token to a tenant","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Upload dep token to a tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"Upload dep token for a public key for a tenant based on ID of DEP public key"},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_620","description":"ID of the token object","required":true}],"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_622"}},"schemaId":"schema_622","pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/tenant/v0/deptokens/{id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_620"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_622"}},"responseCodes":["200","400","401","404","500"],"pointer":"/tenant/v0/deptokens/{id}/","href":"tenant_dep-tokens/deptokenupload","openApiOperationId":"DEPTokenUpload","summary":"Upload dep token to a tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_622","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_622"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Upload dep token for a public key by id","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}},"schemaId":"schema_621"},{"code":"400","description":"Upload DEP token by id error - Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Upload DEP token by id error - Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Upload DEP token by id error - Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1deptokens~1{id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_621","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_621"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_dep-tokens/deptokenupload"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/deptokens/{id}/"}],"content":{"contentType":"group","meta":{"name":"tenant_DEP Tokens"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"DEP Tokens","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to create and access DEP tokens. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"DEP tokens"},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/tenant/v0/deptokens/","summary":"Generate the public key file","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-tokens/deptoken","deprecated":false},{"title":"/tenant/v0/deptokens/","summary":"Get all DEP tokens","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-tokens/listdeptokens","deprecated":false},{"title":"/tenant/v0/deptokens/{id}/","summary":"Get dep token by id","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-tokens/deptokenbasedonid","deprecated":false},{"title":"/tenant/v0/deptokens/{id}/","summary":"Upload dep token to a tenant","prefix":{"name":"put","color":"put"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_dep-tokens/deptokenupload","deprecated":false}]}]}]}]}},{"type":"group","label":"VPP Token Management","link":"/openapi/tenant_vpp-token-management","routeSlug":"/openapi/tenant_vpp-token-management","items":[{"label":"Get all VPP tokens for the tenant","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/get","routeSlug":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/get","metadata":{"seo":{"title":"Get all VPP tokens for the tenant","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get all VPP tokens for the tenant","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1vpptokens~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get all VPP tokens for the tenant","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns all Volume Purchase Program (VPP) tokens registered to the Esper tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to audit which VPP tokens are currently on file, check their metadata and expiry status, and identify tokens that need renewal before they affect app distribution."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About List VPP Tokens"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP tokens enable Esper to distribute paid and free apps from the Apple App Store to managed iOS devices on behalf of an Apple Business organization. Each token is associated with a specific location in Apple Business, and Esper recommends tying one token to one location to avoid app installation conflicts. Tokens expire annually and must be renewed before expiry to maintain uninterrupted app management. The response includes pagination fields (count, next, previous) and an array of VPPToken objects."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id — UUID of the VPP token record in Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta — Object containing token metadata, including expiry information."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_at / updated_at — Timestamps for auditing when the token was uploaded or last modified."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving all VPP tokens to check expiry dates before the annual renewal window"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which Apple Business locations have active tokens registered in Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying a VPP token was successfully stored after upload"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor meta for expiry dates and renew tokens before they lapse; expired VPP tokens will block app installations and updates on enrolled iOS devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Associate each VPP token with a dedicated, Esper-specific Apple Business location to prevent conflicts with other MDM platforms."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If you manage multiple regions, use the VPP country selection feature in Apple MDM Management to configure up to five countries per token."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/tenant/v0/vpptokens/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/tenant/v0/vpptokens/","href":"tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/get","summary":"Get all VPP tokens for the tenant"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"VPP tokens for the Tenant","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}},"schemaId":"schema_623"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1vpptokens~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_623","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_623"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/vpptokens/"},{"label":"Store a VPP token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/post","routeSlug":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/post","metadata":{"seo":{"title":"Store a VPP token","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Store a VPP token","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1vpptokens~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Store a VPP token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Uploads a VPP token file to the Esper tenant to enable Apple App Store app distribution on managed iOS devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit the token as multipart/form-data; on success, Esper stores the token and returns the new VPPToken record with its assigned id for use in subsequent operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Upload VPP Token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A VPP (Volume Purchase Program) token is a .vpptoken file downloaded from an Apple Business location's Apps & Books settings. Uploading it to Esper grants the tenant the ability to assign and install App Store apps on enrolled iOS devices without requiring individual Apple IDs on each device. Esper recommends creating a dedicated Apple Business location specifically for your Esper MDM integration before downloading and uploading the token. If migrating from another MDM platform, the existing VPP token should be migrated to avoid losing app licenses."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filename (form field, binary) — The .vpptoken file downloaded from Apple Business."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Initial setup of iOS app management after configuring Apple MDM Management in Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Migrating a VPP token from a previous MDM platform to Esper"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Adding a second VPP token for a new Apple Business location or region"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Create and use a dedicated Apple Business location for Esper before downloading the VPP token to avoid conflicts with other MDM platforms sharing the same token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Download the token from the correct MDM server entry in Apple Business (it will match the location name)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"After upload, verify the token was stored correctly via GET /api/tenant/v0/vpptokens/ before assigning apps to devices."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In Apple Business, create a location dedicated to Esper MDM and navigate to Settings > Payments & Billing > Apps & Books."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Select the linked Esper MDM server and download the .vpptoken file."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST the file as multipart/form-data to /api/tenant/v0/vpptokens/."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the returned VPPToken record and note the id for future reference."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_624"}},"schemaId":"schema_624","pointer":"/paths/~1tenant~1v0~1vpptokens~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/tenant/v0/vpptokens/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"multipart/form-data":{"schemaId":"schema_624"}},"responseCodes":["201","400","401","500"],"pointer":"/tenant/v0/vpptokens/","href":"tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/post","summary":"Store a VPP token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_624","mediaTypes":["multipart/form-data"],"mediaTypeSchemas":{"multipart/form-data":{"schemaId":"schema_624"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Created","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_625"}},"schemaId":"schema_625"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1vpptokens~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_625","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_625"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/vpptokens/"},{"label":"Delete VPP Token","deprecated":false,"httpVerb":"delete","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1{id}/delete","routeSlug":"/openapi/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1{id}/delete","metadata":{"seo":{"title":"Delete VPP Token","description":"⚠️ iOS/iPadOS/tvOS only."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Delete VPP Token","isWebhook":false,"pointer":"/paths/~1tenant~1v0~1vpptokens~1{id}/delete","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Delete VPP Token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"⚠️ iOS/iPadOS/tvOS only."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deletes a VPP token from the Esper tenant by its ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once deleted, Esper can no longer distribute or manage Apple App Store apps associated with that token's Apple Business location; previously installed apps remain on devices but cannot be updated or reassigned through Esper."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Delete VPP Token"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP tokens link Esper to a specific Apple Business location for app license management. Removing a token from Esper does not revoke app licenses in Apple Business, but it ends Esper's ability to manage those licenses going forward. This action is appropriate when retiring an Apple Business location, replacing a token with a renewed one, or decommissioning iOS app management entirely. Use the id returned from GET /api/tenant/v0/vpptokens/ or POST /api/tenant/v0/vpptokens/ to identify the correct token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"id (path, required, integer) — The identifier of the VPP token record to delete."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Removing an expired token before uploading a renewed one"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cleaning up a stale token from a retired Apple Business location"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Decommissioning iOS app management for the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Before deleting, verify that no active iOS devices are relying on app licenses managed through this token."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Upload a replacement token via POST /api/tenant/v0/vpptokens/ immediately after deletion to minimize disruption to app management."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirm the correct token using GET /api/tenant/v0/vpptokens/ before deleting, especially in tenants with multiple VPP tokens."},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"tenant_apiKey","scopes":[],"type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"id","in":"path","schemaId":"schema_325","required":true}],"pointer":"/paths/~1tenant~1v0~1vpptokens~1{id}/delete/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"DELETE","path":"/tenant/v0/vpptokens/{id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"id","in":"path","required":true,"schemaId":"schema_325"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"tenant_apiKey","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["204","401","404","500"],"pointer":"/tenant/v0/vpptokens/{id}","href":"tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1{id}/delete","summary":"Delete VPP Token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"204","description":"Success","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_626"}},"schemaId":"schema_626"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Resource Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal Server Error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1tenant~1v0~1vpptokens~1{id}/delete/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"204","schemaId":"schema_626","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_626"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1{id}/delete"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/tenant/v0/vpptokens/{id}"}],"content":{"contentType":"group","meta":{"name":"tenant_VPP Token Management"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"VPP Token Management","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs to create, access, and delete VPP tokens. Learn more about "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/20361103311761-Setting-Up-Apple-MDM-Management"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"VPP tokens"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/tenant/v0/vpptokens/","summary":"Get all VPP tokens for the tenant","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/get","deprecated":false},{"title":"/tenant/v0/vpptokens/","summary":"Store a VPP token","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1/post","deprecated":false},{"title":"/tenant/v0/vpptokens/{id}","summary":"Delete VPP Token","prefix":{"name":"delete","color":"delete"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_vpp-token-management/paths/~1tenant~1v0~1vpptokens~1{id}/delete","deprecated":false}]}]}]}]}},{"type":"group","label":"Google Enterprise","link":"/openapi/tenant_google-enterprise","routeSlug":"/openapi/tenant_google-enterprise","items":[{"label":"Generate sign-up URL","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1begin~1/post","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1begin~1/post","metadata":{"seo":{"title":"Generate sign-up URL","description":"Generate sign-up URL"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Generate sign-up URL","isWebhook":false,"pointer":"/paths/~1v2~1emm~1enrollment~1begin~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Generate sign-up URL","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1enrollment~1begin~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest"}},"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest","pointer":"/paths/~1v2~1emm~1enrollment~1begin~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/emm/enrollment/begin/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest"}},"responseCodes":["201","400","401","409","500"],"pointer":"/v2/emm/enrollment/begin/","href":"tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1begin~1/post","summary":"Generate sign-up URL"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successfully generated sign-up URL","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse"}},"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"409","description":"Conflict: Google Enterprise already exists and is enrolled to Google EMM","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1enrollment~1begin~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1begin~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/enrollment/begin/"},{"label":"Return the enrollment status of the Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1details~1/get","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1details~1/get","metadata":{"seo":{"title":"Return the enrollment status of the Enterprise","description":"Return the enrollment status of the Enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Return the enrollment status of the Enterprise","isWebhook":false,"pointer":"/paths/~1v2~1emm~1details~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Return the enrollment status of the Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1details~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/emm/details/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"responseCodes":["200","400","401","500"],"pointer":"/v2/emm/details/","href":"tenant_google-enterprise/paths/~1v2~1emm~1details~1/get","summary":"Return the enrollment status of the Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully retrieved enrollment status","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_627"}},"schemaId":"schema_627"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1details~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_627","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_627"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1details~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/details/"},{"label":"Creates a new Google Enterprise with the provided details","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1details~1/post","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1details~1/post","metadata":{"seo":{"title":"Creates a new Google Enterprise with the provided details","description":"Creates a new Google Enterprise with the provided details"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Creates a new Google Enterprise with the provided details","isWebhook":false,"pointer":"/paths/~1v2~1emm~1details~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Creates a new Google Enterprise with the provided details","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1details~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}},"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails","pointer":"/paths/~1v2~1emm~1details~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/emm/details/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}},"responseCodes":["201","400","401","409","500"],"pointer":"/v2/emm/details/","href":"tenant_google-enterprise/paths/~1v2~1emm~1details~1/post","summary":"Creates a new Google Enterprise with the provided details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}},"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"409","description":"Conflict: Google Enterprise already exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1details~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/tenant_GoogleEnterpriseDetails","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1details~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/details/"},{"label":"Create a Google Web Token","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1web-token~1/post","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1web-token~1/post","metadata":{"seo":{"title":"Create a Google Web Token","description":"Create a Google Web Token"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Create a Google Web Token","isWebhook":false,"pointer":"/paths/~1v2~1emm~1web-token~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a Google Web Token","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1web-token~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_CreateWebTokenRequest"}},"schemaId":"components/schemas/tenant_CreateWebTokenRequest","pointer":"/paths/~1v2~1emm~1web-token~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/emm/web-token/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/tenant_CreateWebTokenRequest"}},"responseCodes":["200","400","401","500"],"pointer":"/v2/emm/web-token/","href":"tenant_google-enterprise/paths/~1v2~1emm~1web-token~1/post","summary":"Create a Google Web Token"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_CreateWebTokenRequest","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_CreateWebTokenRequest"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_CreateWebTokenResponse"}},"schemaId":"components/schemas/tenant_CreateWebTokenResponse"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1web-token~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/tenant_CreateWebTokenResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_CreateWebTokenResponse"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1web-token~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/web-token/"},{"label":"Complete EMM enrollment for a Google Enterprise","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1complete~1/post","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1complete~1/post","metadata":{"seo":{"title":"Complete EMM enrollment for a Google Enterprise","description":"Complete EMM enrollment for a Google Enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Complete EMM enrollment for a Google Enterprise","isWebhook":false,"pointer":"/paths/~1v2~1emm~1enrollment~1complete~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Complete EMM enrollment for a Google Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1enrollment~1complete~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_628"}},"schemaId":"schema_628","pointer":"/paths/~1v2~1emm~1enrollment~1complete~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/emm/enrollment/complete/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"schema_628"}},"responseCodes":["200","400","401","404","500"],"pointer":"/v2/emm/enrollment/complete/","href":"tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1complete~1/post","summary":"Complete EMM enrollment for a Google Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"schema_628","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"schema_628"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully completed EMM enrollment","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}},"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Not Found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1enrollment~1complete~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/tenant_GoogleEnterpriseDetails","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleEnterpriseDetails"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1complete~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/enrollment/complete/"},{"label":"Return the Google Service Account of the Enterprise","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/get","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/get","metadata":{"seo":{"title":"Return the Google Service Account of the Enterprise","description":"Return the Google Service Account of the Enterprise"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Return the Google Service Account of the Enterprise","isWebhook":false,"pointer":"/paths/~1v2~1emm~1accounts~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Return the Google Service Account of the Enterprise","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1accounts~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/emm/accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"responseCodes":["200","400","401","500"],"pointer":"/v2/emm/accounts/","href":"tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/get","summary":"Return the Google Service Account of the Enterprise"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Successfully retrieved Google Service Account","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_629"}},"schemaId":"schema_629"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1accounts~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_629","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_629"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/get"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/accounts/"},{"label":"Creates a new Google Service Account with the provided details","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/post","routeSlug":"/openapi/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/post","metadata":{"seo":{"title":"Creates a new Google Service Account with the provided details","description":"Creates a new Google Service Account with the provided details"}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Creates a new Google Service Account with the provided details","isWebhook":false,"pointer":"/paths/~1v2~1emm~1accounts~1/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Creates a new Google Service Account with the provided details","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"Authorization","in":"header","schemaId":"schema_323","description":"Bearer token for authorization","required":true}],"pointer":"/paths/~1v2~1emm~1accounts~1/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"}},"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails","pointer":"/paths/~1v2~1emm~1accounts~1/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/v2/emm/accounts/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"Authorization","in":"header","required":true,"schemaId":"schema_323"}],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"}},"responseCodes":["201","400","401","409","500"],"pointer":"/v2/emm/accounts/","href":"tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/post","summary":"Creates a new Google Service Account with the provided details"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Successful Response","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"}},"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"409","description":"Conflict: Google Service Account already exists","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}},"schemaId":"components/schemas/device_Error_409_Conflict"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v2~1emm~1accounts~1/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"components/schemas/tenant_GoogleServiceAccountDetails","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/tenant_GoogleServiceAccountDetails"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"409","schemaId":"components/schemas/device_Error_409_Conflict","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_409_Conflict"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/post"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/emm/accounts/"}],"content":{"contentType":"group","meta":{"name":"tenant_Google Enterprise"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Google Enterprise","showPageActions":true},{"nodeType":"markdoc","content":"APIs to enroll the enterprise in Google EMM."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/emm/enrollment/begin/","summary":"Generate sign-up URL","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1begin~1/post","deprecated":false},{"title":"/v2/emm/details/","summary":"Return the enrollment status of the Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1details~1/get","deprecated":false},{"title":"/v2/emm/details/","summary":"Creates a new Google Enterprise with the provided details","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1details~1/post","deprecated":false},{"title":"/v2/emm/web-token/","summary":"Create a Google Web Token","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1web-token~1/post","deprecated":false},{"title":"/v2/emm/enrollment/complete/","summary":"Complete EMM enrollment for a Google Enterprise","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1enrollment~1complete~1/post","deprecated":false},{"title":"/v2/emm/accounts/","summary":"Return the Google Service Account of the Enterprise","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/get","deprecated":false},{"title":"/v2/emm/accounts/","summary":"Creates a new Google Service Account with the provided details","prefix":{"name":"post","color":"post"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_google-enterprise/paths/~1v2~1emm~1accounts~1/post","deprecated":false}]}]}]}]}},{"type":"group","label":"MDM Service Config","link":"/openapi/tenant_mdm-service-config","routeSlug":"/openapi/tenant_mdm-service-config","items":[{"label":"Get MDM service configuration","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_mdm-service-config/getmdmserviceconfig","routeSlug":"/openapi/tenant_mdm-service-config/getmdmserviceconfig","metadata":{"seo":{"title":"Get MDM service configuration","description":"Returns Esper's MDM service configuration for Apple device discovery."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getMDMServiceConfig","name":"Get MDM service configuration","isWebhook":false,"pointer":"/paths/~1v2~1mdmserviceconfig/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get MDM service configuration","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns Esper's MDM service configuration for Apple device discovery."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This is an unauthenticated discovery endpoint implemented per Apple's MDMServiceConfig specification; it returns the URL a device uses to begin Automated Device Enrollment (ADE)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About MDM Service Config"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Apple devices use this well-known, unauthenticated endpoint during Automated Device Enrollment to discover which MDM server (Esper, in this case) to enroll with, per Apple's published device management service spec. Because it's a discovery step that happens before a device has any credentials, it intentionally requires no authentication."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supporting Apple's Automated Device Enrollment (ADE) flow so devices can discover Esper's MDM enrollment URL"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying Esper's MDM discovery response matches Apple's expected MDMServiceConfig format during ADE setup or troubleshooting"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthenticated discovery endpoint per Apple's "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://developer.apple.com/documentation/devicemanagement/providing-information-about-your-device-management-service"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MDMServiceConfig"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" spec."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the URL a device uses to begin Automated Device Enrollment."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/mdmserviceconfig","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400"],"pointer":"/v2/mdmserviceconfig","href":"tenant_mdm-service-config/getmdmserviceconfig","openApiOperationId":"getMDMServiceConfig","summary":"Get MDM service configuration"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"MDM service configuration","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}},"schemaId":"schema_630"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}],"pointer":"/paths/~1v2~1mdmserviceconfig/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_630","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_630"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_mdm-service-config/getmdmserviceconfig"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/mdmserviceconfig"},{"label":"Get DEP anchor certificates","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/tenant_mdm-service-config/getdepanchorcerts","routeSlug":"/openapi/tenant_mdm-service-config/getdepanchorcerts","metadata":{"seo":{"title":"Get DEP anchor certificates","description":"Returns the anchor certificates Esper's MDM service configuration points to for DEP (Device Enrollment Program) enrollment. This is an unauthenticated endpoint, referenced by the dep_anchor_certs_url value in MDM service config — it is not meant to be called directly for day-to-day integration work."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getDepAnchorCerts","name":"Get DEP anchor certificates","isWebhook":false,"pointer":"/paths/~1v2~1mdmserviceconfig~1anchor-certs/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get DEP anchor certificates","badges":[{"name":"Stable","color":"green"}],"isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the anchor certificates Esper's MDM service configuration points to for DEP (Device Enrollment Program) enrollment. This is an unauthenticated endpoint, referenced by the dep_anchor_certs_url value in MDM service config — it is not meant to be called directly for day-to-day integration work."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About MDM Service Config"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MDM service config supplies the URLs and metadata Apple's DEP enrollment flow needs to trust and reach Esper's MDM service, including this anchor-certs URL. Esper currently uses a trusted, publicly-signed SSL certificate rather than a custom anchor certificate, so this endpoint always returns an empty body — there is no custom anchor cert to retrieve yet."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Resolved automatically as part of the DEP enrollment/MDM service config handshake, rather than called directly by integrators."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Unauthenticated endpoint referenced by dep_anchor_certs_url. We use a"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"trusted SSL certificate and don't support custom anchor certs yet, so"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"this always returns an empty body."},"children":[]}]}]}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v2/mdmserviceconfig/anchor-certs","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"responseCodes":["200","400"],"pointer":"/v2/mdmserviceconfig/anchor-certs","href":"tenant_mdm-service-config/getdepanchorcerts","openApiOperationId":"getDepAnchorCerts","summary":"Get DEP anchor certificates"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Empty body (no custom anchor certificates configured)"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}],"pointer":"/paths/~1v2~1mdmserviceconfig~1anchor-certs/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200"},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/tenant_mdm-service-config/getdepanchorcerts"}],"panels":[]}]},"badges":[{"name":"Stable","color":"green"}],"httpPath":"/v2/mdmserviceconfig/anchor-certs"}],"content":{"contentType":"group","meta":{"name":"tenant_MDM Service Config"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"MDM Service Config","showPageActions":true},{"nodeType":"markdoc","content":"Unauthenticated discovery endpoint for Apple's MDMServiceConfig spec."}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v2/mdmserviceconfig","summary":"Get MDM service configuration","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_mdm-service-config/getmdmserviceconfig","deprecated":false},{"title":"/v2/mdmserviceconfig/anchor-certs","summary":"Get DEP anchor certificates","prefix":{"name":"get","color":"get"},"badges":[{"name":"Stable","color":"green"}],"link":"/tenant_mdm-service-config/getdepanchorcerts","deprecated":false}]}]}]}]}},{"type":"separator","label":"FOUNDATION","content":null},{"type":"group","label":"FoundryBuilds","link":"/openapi/foundation_foundrybuilds","routeSlug":"/openapi/foundation_foundrybuilds","items":[{"label":"Get Foundry builds","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundrybuilds/getfoundrybuilds","routeSlug":"/openapi/foundation_foundrybuilds/getfoundrybuilds","metadata":{"seo":{"title":"Get Foundry builds","description":"Returns a deduplicated list of all Esper Foundation OS version strings currently present across enrolled devices in the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getFoundryBuilds","name":"Get Foundry builds","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1builds~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Foundry builds","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a deduplicated list of all Esper Foundation OS version strings currently present across enrolled devices in the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to inventory which Foundation OS versions are deployed across your fleet — useful for identifying version spread, spotting devices running outdated builds, and scoping update operations."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get All Distinct Foundation Versions"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper Foundation is a customized Android-based operating system for x86 and ARM devices, providing long-term support, regular security patches, and broad hardware compatibility. Foundation version strings follow the format [Android version].[Major Foundation version].[Minor Foundation version].[Build version] — for example, 7.10.21.02 indicates Android 7, Major Foundation version 10, Minor version 21, build 02. This endpoint returns each distinct version once regardless of how many devices share it, giving a fleet-wide view of OS version distribution. It requires the read:foundationversions scope."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — Partial string match (case-insensitive) to filter returned version strings"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — Number of results per page; defaults to 10"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — Starting index for pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"foundation_version — The version string returned per result, in [Android].[Major].[Minor].[Build] format"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing Foundation OS version spread across a fleet before planning an update campaign"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying whether devices running builds below a minimum supported version are present in the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-referencing deployed versions against the latest approved builds visible in Esper Software Updates for Foundation"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use search to quickly check whether a specific Foundation version is present rather than paginating the full list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Combine results with device list endpoints filtered by Foundation version to enumerate specific devices on a given OS version"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this before scheduling OTA operations to establish a version distribution baseline"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /api/v2/foundationversions to retrieve all distinct Foundation OS versions present in the tenant"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Compare results against the latest approved build in Esper Software Updates for Foundation to identify outdated versions"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use device list endpoints filtered by Foundation version to target devices on older builds for update via Pipeline, auto-update, or API-based FOTA"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"foundation_major_number","in":"query","schemaId":"schema_323","description":"Filter by Esper Foundation Major Number, Foundation Numbers are integers starting at 1."},{"name":"build_arch","in":"query","schemaId":"schema_323","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by build architecture name, build architectures {arm, arm64, x86_64, x86}"},"children":[]}]}]}]},{"name":"android_major_version","in":"query","schemaId":"schema_325","description":"Filter by Android Major Version, Android Major Versions are integers starting at 1 and going to Current Android Release"},{"name":"device_model_id","in":"query","schemaId":"schema_322","description":"Device model id"},{"name":"approved","in":"query","schemaId":"schema_324","description":"Filter builds which have been approved for OTA update"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"locked","in":"query","schemaId":"schema_324","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter the locked builds. To be used with build_fingerprint_hash and device_model_id"},"children":[]}]}]}]},{"name":"build_fingerprint_hash","in":"query","schemaId":"schema_323","description":"hash of the build fingerprint of the existing build"}],"pointer":"/paths/~1v1~1foundry~1builds~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/foundry/builds/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"foundation_major_number","in":"query","schemaId":"schema_323"},{"name":"build_arch","in":"query","schemaId":"schema_323"},{"name":"android_major_version","in":"query","schemaId":"schema_325"},{"name":"device_model_id","in":"query","schemaId":"schema_322"},{"name":"approved","in":"query","schemaId":"schema_324"},{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"},{"name":"ordering","in":"query","schemaId":"schema_323"},{"name":"locked","in":"query","schemaId":"schema_324"},{"name":"build_fingerprint_hash","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v1/foundry/builds/","href":"foundation_foundrybuilds/getfoundrybuilds","openApiOperationId":"getFoundryBuilds","summary":"Get Foundry builds"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of Foundry builds","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}},"schemaId":"schema_631"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v1~1foundry~1builds~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_631","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_631"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundrybuilds/getfoundrybuilds"}],"panels":[]}]},"httpPath":"/v1/foundry/builds/"},{"label":"Get Foundry Build","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundrybuilds/paths/~1v1~1foundry~1builds~1{build_id}~1/get","routeSlug":"/openapi/foundation_foundrybuilds/paths/~1v1~1foundry~1builds~1{build_id}~1/get","metadata":{"seo":{"title":"Get Foundry Build","description":"Returns a paginated list of Foundation OS builds registered in the Foundry system, with filters for architecture, Android version, device model, approval status, and more."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get Foundry Build","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Foundry Build","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Foundation OS builds registered in the Foundry system, with filters for architecture, Android version, device model, approval status, and more."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to browse available Foundation builds for a specific device model — for example, to find all approved builds before initiating a Pipeline deployment or configuring auto-update."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Foundry Builds"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Foundry is Esper's build management backend for Foundation OS. Each Foundry build represents a compiled OS image tied to a specific device model, CPU architecture, and Foundation version. Builds go through a lifecycle — released, to_be_deprecated, or unavailable — and must be explicitly approved before they can be used for OTA deployment or auto-update. The Console surfaces these builds in the Esper Software Updates > Esper Foundation tab; this endpoint provides the same catalog programmatically."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"foundation_major_number — Filter by Foundation major version number (integer starting at 1)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_arch — Filter by CPU architecture: arm, arm64, x86, or x86_64"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"android_major_version — Filter by Android major version (integer)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_model_id — Filter builds for a specific device model (UUID)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approved — When true, returns only builds approved for OTA deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"locked — Filter for builds currently locked to a device model; use with build_fingerprint_hash and device_model_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_fingerprint_hash — Hash of an existing build's fingerprint, used to identify a currently installed build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_state — Lifecycle status: released, to_be_deprecated, or unavailable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listing all approved Foundation builds for a device model before scheduling a Pipeline deployment or enabling auto-update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing available builds by architecture and Android version across supported hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifying builds approaching deprecation (to_be_deprecated) to plan timely update campaigns"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always filter by approved=true when looking for builds eligible for deployment — unapproved builds cannot be used for OTA or auto-update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter by device_model_id to scope results to your target hardware, since builds are model-specific"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor build_state values and proactively migrate devices off to_be_deprecated builds before they become unavailable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/foundry/builds/ with device_model_id and approved=true to list eligible builds for your target hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review build_arch, foundation_major_number, and android_major_version to identify the desired build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use the returned build_id to approve the build (PUT /v1/foundry/builds/{build_id}/) or lock it for auto-update (PUT /v1/foundry/device-models/{device_model_id}/)"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"build_id","in":"path","schemaId":"schema_323","description":"A build UUID specifying the Foundry Build","required":true}],"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/foundry/builds/{build_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"build_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","401","404","500"],"pointer":"/v1/foundry/builds/{build_id}/","href":"foundation_foundrybuilds/paths/~1v1~1foundry~1builds~1{build_id}~1/get","summary":"Get Foundry Build"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Specified Foundry build","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_632"}},"schemaId":"schema_632"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Build not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_632","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_632"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundrybuilds/paths/~1v1~1foundry~1builds~1{build_id}~1/get"}],"panels":[]}]},"httpPath":"/v1/foundry/builds/{build_id}/"},{"label":"Update Foundry build","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundrybuilds/updatefoundrybuild","routeSlug":"/openapi/foundation_foundrybuilds/updatefoundrybuild","metadata":{"seo":{"title":"Update Foundry build","description":"Retrieves full details for a single Foundation OS build by its unique Foundry build ID."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"updateFoundryBuild","name":"Update Foundry build","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Foundry build","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves full details for a single Foundation OS build by its unique Foundry build ID."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to inspect a specific build's metadata — including its architecture, Foundation version numbers, Android SDK level, approval status, and lifecycle state — before approving it or locking it to a device model for auto-update."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Foundry Build"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Foundry builds are the individual compiled OS images that make up the Foundation update catalog. Each build is identified by a UUID (build_id) and carries detailed metadata about the OS it contains: Foundation major/minor/build version numbers, Android version, CPU architecture, build hash, and whether it has been approved for OTA deployment. This endpoint returns the full Build_V1 object for a single build, providing the complete picture needed for approval or deployment decisions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_id (path, required) — UUID of the Foundry build to retrieve"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"foundation_major_number / foundation_minor_number / foundation_build_number — Foundation version components of the build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"android_major_version / android_sdk_level — Android version metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_arch — CPU architecture (arm, arm64, x86, x86_64)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"approved — Whether the build has been approved for OTA deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"build_state — Lifecycle status: released, to_be_deprecated, or unavailable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"deprecated_on — Date the build was or will be deprecated"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"release_notes — JSON-formatted release notes for the build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Confirming a build's approval status and lifecycle state before using its build_id in a device model auto-update configuration"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Reviewing release notes and version metadata for a specific build ahead of a planned deployment"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving build details to display in internal tooling or audit records"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Always check approved and build_state before proceeding with deployment — only approved: true builds in released state are safe to deploy"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the build_fingerprint_hash if you need to identify this build later via the list endpoint's locked filter"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review deprecated_on to understand the support window remaining for this build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtain a build_id from GET /v1/foundry/builds/ filtered by device model and architecture"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/foundry/builds/{build_id}/ to confirm approval status, version details, and release notes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Proceed to PUT /v1/foundry/builds/{build_id}/ to approve the build, or PUT /v1/foundry/device-models/{device_model_id}/ to lock it for auto-update"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"build_id","in":"path","schemaId":"schema_323","description":"A build UUID specifying the Foundry Build","required":true}],"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/foundation_Foundry_Build_PUT_Request_V1"}},"schemaId":"components/schemas/foundation_Foundry_Build_PUT_Request_V1","pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/foundry/builds/{build_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"build_id","in":"path","required":true,"schemaId":"schema_323"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/foundation_Foundry_Build_PUT_Request_V1"}},"responseCodes":["200","400","401","404"],"pointer":"/v1/foundry/builds/{build_id}/","href":"foundation_foundrybuilds/updatefoundrybuild","openApiOperationId":"updateFoundryBuild","summary":"Update Foundry build"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/foundation_Foundry_Build_PUT_Request_V1","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/foundation_Foundry_Build_PUT_Request_V1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_633"}},"schemaId":"schema_633"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"404","description":"Builds not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"}],"pointer":"/paths/~1v1~1foundry~1builds~1{build_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_633","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_633"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundrybuilds/updatefoundrybuild"}],"panels":[]}]},"httpPath":"/v1/foundry/builds/{build_id}/"}],"content":{"contentType":"group","meta":{"name":"foundation_FoundryBuilds"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"FoundryBuilds","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/foundry/builds/","summary":"Get Foundry builds","prefix":{"name":"get","color":"get"},"badges":[],"link":"/foundation_foundrybuilds/getfoundrybuilds","deprecated":false},{"title":"/v1/foundry/builds/{build_id}/","summary":"Get Foundry Build","prefix":{"name":"get","color":"get"},"badges":[],"link":"/foundation_foundrybuilds/paths/~1v1~1foundry~1builds~1{build_id}~1/get","deprecated":false},{"title":"/v1/foundry/builds/{build_id}/","summary":"Update Foundry build","prefix":{"name":"put","color":"put"},"badges":[],"link":"/foundation_foundrybuilds/updatefoundrybuild","deprecated":false}]}]}]}]}},{"type":"group","label":"FoundryDeviceModels","link":"/openapi/foundation_foundrydevicemodels","routeSlug":"/openapi/foundation_foundrydevicemodels","items":[{"label":"Get device models","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1/get","routeSlug":"/openapi/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1/get","metadata":{"seo":{"title":"Get device models","description":"Returns a list of Foundation-eligible device models registered to the tenant in the Foundry system, with optional filters for manufacturer, model, profile, and Android API level compatibility."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get device models","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1device-models~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device models","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a list of Foundation-eligible device models registered to the tenant in the Foundry system, with optional filters for manufacturer, model, profile, and Android API level compatibility."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to enumerate the device models in your tenant's Foundation catalog and retrieve the device_model_id values needed to manage builds and auto-update configuration."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Device Models"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"In Foundry, a device model record represents a hardware profile eligible to run Foundation OS. Each model is associated with a profile name and variant, a manufacturer and model identifier, and configuration that governs how Foundation builds are deployed to it — including whether auto-update is enabled and which build is currently locked for OTA. Device model IDs are required parameters for filtering builds (GET /v1/foundry/builds/) and for configuring auto-update behavior (PUT /v1/foundry/device-models/{device_model_id}/)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"manufacturer — Filter by device manufacturer name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"model — Filter by device model name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile_name — Filter by Foundation build profile name"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"profile_variant — Filter by profile variant identifier"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"update_compatible_android_api_level_begin — Filter models compatible with updates from this Android API level"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"update_compatible_android_api_level_end — Filter models compatible with updates up to this Android API level"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_model_id — UUID returned per result; used as a path parameter in build and auto-update endpoints"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"auto_update — Indicates whether auto-update is currently enabled for the model"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"locked_build_id — The build_id currently locked for auto-update on this model (nullable)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"latest — Whether the model is configured to auto-update to the latest approved build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving device_model_id values to use when filtering builds or configuring auto-update for specific hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which device models have auto-update enabled and which build each is locked to"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering models by manufacturer or Android API level compatibility when planning a Foundation rollout across mixed hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use manufacturer and model filters to quickly locate the target device model rather than paginating through the full list"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference locked_build_id with GET /v1/foundry/builds/{build_id}/ to confirm the currently pinned build's approval status and version details"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check auto_update status on all managed models before approving a new build — enabled models will begin rolling out the update to devices within 24 hours of approval"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/foundry/device-models/ with manufacturer and model filters to locate your target hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note the device_model_id for use in subsequent build filtering and auto-update configuration calls"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Review auto_update, latest, and locked_build_id to understand the current update configuration for each model"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_323"},{"name":"offset","in":"query","schemaId":"schema_323"},{"name":"manufacturer","in":"query","schemaId":"schema_323"},{"name":"model","in":"query","schemaId":"schema_323"},{"name":"profile_name","in":"query","schemaId":"schema_323"},{"name":"profile_variant","in":"query","schemaId":"schema_323"},{"name":"update_compatible_android_api_level_begin","in":"query","schemaId":"schema_323"},{"name":"update_compatible_android_api_level_end","in":"query","schemaId":"schema_323"}],"pointer":"/paths/~1v1~1foundry~1device-models~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/foundry/device-models/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_323"},{"name":"offset","in":"query","schemaId":"schema_323"},{"name":"manufacturer","in":"query","schemaId":"schema_323"},{"name":"model","in":"query","schemaId":"schema_323"},{"name":"profile_name","in":"query","schemaId":"schema_323"},{"name":"profile_variant","in":"query","schemaId":"schema_323"},{"name":"update_compatible_android_api_level_begin","in":"query","schemaId":"schema_323"},{"name":"update_compatible_android_api_level_end","in":"query","schemaId":"schema_323"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","401","500"],"pointer":"/v1/foundry/device-models/","href":"foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1/get","summary":"Get device models"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of DeviceModels associated with the TenantId coming from the header","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_634"}},"schemaId":"schema_634"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v1~1foundry~1device-models~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_634","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_634"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1/get"}],"panels":[]}]},"httpPath":"/v1/foundry/device-models/"},{"label":"Update Tenant Device Model","deprecated":false,"httpVerb":"put","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put","routeSlug":"/openapi/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put","metadata":{"seo":{"title":"Update Tenant Device Model","description":"Configures the auto-update behavior for a Foundation device model — enabling or disabling automatic OS updates and optionally locking updates to a specific approved build or to the latest approved build."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Update Tenant Device Model","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Update Tenant Device Model","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Configures the auto-update behavior for a Foundation device model — enabling or disabling automatic OS updates and optionally locking updates to a specific approved build or to the latest approved build."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to control how and when a device model receives Foundation OS updates over the air, as the programmatic equivalent of the auto-update toggle and version selector in Esper Software Updates for Foundation."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Update Tenant Device Model"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once a Foundation build is approved, auto-update must be separately enabled on the device model before devices begin receiving it. This endpoint manages that configuration. Setting auto_update: true enables OTA delivery; latest: true instructs Foundry to automatically track the newest approved build as it becomes available; locked_build_id pins updates to a specific build UUID. Note that latest and locked_build_id are only processed when auto_update is true. Once auto-update is active, enrolled devices on older builds will receive the update over a rolling 24-hour window — devices not currently communicating with Esper will update when they reconnect."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device_model_id (path, required) — UUID of the device model to update"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"auto_update (body) — true to enable automatic OTA updates for this device model; false to disable"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"latest (body) — When true, Foundry automatically locks to the newest approved build whenever one becomes available; processed only when auto_update is true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"locked_build_id (body) — UUID of the specific approved build to lock for auto-update; processed only when auto_update is true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enabling auto-update after approving a new Foundation build so enrolled devices begin receiving it within the 24-hour rollout window"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pinning a device model to a specific build version (locked_build_id) to control the exact OS version deployed across that hardware"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Disabling auto-update (auto_update: false) to pause OTA rollouts while investigating a reported issue with a new build"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Approve the target build via PUT /v1/foundry/builds/{build_id}/ before enabling auto-update — auto-update only delivers approved builds"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use locked_build_id rather than latest in production environments where you want explicit control over which version is deployed; reserve latest for test or canary device models"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Ensure devices are configured to accept system updates (via blueprint System Updates policy) before enabling auto-update here — both the device policy and the Foundry model config must align for updates to apply"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Approve the target build using PUT /v1/foundry/builds/{build_id}/ with approve: true"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call PUT /v1/foundry/device-models/{device_model_id}/ with auto_update: true and either locked_build_id (specific version) or latest: true (track newest approved)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitor the Foundation Event Feed (GET /v1/foundry/events/) to confirm the configuration change was recorded and track rollout progress"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"device_model_id","in":"path","schemaId":"schema_322","description":"An UUID specifying the Device Model","required":true}],"pointer":"/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/foundation_Device_Model_PUT_Request_V1"}},"schemaId":"components/schemas/foundation_Device_Model_PUT_Request_V1","pointer":"/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"PUT","path":"/v1/foundry/device-models/{device_model_id}/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"device_model_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/foundation_Device_Model_PUT_Request_V1"}},"responseCodes":["200","400","401","403","404"],"pointer":"/v1/foundry/device-models/{device_model_id}/","href":"foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put","summary":"Update Tenant Device Model"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/foundation_Device_Model_PUT_Request_V1","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/foundation_Device_Model_PUT_Request_V1"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Updated","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_633"}},"schemaId":"schema_633"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"403","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"locked_build_id not approved"},"children":[]}]}]}],"mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}},"schemaId":"components/schemas/apps_management_Error_403_Forbidden"},{"code":"404","description":"DeviceModel not found","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}},"schemaId":"components/schemas/device_Error_404_Not_Found"}],"pointer":"/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_633","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_633"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"403","schemaId":"components/schemas/apps_management_Error_403_Forbidden","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/apps_management_Error_403_Forbidden"}}},{"code":"404","schemaId":"components/schemas/device_Error_404_Not_Found","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/device_Error_404_Not_Found"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put"}],"panels":[]}]},"httpPath":"/v1/foundry/device-models/{device_model_id}/"}],"content":{"contentType":"group","meta":{"name":"foundation_FoundryDeviceModels"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"FoundryDeviceModels","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/foundry/device-models/","summary":"Get device models","prefix":{"name":"get","color":"get"},"badges":[],"link":"/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1/get","deprecated":false},{"title":"/v1/foundry/device-models/{device_model_id}/","summary":"Update Tenant Device Model","prefix":{"name":"put","color":"put"},"badges":[],"link":"/foundation_foundrydevicemodels/paths/~1v1~1foundry~1device-models~1{device_model_id}~1/put","deprecated":false}]}]}]}]}},{"type":"group","label":"FoundryEvents","link":"/openapi/foundation_foundryevents","routeSlug":"/openapi/foundation_foundryevents","items":[{"label":"Get Foundry events","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/foundation_foundryevents/paths/~1v1~1foundry~1events~1/get","routeSlug":"/openapi/foundation_foundryevents/paths/~1v1~1foundry~1events~1/get","metadata":{"seo":{"title":"Get Foundry events","description":"Returns a paginated list of Foundry events in reverse chronological order, providing an audit trail of Foundation build approvals, auto-update configuration changes, and related actions."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"name":"Get Foundry events","isWebhook":false,"pointer":"/paths/~1v1~1foundry~1events~1/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get Foundry events","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of Foundry events in reverse chronological order, providing an audit trail of Foundation build approvals, auto-update configuration changes, and related actions."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use this endpoint to programmatically access the Foundation Event Feed — the same activity log visible in the Esper Software Updates > Foundation Event Feed tab — for monitoring, compliance reporting, or automated alerting on Foundation update activity."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Foundry Events"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Foundation Event Feed records significant actions taken within the Foundry system, including build approvals and unapprovals, auto-update"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"configuration changes, and other state transitions. Each event captures the actor (user or system), the affected resource, the event type and message, and any remarks provided at the time of the action. This log is essential for change management auditing — especially in regulated environments where OS update approvals require traceability. Events are returned in reverse chronological order (most recent first)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"limit — Number of events to return per page"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"offset — Starting index for pagination"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"actor — Object identifying the user or system that triggered the event (includes id and name)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"event_type — Classification of the event (e.g., build approval, auto-update change)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"event_message — Human-readable description of what occurred"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"resource — Object identifying the affected resource (id and type, e.g., a specific build or device model)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.user_remarks — Any comment provided by the actor at the time of the action (e.g., approval rationale from PUT /v1/foundry/builds/{build_id}/)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"meta.change_type — The type of change recorded"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"created_timestamp — Unix timestamp of when the event occurred"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing the history of build approvals and auto-update configuration changes for compliance or change management records"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Monitoring for unexpected approval or configuration changes as part of a security or operations workflow"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Correlating Foundation update events with device behavior observed in device telemetry or command history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Paginate with limit and offset to retrieve a bounded window of recent events rather than loading the full history in a single call"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Persist events to an external log store if long-term retention is required — Foundry does not guarantee indefinite event history"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When using PUT /v1/foundry/builds/{build_id}/ or PUT /v1/foundry/device-models/{device_model_id}/, always supply user_remarks — these notes appear in this event feed and significantly improve audit trail quality"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /v1/foundry/events/ to retrieve recent Foundation activity, paginating as needed"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filter results client-side by event_type or resource.id to isolate events related to a specific build or device model"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-reference meta.user_remarks and actor fields with internal change management records for compliance verification"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"foundation_AuthToken","scopes":[],"type":"apiKey","in":"header","paramName":"Authorization"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"pointer":"/paths/~1v1~1foundry~1events~1/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/v1/foundry/events/","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"limit","in":"query","schemaId":"schema_325"},{"name":"offset","in":"query","schemaId":"schema_325"}],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"foundation_AuthToken","type":"apiKey","name":"Authorization","in":"header"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/v1/foundry/events/","href":"foundation_foundryevents/paths/~1v1~1foundry~1events~1/get","summary":"Get Foundry events"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"List of Foundry events in reverse chronological order","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_635"}},"schemaId":"schema_635"},{"code":"400","description":"Bad Request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}},"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}},"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}},"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}],"pointer":"/paths/~1v1~1foundry~1events~1/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_635","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_635"}}},{"code":"400","schemaId":"components/schemas/pipelines_Error_400_Bad_Data","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_400_Bad_Data"}}},{"code":"401","schemaId":"components/schemas/pipelines_Error_401_Unauthorized","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_401_Unauthorized"}}},{"code":"500","schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/pipelines_Error_500_Internal_Server_Error"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/foundation_foundryevents/paths/~1v1~1foundry~1events~1/get"}],"panels":[]}]},"httpPath":"/v1/foundry/events/"}],"content":{"contentType":"group","meta":{"name":"foundation_FoundryEvents"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"FoundryEvents","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/v1/foundry/events/","summary":"Get Foundry events","prefix":{"name":"get","color":"get"},"badges":[],"link":"/foundation_foundryevents/paths/~1v1~1foundry~1events~1/get","deprecated":false}]}]}]}]}},{"type":"separator","label":"REPORTS","content":null},{"type":"group","label":"Reports API","link":"/openapi/reports_reports-api","routeSlug":"/openapi/reports_reports-api","items":[{"label":"Get report types","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/reports_reports-api/getreporttypes","routeSlug":"/openapi/reports_reports-api/getreporttypes","metadata":{"seo":{"title":"Get report types","description":"Retrieve the list of report types available in the tenant."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportTypes","name":"Get report types","isWebhook":false,"pointer":"/paths/~1report~1v0~1report-types/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get report types","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieve the list of report types available in the tenant."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns each report type's internal name, display name, description, the last time it was generated, and the earliest date from which data is available (available_from)."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Report Types"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Esper's Reports system provides pre-built fleet-level snapshots across devices and apps. Before generating a report, use this endpoint to discover which report types are available (device_apps, device, etc.) and to check when each type was last generated and how far back its data reaches. This is the recommended first step in any automated reporting workflow. Report availibility varies by operating system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — The internal identifier used in the report_type field when creating a report (e.g., device_apps, device)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"display_name — The human-readable label shown in the console"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"last_generated_at — Timestamp of the most recently completed report of this type"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"available_from — The earliest date for which data exists for this report type"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discovering available report types before building an automated reporting pipeline"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Checking whether a given report type has been generated recently enough to meet data freshness requirements"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Validating the name value to use in the report_type field of a Create Report request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call this endpoint at the start of a reporting workflow to confirm the correct report_type value before posting a report request"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use last_generated_at to assess data freshness; reports reflect ingested data and may lag up to 24 hours behind live device state"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use available_from to validate that your desired date range falls within the supported window before submitting a report"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /report/v0/report-types to retrieve available types and their metadata"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Note the name value for the desired report type (e.g., device_apps or device)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Pass that name as report_type in a POST /report/v0/reports request"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"reports_bearerAuth","scopes":[],"type":"http","scheme":"bearer"}]}]}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/report/v0/report-types","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"reports_bearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/report/v0/report-types","href":"reports_reports-api/getreporttypes","openApiOperationId":"getReportTypes","summary":"Get report types"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Report types","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_GetReportTypesResponse"}},"schemaId":"components/schemas/reports_GetReportTypesResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"}],"pointer":"/paths/~1report~1v0~1report-types/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/reports_GetReportTypesResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_GetReportTypesResponse"}}},{"code":"400","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"401","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"500","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports_reports-api/getreporttypes"}],"panels":[]}]},"httpPath":"/report/v0/report-types"},{"label":"Create Report","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/reports_reports-api/createreportstatus","routeSlug":"/openapi/reports_reports-api/createreportstatus","metadata":{"seo":{"title":"Create Report","description":"Initiate generation of a device or device apps report and receive a report ID for status polling. Report availibity varies by operating system."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"createReportStatus","name":"Create Report","isWebhook":false,"pointer":"/paths/~1report~1v0~1reports/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create Report","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Initiate generation of a device or device apps report and receive a report ID for status polling. Report availibity varies by operating system."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a report_id and an initial status of PENDING; poll GET /report/v0/reports/{report_id} to track progress and retrieve results once the status reaches SUCCEEDED."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Create Report"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Report generation in Esper is asynchronous. Submitting this request triggers a backend job that ingests and consolidates fleet data — a process that can take several minutes. The is_download flag controls the output mode: set it to false to retrieve an in-memory preview (up to 10,000 rows) or true to generate a full dataset available via a signed download link. Supported report types are device_apps (Android and iOS/iPadOS/tvOS) and device (Android, iOS, Linux, Windows). Note that app reports exclude sideloaded, preloaded, and SDK-installed apps."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Request Body"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"report_type (required) — device_apps for the Device Apps Report or device for the Device Report"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"start_time — Report window start in UTC (e.g., 2024-08-28T00:00:00Z); must be after July 1, 2024 for device_apps"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"end_time — Must equal start_time (single-day reports only)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"is_download — true to generate a full downloadable CSV; false for an in-console preview (first 10,000 rows)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filters.date — Optional date override in YYYY-MM-DD format; takes precedence over start_time/end_time if provided"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filters.package_name — (device_apps only) Array of package names to filter by; omit for all packages"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filters.app_state — (device_apps only) Filter by app visibility: SHOW, HIDE, DISABLE, or LAUNCHABLE_BUT_HIDDEN"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"filters.platform — Filter by platform: Android, Apple, Linux, Windows (platform availability varies by report type)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Generating a point-in-time snapshot of all app versions across an Android or iOS fleet"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Producing a full CSV export of device state, OS version, location, and provisioning data for all managed platforms"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering a device apps report to a specific package name to audit version consistency across devices"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set end_time equal to start_time; the API supports single-day reports only"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Use filters.date as a simpler alternative to start_time/end_time when generating a same-day report"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Set is_download: true when your fleet exceeds 10,000 devices or apps, since the preview response is capped at 10,000 rows"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll GET /report/v0/reports/{report_id} at a reasonable interval (e.g., every 10–30 seconds) rather than immediately, as report generation can take several minutes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Call GET /report/v0/report-types to confirm the report_type value and check data availability"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"POST to /report/v0/reports with the desired report_type, date range, is_download flag, and any filters"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Store the returned report_id and poll GET /report/v0/reports/{report_id} until status is SUCCEEDED or FAILED"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"reports_bearerAuth","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/reports_Report"}},"schemaId":"components/schemas/reports_Report","pointer":"/paths/~1report~1v0~1reports/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/report/v0/reports","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"reports_bearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/reports_Report"}},"responseCodes":["200","400","401","500"],"pointer":"/report/v0/reports","href":"reports_reports-api/createreportstatus","openApiOperationId":"createReportStatus","summary":"Create Report"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/reports_Report","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/reports_Report"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Create Report","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_CreateReportResponse"}},"schemaId":"components/schemas/reports_CreateReportResponse"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"}],"pointer":"/paths/~1report~1v0~1reports/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"components/schemas/reports_CreateReportResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_CreateReportResponse"}}},{"code":"400","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"401","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"500","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports_reports-api/createreportstatus"}],"panels":[]}]},"httpPath":"/report/v0/reports"},{"label":"Get report status","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/reports_reports-api/getreportstatus","routeSlug":"/openapi/reports_reports-api/getreportstatus","metadata":{"seo":{"title":"Get report status","description":"Poll the status of a report and retrieve its results once generation is complete."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"getReportStatus","name":"Get report status","isWebhook":false,"pointer":"/paths/~1report~1v0~1reports~1{report_id}/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get report status","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll the status of a report and retrieve its results once generation is complete."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns the current status of the report job (PENDING, RUNNING, SUCCEEDED, FAILED, CANCELED, or CLOSED) and, on success, either an inline data preview or a signed external download link depending on the is_download flag set when the report was created."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Get Report Status"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"This endpoint is the second half of Esper's two-step asynchronous report pattern. After POST /report/v0/reports returns a report_id, poll this endpoint until status reaches a terminal state. When is_download was false, the successful response includes a data_array of up to 10,000 rows along with a schema object describing column names, positions, and types. When is_download was true, the response instead includes an external_link — a signed URL pointing to the full dataset as a downloadable CSV."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"report_id (path, required) — UUID returned by POST /report/v0/reports"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"status — Current job state: PENDING (queued), RUNNING (processing), SUCCEEDED (results available), FAILED, CANCELED, or CLOSED"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"schema.columns — Array of column metadata objects, each with name, position, type_name, and type_text"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"data_array — (preview mode only) 2D array of row data, capped at 10,000 rows"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"external_link — (download mode only) Signed URL to the full CSV export"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Polling report status after initiating generation via POST /report/v0/reports"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieving inline row data for small to mid-sized fleets (preview mode, ≤10,000 rows)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Obtaining a signed download URL for full fleet exports that exceed the 10,000-row preview cap"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Best Practices"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll at a reasonable interval (e.g., every 10–30 seconds) rather than immediately after creating the report, as generation can take several minutes"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Check for terminal statuses (SUCCEEDED, FAILED, CANCELED, CLOSED) and stop polling once reached"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If status is FAILED, re-submit the report via POST /report/v0/reports rather than retrying the same report_id"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"For download-mode reports, retrieve the external_link promptly as signed URLs may expire"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Workflow"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Receive the report_id from POST /report/v0/reports"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Poll this endpoint at intervals until status is SUCCEEDED (or a failure terminal state)"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If preview mode: read data_array for results and schema for column structure; if download mode: fetch the CSV from external_link"},"children":[]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"reports_bearerAuth","scopes":[],"type":"http","scheme":"bearer"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"report_id","in":"path","schemaId":"schema_322","description":"Report ID","required":true}],"pointer":"/paths/~1report~1v0~1reports~1{report_id}/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/report/v0/reports/{report_id}","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"report_id","in":"path","required":true,"schemaId":"schema_322"}],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[{"schemes":[{"id":"reports_bearerAuth","type":"http","scheme":"bearer"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/report/v0/reports/{report_id}","href":"reports_reports-api/getreportstatus","openApiOperationId":"getReportStatus","summary":"Get report status"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Report status","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_636"}},"schemaId":"schema_636"},{"code":"400","description":"Bad request","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"},{"code":"500","description":"Internal server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}},"schemaId":"components/schemas/reports_ReportsErrorResponse"}],"pointer":"/paths/~1report~1v0~1reports~1{report_id}/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_636","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_636"}}},{"code":"400","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"401","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}},{"code":"500","schemaId":"components/schemas/reports_ReportsErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/reports_ReportsErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/reports_reports-api/getreportstatus"}],"panels":[]}]},"httpPath":"/report/v0/reports/{report_id}"}],"content":{"contentType":"group","meta":{"name":"reports_Reports API"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Reports API","showPageActions":true},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"APIs for managing reports."},"children":[]},{"$$mdtype":"Node","type":"tag","tag":"html","inline":true,"attributes":{"name":"br","attrs":{}},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" Currently supports "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/27379366650257-App-Reports"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"App Reports"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/report/v0/report-types","summary":"Get report types","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports_reports-api/getreporttypes","deprecated":false},{"title":"/report/v0/reports","summary":"Create Report","prefix":{"name":"post","color":"post"},"badges":[],"link":"/reports_reports-api/createreportstatus","deprecated":false},{"title":"/report/v0/reports/{report_id}","summary":"Get report status","prefix":{"name":"get","color":"get"},"badges":[],"link":"/reports_reports-api/getreportstatus","deprecated":false}]}]}]}]}},{"type":"separator","label":"GEOFENCE","content":null},{"type":"group","label":"Geofences","link":"/openapi/geofence_geofences","routeSlug":"/openapi/geofence_geofences","items":[{"label":"Create a new geofence","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/geofence_geofences/geofence_creategeofence","routeSlug":"/openapi/geofence_geofences/geofence_creategeofence","metadata":{"seo":{"title":"Create a new geofence","description":"Creates a new geofence for the tenant, defined by its geographic boundary and the device actions to trigger when a device crosses it."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"geofence_createGeofence","name":"Create a new geofence","isWebhook":false,"pointer":"/paths/~1geofence~1v1~1geofences/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Create a new geofence","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Creates a new geofence for the tenant, defined by its geographic boundary and the device actions to trigger when a device crosses it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Submit the geofence's geometry (location and radius) along with the desired device actions; on success, returns the created geofence instance."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Geofences"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence is a virtual geographic boundary that triggers device actions — such as locking down or sounding an alert — when a managed device enters or leaves the defined area. Geofences can also be associated with blueprints so that location determines which configuration is applied to a device."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"geometry (location and radius) — defines the physical boundary of the geofence"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"device actions — the actions (e.g., lock down, beep) applied to devices crossing the boundary"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Setting up a new location-based restriction, such as locking down devices that leave a warehouse or job site"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Defining a boundary that later gets tied to blueprint-based configuration changes"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"geofence_bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Esper-Tenant-Id","in":"header","schemaId":"schema_322","description":"Esper tenant ID associated with the request","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_637","description":"Unique identifier for the caller","required":true}],"pointer":"/paths/~1geofence~1v1~1geofences/post/parameters"},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/geofence_GeofenceRequest","exampleIds":["paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"]}},"schemaId":"components/schemas/geofence_GeofenceRequest","exampleIds":["paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"],"pointer":"/paths/~1geofence~1v1~1geofences/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/geofence/v1/geofences","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[],"querystring":[],"header":[{"name":"X-Esper-Tenant-Id","in":"header","required":true,"schemaId":"schema_322"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_637"}],"cookie":[]},"security":[{"schemes":[{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"requestBody":{"application/json":{"schemaId":"components/schemas/geofence_GeofenceRequest","exampleIds":["paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"]}},"responseCodes":["201","400","401","500"],"pointer":"/geofence/v1/geofences","href":"geofence_geofences/geofence_creategeofence","openApiOperationId":"geofence_createGeofence","summary":"Create a new geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"schemaId":"components/schemas/geofence_GeofenceRequest","exampleIds":["paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"],"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/geofence_GeofenceRequest","exampleIds":["paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample","paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"]}},"examples":[{},{},{}]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"201","description":"Geofence created successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_638"}},"schemaId":"schema_638"},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"500","description":"Server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"}],"pointer":"/paths/~1geofence~1v1~1geofences/post/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"201","schemaId":"schema_638","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_638"}}},{"code":"400","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/geofence_geofences/geofence_creategeofence"}],"panels":[]}]},"httpPath":"/geofence/v1/geofences"},{"label":"List all geofences","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/geofence_geofences/geofence_listgeofences","routeSlug":"/openapi/geofence_geofences/geofence_listgeofences","metadata":{"seo":{"title":"List all geofences","description":"Retrieves a paginated list of geofences configured for the tenant. Use it to enumerate all geofences, optionally narrowed down by ID or name."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"geofence_listGeofences","name":"List all geofences","isWebhook":false,"pointer":"/paths/~1geofence~1v1~1geofences/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"List all geofences","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Retrieves a paginated list of geofences configured for the tenant. Use it to enumerate all geofences, optionally narrowed down by ID or name."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supports filtering by a list of geofence IDs, an exact name match, or a free-text name search, and can optionally include device summary statistics and/or a total count alongside each geofence in the response."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Geofences"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence is a virtual geographic boundary (defined by a location and radius) that triggers device actions — such as locking down or sounding an alert — when a managed device enters or leaves the area. Geofences can also be tied to blueprints so that specific device configurations apply based on location."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"geofence IDs — filter to a specific set of geofences by ID"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"name — exact-match filter on geofence name"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"search — free-text search across geofence names"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"include device summary statistics — optionally embed device counts for each geofence in the list response"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Building a geofence management view that lists all configured boundaries"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Looking up a geofence by name before fetching its device or blueprint details"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Getting a quick device-count overview per geofence without a separate call"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"geofence_bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"offset","in":"query","schemaId":"schema_428","description":"Number of items to skip before starting to collect the result set"},{"name":"limit","in":"query","schemaId":"schema_427","description":"Maximum number of items to return"},{"name":"ids","in":"query","schemaId":"schema_639","description":"Comma-separated list of geofence UUIDs to filter by. When provided, only geofences with matching IDs will be returned.","example":"11111111-1111-1111-1111-111111111111,22222222-2222-2222-2222-222222222222"},{"name":"include_summary","in":"query","schemaId":"schema_326","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to include device summary and blueprint usage statistics with each geofence. When true, adds device_summary and blueprints fields to each result."},"children":[]}]}]}],"example":true},{"name":"include_count","in":"query","schemaId":"schema_326","description":"Whether to include the total count of geofences in the response. When true, adds a count field to the response.","example":true},{"name":"search","in":"query","schemaId":"schema_323","description":"Search string to filter geofences by name (case-insensitive partial match).","example":"warehouse"},{"name":"name","in":"query","schemaId":"schema_323","description":"Exact geofence name to filter by (case-sensitive exact match).","example":"Test Geofence 1"}],"pointer":"/paths/~1geofence~1v1~1geofences/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Esper-Tenant-Id","in":"header","schemaId":"schema_322","description":"Esper tenant ID associated with the request","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_637","description":"Unique identifier for the caller","required":true}],"pointer":"/paths/~1geofence~1v1~1geofences/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/geofence/v1/geofences","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[],"query":[{"name":"offset","in":"query","required":false,"schemaId":"schema_428"},{"name":"limit","in":"query","required":false,"schemaId":"schema_427"},{"name":"ids","in":"query","required":false,"example":"11111111-1111-1111-1111-111111111111,22222222-2222-2222-2222-222222222222","schemaId":"schema_639"},{"name":"include_summary","in":"query","required":false,"example":true,"schemaId":"schema_326"},{"name":"include_count","in":"query","required":false,"example":true,"schemaId":"schema_326"},{"name":"search","in":"query","required":false,"example":"warehouse","schemaId":"schema_323"},{"name":"name","in":"query","required":false,"example":"Test Geofence 1","schemaId":"schema_323"}],"querystring":[],"header":[{"name":"X-Esper-Tenant-Id","in":"header","required":true,"schemaId":"schema_322"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_637"}],"cookie":[]},"security":[{"schemes":[{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/geofence/v1/geofences","href":"geofence_geofences/geofence_listgeofences","openApiOperationId":"geofence_listGeofences","summary":"List all geofences"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"A list of geofences","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_640","exampleIds":["paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example","paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary"]}},"schemaId":"schema_640","exampleIds":["paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example","paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary"]},{"code":"400","description":"Invalid input","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"500","description":"Server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"}],"pointer":"/paths/~1geofence~1v1~1geofences/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_640","exampleIds":["paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example","paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_640","exampleIds":["paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example","paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary"]}}},{"code":"400","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/geofence_geofences/geofence_listgeofences"}],"panels":[]}]},"httpPath":"/geofence/v1/geofences"}],"content":{"contentType":"group","meta":{"name":"geofence_Geofences"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Geofences","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/geofence/v1/geofences","summary":"Create a new geofence","prefix":{"name":"post","color":"post"},"badges":[],"link":"/geofence_geofences/geofence_creategeofence","deprecated":false},{"title":"/geofence/v1/geofences","summary":"List all geofences","prefix":{"name":"get","color":"get"},"badges":[],"link":"/geofence_geofences/geofence_listgeofences","deprecated":false}]}]}]}]}},{"type":"group","label":"Device State","link":"/openapi/geofence_device-state","routeSlug":"/openapi/geofence_device-state","items":[{"label":"Get device summary for a geofence","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/geofence_device-state/geofence_getdevicesummary","routeSlug":"/openapi/geofence_device-state/geofence_getdevicesummary","metadata":{"seo":{"title":"Get device summary for a geofence","description":"Returns aggregate device statistics for a specific geofence — total device count, how many devices are currently inside the boundary, and how many are outside. Use it for a quick, single-call summary rather than pulling the full device list."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"geofence_getDeviceSummary","name":"Get device summary for a geofence","isWebhook":false,"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get device summary for a geofence","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns aggregate device statistics for a specific geofence — total device count, how many devices are currently inside the boundary, and how many are outside. Use it for a quick, single-call summary rather than pulling the full device list."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scoped to a single geofence_id and returns counts only, not individual device records — use the devices sub-resource for per-device detail."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Geofences"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence is a virtual geographic boundary tied to device location tracking; devices are continuously evaluated as inside or outside the fence to trigger configured actions. This endpoint gives an at-a-glance rollup of that inside/outside state across all devices tied to the geofence."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"geofence_id — path parameter identifying the geofence to summarize"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Powering a geofence dashboard tile showing total/inside/outside device counts"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Quickly checking compliance for a location-restricted fleet without listing every device"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"geofence_bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"UUID of the geofence","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Esper-Tenant-Id","in":"header","schemaId":"schema_322","description":"Esper tenant ID associated with the request","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_637","description":"Unique identifier for the caller","required":true}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/geofence/v1/geofences/{geofence_id}/device-summary","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110","schemaId":"schema_322"}],"query":[],"querystring":[],"header":[{"name":"X-Esper-Tenant-Id","in":"header","required":true,"schemaId":"schema_322"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_637"}],"cookie":[]},"security":[{"schemes":[{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/geofence/v1/geofences/{geofence_id}/device-summary","href":"geofence_device-state/geofence_getdevicesummary","openApiOperationId":"geofence_getDeviceSummary","summary":"Get device summary for a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device summary retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_641","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example"]}},"schemaId":"schema_641","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example"]},{"code":"400","description":"Invalid geofence ID or missing tenant ID","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"500","description":"Server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_641","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_641","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example"]}}},{"code":"400","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/geofence_device-state/geofence_getdevicesummary"}],"panels":[]}]},"httpPath":"/geofence/v1/geofences/{geofence_id}/device-summary"},{"label":"Get blueprint usage statistics for a geofence","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/geofence_device-state/geofence_getblueprintusage","routeSlug":"/openapi/geofence_device-state/geofence_getblueprintusage","metadata":{"seo":{"title":"Get blueprint usage statistics for a geofence","description":"Returns paginated statistics on blueprint usage within a specific geofence — which blueprints are applied to devices inside that geofence and how many devices use each. Use it to understand how blueprint-driven configuration correlates with a location-based boundary."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"geofence_getBlueprintUsage","name":"Get blueprint usage statistics for a geofence","isWebhook":false,"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get blueprint usage statistics for a geofence","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns paginated statistics on blueprint usage within a specific geofence — which blueprints are applied to devices inside that geofence and how many devices use each. Use it to understand how blueprint-driven configuration correlates with a location-based boundary."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Scoped to a single geofence_id; each result identifies a blueprint and the count of devices in that geofence currently using it."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Geofences"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence is a virtual geographic boundary that can be tied to blueprint-based device configuration, so devices entering or leaving the boundary can be managed differently depending on which blueprint they're running. This endpoint gives visibility into that blueprint-to-geofence relationship."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"geofence_id — path parameter identifying the geofence to report on"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auditing which blueprint versions are in use across devices within a specific geofence"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Verifying blueprint rollout coverage for a location-restricted device population"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"geofence_bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"UUID of the geofence","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"offset","in":"query","schemaId":"schema_428","description":"Number of items to skip before starting to collect the result set"},{"name":"limit","in":"query","schemaId":"schema_427","description":"Maximum number of items to return"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Esper-Tenant-Id","in":"header","schemaId":"schema_322","description":"Esper tenant ID associated with the request","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_637","description":"Unique identifier for the caller","required":true}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/geofence/v1/geofences/{geofence_id}/blueprints","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110","schemaId":"schema_322"}],"query":[{"name":"offset","in":"query","required":false,"schemaId":"schema_428"},{"name":"limit","in":"query","required":false,"schemaId":"schema_427"}],"querystring":[],"header":[{"name":"X-Esper-Tenant-Id","in":"header","required":true,"schemaId":"schema_322"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_637"}],"cookie":[]},"security":[{"schemes":[{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/geofence/v1/geofences/{geofence_id}/blueprints","href":"geofence_device-state/geofence_getblueprintusage","openApiOperationId":"geofence_getBlueprintUsage","summary":"Get blueprint usage statistics for a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Blueprint usage statistics retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_642","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example"]}},"schemaId":"schema_642","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example"]},{"code":"400","description":"Invalid geofence ID, missing tenant ID, or missing pagination parameters","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"500","description":"Server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_642","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_642","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example"]}}},{"code":"400","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/geofence_device-state/geofence_getblueprintusage"}],"panels":[]}]},"httpPath":"/geofence/v1/geofences/{geofence_id}/blueprints"},{"label":"Get devices for a geofence","deprecated":false,"httpVerb":"get","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/openapi/geofence_device-state/geofence_getdevices","routeSlug":"/openapi/geofence_device-state/geofence_getdevices","metadata":{"seo":{"title":"Get devices for a geofence","description":"Returns a paginated list of devices and their current state relative to a specific geofence. Use it when you need the actual device records, not just aggregate counts."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"geofence_getDevices","name":"Get devices for a geofence","isWebhook":false,"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get","hasSamples":false},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Get devices for a geofence","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Returns a paginated list of devices and their current state relative to a specific geofence. Use it when you need the actual device records, not just aggregate counts."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Supports filtering by inside/outside status and by blueprint version ID, so you can drill into, for example, only the devices currently outside the boundary running a particular blueprint version."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"About Geofences"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"A geofence is a virtual geographic boundary tied to device location tracking, and can be associated with blueprint-driven configuration so a device's blueprint version may factor into how it's managed inside vs. outside the fence. This endpoint exposes the per-device detail behind the aggregate device-summary statistics."},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Key Fields / Query Parameters"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"geofence_id — path parameter identifying the geofence"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"inside/outside status — filters devices by whether they are currently within the geofence boundary"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"blueprint version ID — filters devices by the blueprint version they're currently running"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Common Use Cases"},"children":[]}]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"-"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Listing devices that have left a geofenced area for follow-up or remediation"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Cross-referencing which blueprint versions are running on devices inside vs. outside a boundary"},"children":[]}]}]}]}]},{"nodeType":"security","requirements":[{"schemes":[{"name":"geofence_bearerAuth","scopes":[],"type":"http","scheme":"bearer","bearerFormat":"JWT"}]}]},{"nodeType":"item-content","variant":"path","label":"Path","labelTranslationKey":"path","parameters":[{"name":"geofence_id","in":"path","schemaId":"schema_322","description":"UUID of the geofence","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/parameters"},{"nodeType":"item-content","variant":"query","label":"Query","labelTranslationKey":"query","parameters":[{"name":"offset","in":"query","schemaId":"schema_428","description":"Number of items to skip before starting to collect the result set"},{"name":"limit","in":"query","schemaId":"schema_427","description":"Maximum number of items to return"},{"name":"inside","in":"query","schemaId":"schema_324","description":"Filter devices by whether they are inside (true) or outside (false) the geofence","example":true},{"name":"blueprint_id","in":"query","schemaId":"schema_322","description":"Filter devices by blueprint ID","example":"550e8400-e29b-41d4-a716-446655440000"},{"name":"blueprint_version_number","in":"query","schemaId":"schema_325","description":"Filter devices by blueprint version number","example":1}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/parameters"},{"nodeType":"item-content","variant":"headers","label":"Headers","labelTranslationKey":"header","parameters":[{"name":"X-Esper-Tenant-Id","in":"header","schemaId":"schema_322","description":"Esper tenant ID associated with the request","required":true},{"name":"X-Caller-Id","in":"header","schemaId":"schema_637","description":"Unique identifier for the caller","required":true}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/parameters"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"GET","path":"/geofence/v1/geofences/{geofence_id}/devices","servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"parameters":{"path":[{"name":"geofence_id","in":"path","required":true,"example":"f5316a75-f186-4769-970e-28d6a1a0e110","schemaId":"schema_322"}],"query":[{"name":"offset","in":"query","required":false,"schemaId":"schema_428"},{"name":"limit","in":"query","required":false,"schemaId":"schema_427"},{"name":"inside","in":"query","required":false,"example":true,"schemaId":"schema_324"},{"name":"blueprint_id","in":"query","required":false,"example":"550e8400-e29b-41d4-a716-446655440000","schemaId":"schema_322"},{"name":"blueprint_version_number","in":"query","required":false,"example":1,"schemaId":"schema_325"}],"querystring":[],"header":[{"name":"X-Esper-Tenant-Id","in":"header","required":true,"schemaId":"schema_322"},{"name":"X-Caller-Id","in":"header","required":true,"schemaId":"schema_637"}],"cookie":[]},"security":[{"schemes":[{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}],"scopes":[]}],"responseCodes":["200","400","401","500"],"pointer":"/geofence/v1/geofences/{geofence_id}/devices","href":"geofence_device-state/geofence_getdevices","openApiOperationId":"geofence_getDevices","summary":"Get devices for a geofence"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/openapi","description":"Mock server","isMockServer":true},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Device list retrieved successfully","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_643","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example"]}},"schemaId":"schema_643","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example"]},{"code":"400","description":"Invalid geofence ID, missing tenant ID, invalid query parameters, or missing pagination parameters","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"401","description":"Unauthorized","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"},{"code":"500","description":"Server error","mediaType":"application/json","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}},"schemaId":"components/schemas/geofence_ErrorResponse"}],"pointer":"/paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses"}],"panels":[{"children":[{"kind":"response","headerTitle":"Response","responseCodes":[{"code":"200","schemaId":"schema_643","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example"],"mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"schema_643","exampleIds":["paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example"]}}},{"code":"400","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"401","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}},{"code":"500","schemaId":"components/schemas/geofence_ErrorResponse","mediaTypes":["application/json"],"mediaTypeContent":{"application/json":{"schemaId":"components/schemas/geofence_ErrorResponse"}}}],"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"feedback","pageSlug":"/geofence_device-state/geofence_getdevices"}],"panels":[]}]},"httpPath":"/geofence/v1/geofences/{geofence_id}/devices"}],"content":{"contentType":"group","meta":{"name":"geofence_Device State"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Device State","showPageActions":true}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/geofence/v1/geofences/{geofence_id}/device-summary","summary":"Get device summary for a geofence","prefix":{"name":"get","color":"get"},"badges":[],"link":"/geofence_device-state/geofence_getdevicesummary","deprecated":false},{"title":"/geofence/v1/geofences/{geofence_id}/blueprints","summary":"Get blueprint usage statistics for a geofence","prefix":{"name":"get","color":"get"},"badges":[],"link":"/geofence_device-state/geofence_getblueprintusage","deprecated":false},{"title":"/geofence/v1/geofences/{geofence_id}/devices","summary":"Get devices for a geofence","prefix":{"name":"get","color":"get"},"badges":[],"link":"/geofence_device-state/geofence_getdevices","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/esper_cloud_api_ApplicationVersion":{"id":"components/schemas/esper_cloud_api_ApplicationVersion","kind":"json-schema","title":"Version","data":{"title":"Version","type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"version_code":{"title":"Version code","maxLength":50,"minLength":1,"type":"string"},"build_number":{"title":"Build number","maxLength":100,"minLength":1,"type":"string","nullable":true},"hash_string":{"title":"Hash string","type":"string"},"min_sdk_version":{"title":"Min sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"target_sdk_version":{"title":"Target sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"download_url":{"title":"Url","type":"string","format":"url"},"icon_url":{"title":"Url for the icon","type":"string","format":"url"},"release_name":{"title":"Name of the release","type":"string"},"release_comments":{"title":"comments about the release","type":"string"}}}},"components/schemas/esper_cloud_api_Application":{"id":"components/schemas/esper_cloud_api_Application","kind":"json-schema","title":"esper_cloud_api_Application","data":{"required":["application_name","enterprise","package_name"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"versions":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_ApplicationVersion"}},"application_name":{"title":"Application name","maxLength":255,"minLength":1,"type":"string"},"package_name":{"title":"Package name","maxLength":255,"minLength":1,"type":"string"},"developer":{"title":"Developer","maxLength":255,"minLength":1,"type":"string","nullable":true},"category":{"title":"Category","maxLength":255,"minLength":1,"type":"string","nullable":true},"content_rating":{"title":"Content rating","type":"string","format":"decimal"},"compatibility":{"title":"Compatibility","minLength":1,"type":"string","nullable":true},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","format":"date-time","readOnly":true},"is_active":{"title":"Is active","type":"boolean"},"is_hidden":{"title":"Is hidden","type":"boolean"},"enterprise":{"title":"Enterprise","type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_ErrorResponse":{"id":"components/schemas/esper_cloud_api_ErrorResponse","kind":"json-schema","title":"esper_cloud_api_ErrorResponse","data":{"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"}}}},"components/schemas/esper_cloud_api_AppPermission":{"id":"components/schemas/esper_cloud_api_AppPermission","kind":"json-schema","title":"esper_cloud_api_AppPermission","data":{"required":["enterprise","permission"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"permission":{"title":"Permission","maxLength":255,"minLength":1,"type":"string"},"grant_state":{"title":"Grant state","type":"string","enum":["Default","Denied","Granted"]},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","format":"date-time","readOnly":true},"is_active":{"title":"Is active","type":"boolean"},"enterprise":{"title":"Enterprise","type":"string","format":"url"},"app_version":{"title":"App version","type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_AppVersion":{"id":"components/schemas/esper_cloud_api_AppVersion","kind":"json-schema","title":"Application Version","data":{"title":"Application Version","required":["enterprise","permissions","version_code"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"installed_count":{"title":"Installed count","type":"integer","readOnly":true},"permissions":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AppPermission"}},"app_file":{"title":"App file","type":"string","format":"url","readOnly":true},"app_icon":{"title":"App icon","type":"string","format":"url","nullable":true,"readOnly":true},"version_code":{"title":"Version code","maxLength":50,"minLength":1,"type":"string"},"build_number":{"title":"Build number","maxLength":100,"minLength":1,"type":"string","nullable":true},"size_in_mb":{"title":"Size in mb","type":"number"},"hash_string":{"title":"Hash string","type":"string"},"release_name":{"title":"Release name","maxLength":255,"minLength":1,"type":"string","nullable":true},"release_comments":{"title":"Release comments","minLength":1,"type":"string","nullable":true},"release_track":{"title":"Release track","type":"string","nullable":true,"enum":["Alpha","Beta","Production"]},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","format":"date-time","readOnly":true},"min_sdk_version":{"title":"Min sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"target_sdk_version":{"title":"Target sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"is_enabled":{"title":"Is enabled","type":"boolean"},"is_default":{"title":"Is Default","type":"boolean"},"enterprise":{"title":"Enterprise","type":"string","format":"url"},"application":{"title":"Application","type":"string","format":"url"},"approval_status":{"title":"Application status","type":"string","enum":["AVAILABLE","ACCEPTED","APPROVED","REJECTED"]}}}},"components/schemas/esper_cloud_api_AppVersionDelete":{"id":"components/schemas/esper_cloud_api_AppVersionDelete","kind":"json-schema","title":"esper_cloud_api_AppVersionDelete","data":{"type":"object","properties":{"request_id":{"title":"Request id","type":"string","format":"uuid"},"templates":{"type":"array","description":"List of linked templates to an app version","items":{"type":"object","properties":{"id":{"title":"Id","type":"integer","description":"Id of the linked template"},"name":{"title":"Name","type":"string","description":"Name of the linked template"}}}}}}},"components/schemas/esper_cloud_api_InstallDevices":{"id":"components/schemas/esper_cloud_api_InstallDevices","kind":"json-schema","title":"esper_cloud_api_InstallDevices","data":{"required":["id"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid"},"device_name":{"title":"Device name","type":"string"},"alias_name":{"title":"alias name","type":"string","nullable":true},"group_name":{"title":"Group name","maxLength":255,"minLength":1,"type":"string"}}}},"components/schemas/esper_cloud_api_GoogleEnterprise":{"id":"components/schemas/esper_cloud_api_GoogleEnterprise","kind":"json-schema","title":"esper_cloud_api_GoogleEnterprise","data":{"type":"object","required":["name"],"properties":{"id":{"title":"Id","type":"integer"},"google_enterprise_id":{"title":"Google Enterprise Id","type":"string"},"name":{"title":"Name of Google Enterprise","type":"string"},"state":{"type":"integer"},"callback_url":{"type":"string","format":"url"},"signup_url":{"type":"string","format":"url"},"completion_token":{"type":"string"},"enterprise_token":{"type":"string"},"is_active":{"type":"boolean"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"enterprise":{"type":"string"}}}},"components/schemas/esper_cloud_api_GoogleWebToken":{"id":"components/schemas/esper_cloud_api_GoogleWebToken","kind":"json-schema","title":"esper_cloud_api_GoogleWebToken","data":{"type":"object","properties":{"id":{"title":"Id","type":"integer"},"emm":{"title":"emm Id","type":"integer"},"token":{"title":"Webtoken","type":"string"},"parent_url":{"type":"string","format":"url"},"is_active":{"type":"boolean"},"created_on":{"type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_GoogleWebTokenUpdate":{"id":"components/schemas/esper_cloud_api_GoogleWebTokenUpdate","kind":"json-schema","title":"esper_cloud_api_GoogleWebTokenUpdate","data":{"type":"object","required":["emm","parent_url"],"properties":{"id":{"title":"Id","type":"integer"},"emm":{"title":"emm Id","type":"integer"},"token":{"title":"Webtoken","type":"string"},"parent_url":{"type":"string","format":"url"},"is_active":{"type":"boolean"}}}},"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements":{"id":"components/schemas/esper_cloud_api_GoogleWebTokenUpdateNoRequirements","kind":"json-schema","title":"esper_cloud_api_GoogleWebTokenUpdateNoRequirements","data":{"type":"object","properties":{"id":{"title":"Id","type":"integer"},"emm":{"title":"emm Id","type":"integer"},"token":{"title":"Webtoken","type":"string"},"parent_url":{"type":"string","format":"url"},"is_active":{"type":"boolean"}}}},"components/schemas/esper_cloud_api_GoogleProduct":{"id":"components/schemas/esper_cloud_api_GoogleProduct","kind":"json-schema","title":"esper_cloud_api_GoogleProduct","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icon_url":{"type":"string","format":"url"},"is_active":{"type":"boolean"},"title":{"type":"string"},"unapproved":{"type":"boolean"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"min_sdk_version":{"type":"string"},"google_product_id":{"type":"string"},"package_name":{"type":"string","minLength":1,"maxLength":255},"google_enterprise":{"type":"integer"}}}},"components/schemas/esper_cloud_api_PatchGoogleProduct":{"id":"components/schemas/esper_cloud_api_PatchGoogleProduct","kind":"json-schema","title":"esper_cloud_api_PatchGoogleProduct","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"icon_url":{"type":"string","format":"url"},"is_active":{"type":"boolean"},"title":{"type":"string"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"min_sdk_version":{"type":"string"},"google_product_id":{"type":"string"},"package_name":{"type":"string","minLength":1,"maxLength":255},"google_enterprise":{"type":"integer"}}}},"components/schemas/esper_cloud_api_GoogleProductInstall":{"id":"components/schemas/esper_cloud_api_GoogleProductInstall","kind":"json-schema","title":"esper_cloud_api_GoogleProductInstall","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"enterprise":{"type":"string"},"device":{"type":"string"},"install_state":{"type":"string"},"version_code":{"type":"string"},"install_type":{"type":"integer","title":"install type- default 0, EMM 1"},"is_force_install":{"type":"boolean"},"reason_details":{"type":"string"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"is_active":{"type":"boolean"},"objects":{"type":"object"}}}},"components/schemas/esper_cloud_api_DeviceStateEnum":{"id":"components/schemas/esper_cloud_api_DeviceStateEnum","kind":"json-schema","title":"esper_cloud_api_DeviceStateEnum","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following are the Device States and their description"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 30 = Beginning Provisioning\n* 40 = Configuring Google Play (still provisioning)\n* 50 = Applying Policies and Installing Applications (still provisioning)\n* 60 = Offline\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 110 = Android For Work Account added\n* 120 = Apps installed\n* 130 = Branding Processed\n* 140 = Permission Policy Processed\n* 150 = Device Policy Processed\n* 160 = Device Settings Processed\n* 170 = Security Policy Processed\n* 180 = Phone Policy Processed\n* 190 = Custom Settings Processed\n* 200 = Registered\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 30 = Beginning Provisioning\n* 40 = Configuring Google Play (still provisioning)\n* 50 = Applying Policies and Installing Applications (still provisioning)\n* 60 = Offline\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 110 = Android For Work Account added\n* 120 = Apps installed\n* 130 = Branding Processed\n* 140 = Permission Policy Processed\n* 150 = Device Policy Processed\n* 160 = Device Settings Processed\n* 170 = Security Policy Processed\n* 180 = Phone Policy Processed\n* 190 = Custom Settings Processed\n* 200 = Registered\n"},"children":[]}]}],"enum":[0,1,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200]}},"components/schemas/esper_cloud_api_EmmDevice":{"id":"components/schemas/esper_cloud_api_EmmDevice","kind":"json-schema","title":"esper_cloud_api_EmmDevice","data":{"type":"object","properties":{"id":{"type":"integer","format":"int64"},"google_device_id":{"type":"string"},"managementType":{"type":"string"},"device":{"type":"string","format":"uuid"},"google_user":{"type":"integer","format":"int64"},"policy":{"type":"integer","format":"int64"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"is_active":{"type":"boolean","default":true}}}},"components/schemas/esper_cloud_api_DeviceInfo":{"id":"components/schemas/esper_cloud_api_DeviceInfo","kind":"json-schema","title":"esper_cloud_api_DeviceInfo","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"url":{"type":"string","format":"url"},"device_name":{"type":"string"},"alias_name":{"type":"string","description":"Device friendly name"},"policy_name":{"type":"string"},"status":{"type":"integer","description":"Current status of device","format":"int32"},"state":{"$ref":"#/components/schemas/esper_cloud_api_DeviceStateEnum"},"current_command":{"type":"string","description":"Current command associated with device","format":"uuid"},"suid":{"type":"string","description":"Device generated unique id"},"directory_record_id":{"type":"string","format":"uuid","description":"ID of Directory Record associated with the device (if available)"},"fcm_id":{"type":"string"},"enterprise":{"type":"string","format":"url"},"policy":{"type":"string","format":"url"},"user":{"type":"string","format":"url"},"groups":{"type":"array","items":{"type":"string","format":"url"}},"tags":{"type":"array","items":{"type":"string"}},"api_level":{"type":"integer","format":"int32"},"template_name":{"type":"string"},"mqtt_id":{"type":"string"},"softwareInfo":{"type":"object","properties":{}},"hardwareInfo":{"type":"object","properties":{}},"displays":{"type":"object","properties":{}},"networkInfo":{"type":"object","properties":{}},"memoryInfo":{"type":"object","properties":{}},"esper_cient":{"type":"string"},"device_type":{"type":"string"},"audioConstraints":{"type":"object","properties":{}},"provisioned_on":{"type":"string","format":"date-time"},"created_on":{"type":"string","format":"date-time"},"current_app_mode":{"type":"integer"},"kiosk_app_name":{"type":"string"},"lockdown_state":{"type":"integer"},"timezone_string":{"type":"string"},"initialtemplate":{"type":"string"},"updated_on":{"type":"string","format":"date-time"},"emm_device":{"$ref":"#/components/schemas/esper_cloud_api_EmmDevice"},"is_gms":{"type":"boolean","default":true},"is_active":{"type":"boolean","default":true},"has_seamlessInfo":{"type":"boolean","readOnly":true}}}},"components/schemas/esper_cloud_api_DeviceApp":{"id":"components/schemas/esper_cloud_api_DeviceApp","kind":"json-schema","title":"esper_cloud_api_DeviceApp","data":{"required":["app_name","device","package_name"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"app_name":{"title":"App name","minLength":1,"type":"string"},"state":{"type":"string"},"app_type":{"type":"string"},"package_name":{"title":"Package name","maxLength":255,"minLength":1,"type":"string"},"whitelisted":{"title":"Whitelisted","type":"boolean"},"is_data_clearable":{"title":"Data clearable","type":"boolean"},"is_uninstallable":{"title":"Uninstallable","type":"boolean"},"product_id":{"title":"Product id","maxLength":255,"minLength":1,"type":"string","nullable":true},"version_code":{"title":"Version code","maxLength":128,"minLength":1,"type":"string","nullable":true},"version_name":{"title":"Version name","maxLength":128,"minLength":1,"type":"string","nullable":true},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","format":"date-time","readOnly":true},"is_active":{"title":"Is active","type":"boolean"},"is_kiosk_app":{"type":"boolean"},"is_esper_controlled":{"type":"boolean"},"device":{"title":"AndroidDevice","type":"string","format":"uuid"}}}},"components/schemas/esper_cloud_api_AppInstallVersion":{"id":"components/schemas/esper_cloud_api_AppInstallVersion","kind":"json-schema","title":"Version","data":{"title":"Version","type":"object","properties":{"app_version_id":{"title":"App version id","type":"string","format":"uuid"},"version_code":{"title":"Version code","type":"string"},"build_number":{"title":"Build number","type":"string"},"hash_string":{"title":"Hash string","type":"string"}}}},"components/schemas/esper_cloud_api_AppInstallApplication":{"id":"components/schemas/esper_cloud_api_AppInstallApplication","kind":"json-schema","title":"Application","data":{"title":"Application","type":"object","properties":{"application_name":{"title":"Application name","type":"string"},"package_name":{"title":"Package name","type":"string"},"version":{"$ref":"#/components/schemas/esper_cloud_api_AppInstallVersion"},"is_enabled":{"title":"Is enabled","type":"boolean"}}}},"components/schemas/esper_cloud_api_AppInstallStateEnum":{"id":"components/schemas/esper_cloud_api_AppInstallStateEnum","kind":"json-schema","title":"Install state","data":{"title":"Install state","type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device App Install State"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* INSTALL_IN_PROGRESS = \"Installation In-Progress\"\n* UNINSTALL_IN_PROGRESS = \"Uninstallation In-Progress\"\n* INSTALL_SUCCESS = \"Install Success\"\n* INSTALL_FAILED = \"Install Failed\"\n* UNINSTALL_SUCCESS = \"Uninstall Success\"\n* UNINSTALL_FAILED = \"Uninstall Failed\"\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* INSTALL_IN_PROGRESS = \"Installation In-Progress\"\n* UNINSTALL_IN_PROGRESS = \"Uninstallation In-Progress\"\n* INSTALL_SUCCESS = \"Install Success\"\n* INSTALL_FAILED = \"Install Failed\"\n* UNINSTALL_SUCCESS = \"Uninstall Success\"\n* UNINSTALL_FAILED = \"Uninstall Failed\"\n"},"children":[]}]}],"enum":["NOT_INSTALLED","INSTALL_IN_PROGRESS","UNINSTALL_IN_PROGRESS","INSTALL_SUCCESS","INSTALL_FAILED","UNINSTALL_SUCCESS","UNINSTALL_FAILED"]}},"components/schemas/esper_cloud_api_AppInstall":{"id":"components/schemas/esper_cloud_api_AppInstall","kind":"json-schema","title":"esper_cloud_api_AppInstall","data":{"required":["application","device","enterprise","install_state"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"application":{"$ref":"#/components/schemas/esper_cloud_api_AppInstallApplication"},"install_state":{"$ref":"#/components/schemas/esper_cloud_api_AppInstallStateEnum"},"reason_details":{"title":"Reason details","minLength":1,"type":"string","nullable":true},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","format":"date-time","readOnly":true},"is_active":{"title":"Is active","type":"boolean"},"enterprise":{"title":"Enterprise","type":"string","format":"url"},"device":{"title":"AndroidDevice","type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_DeviceStatus":{"id":"components/schemas/esper_cloud_api_DeviceStatus","kind":"json-schema","title":"esper_cloud_api_DeviceStatus","data":{"required":["data","device","enterprise"],"type":"object","properties":{"id":{"title":"ID","type":"integer","readOnly":true},"data":{"title":"Data","type":"string"},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"device":{"title":"AndroidDevice","type":"string","format":"url"},"enterprise":{"title":"Enterprise","type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_EventFeed":{"id":"components/schemas/esper_cloud_api_EventFeed","kind":"json-schema","title":"esper_cloud_api_EventFeed","data":{"type":"object","properties":{"id":{"type":"integer","description":"Integer representing the event ID"},"message_id":{"type":"string","format":"UUID","description":"UUID string representing message ID"},"device_status_id":{"type":"string","format":"UUID","description":"UUID string representing device status ID"},"created_on":{"type":"string","format":"date-time"},"message":{"type":"string","description":"Message describing the command, who issued it, and from which state it was issued."},"device":{"type":"string","format":"url","description":"URL to device instance","example":"https://{example}-api.esper.cloud/api/enterprise/{enterprise_id}/device/{device_id}/"},"enterprise":{"type":"string","format":"url","description":"URL to enterprise instance","example":"https://{example}-api.esper.cloud/api/enterprise/{enterprise_id}/"}}}},"components/schemas/esper_cloud_api_V0DeviceCommandEnum":{"id":"components/schemas/esper_cloud_api_V0DeviceCommandEnum","kind":"json-schema","title":"esper_cloud_api_V0DeviceCommandEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following commands are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* ADD_TO_WHITELIST: Whitelist an installed sytem app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* ADD_WIFI_AP : Add wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* CLEAR_APP_DATA : Clear data for an installed app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* CLEAR_APP_CACHE : Clear the cache of an installed app without removing its data. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. Supported on Android 6.0+ devices with the supervisor installed.\n* INSTALL: Install an app on a device. Requires `app_version` in command arguments where `app_version` is the version id of app uploaded on Esper\n* LOCK: Lock device screen\n* REBOOT: Reboot a device\n* REMOVE_FROM_WHITELIST : Remove an installed system app from whitelist. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* REMOVE_WIFI_AP : Remove Wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* UPDATE_WIFI_AP : Update Wi-Fi access point configuration on device. Requires `wifi_ssid` and `wifi_security_type` in command arguments. Device must be connected to the target SSID. Supports EAP (enterprise) and personal (WPA2/WPA/WEP) networks. On failure, attempts to restore the previous configuration. Android only.\n* SET_APP_PERMISSION : Set permission for an installed app. Requires `package_name`, `grant_state`, `permission` in command arguments where `package_name` is the app package uploaded on Esper, `grant_state` should be \"PERMISSION_GRANT_STATE_DEFAULT\", \"PERMISSION_GRANT_STATE_DENIED\", \"PERMISSION_GRANT_STATE_GRANTED\" and `permission` is a valid permission\n* SET_APP_STATE : Set the state of an app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN. Requries `app_state` and `package_name` in command arguments where `app_state` is the state of app and `package_name` is the app package uploaded on Esper\n* SET_BLUETOOTH_STATE : Set bluetooth state (ON/OFF) for device. Requires `bluetooth_state` in command arguments where `bluetooth_state` is a boolean.\n* SET_BRIGHTNESS_SCALE : Set brightness for device. Requires `brightness_value` in command arguments where `brightness_value` is an integer (1-100).\n* SET_DEVICE_LOCKDOWN_STATE : Set lockdown state for a device. Requires `state` and `message` in command arguments where `state` is LOCKED/UNLOCKED and `message` is the message to be added with command\n* SET_GPS_STATE :Set the GPS state for a device. Requires `gps_state` in command arguments where `gps_state` should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)\n* SET_KIOSK_APP : Command to set the Kiosk app for a device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* SET_NEW_POLICY : Apply policy on device. Requires `policy_url` in command arguments where `policy_url` is the URL to the policy\n* SET_ROTATION_STATE : Set screen orientation. Requires `rotate_state` in command arguments where `rotate_state` should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)\n* SET_SCREEN_OFF_TIMEOUT: Set screen off timeout for a device. Requires `screen_off_timeout` in command arguments where `screen_off_timeout` should be either -1 or between 5000 and 1800000\n* SET_STREAM_VOLUME : Set stream volume for a device. Requires `stream` and `volume_level` in command arguments where `stream` should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music) and `volume_level` should be a value from 0 to 100\n* SET_TIMEZONE : Set the timezone for a device. Requires `timezone_string` in command arguments where `timezone_string` is a valid string representing the timezone\n* SET_WIFI_STATE : Set the wifi state (ON/OFF) for a device. Requires `wifi_state` in command arguments where `wifi_state` is a boolean.\n* UNINSTALL: Uninstall an app from device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* UPDATE_DEVICE_CONFIG: Push additional configurations to the Device\n* UPDATE_HEARTBEAT: Ping a device\n* UPDATE_LATEST_DPC : Prompt device to update the DPC app to the latest versions.\n* WIPE : Wipes the device.\n* RESET_LOCKSCREEN_PASSWORD: Change the lockscreen password of the device. Requires `new_lockscreen_password` in command arguments where `new_lockscreen_password` is a valid string.\n* CAPTURE_SCREENSHOT: Allows you to take a screenshot of the device's current screen. The \"tag\" is an optional param that can be set to corresponding screenshot.\n* UPDATE_BLUEPRINT: Pushes or reapplies the most current Blueprint version to the device or group.\n* NOTIFY_DEVICE: Allows you to  broadcast message to the device. Requires 'title', 'message' and 'url' (optional) as string in command arguments. For scheduled message command requires 'name', 'time_type' as string and 'start_datetime' and 'end_datetime' as date-time.\n* SET_DEVICE_LANGUAGE: Set language for a device. Requires locale value in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code.\n* SET_ETHERNET_SETTINGS: Set ethernet settings on supported Device\n* SET_STATIC_IP: Set static ip on the deivce. Requires interface, dhcp_dnabled, static_ip, primary_dns, subnet_mask, gateway, secondary_dns (optional)\n* BEEP_DEVICE: Allows you to make the device beep for a specified duration\n* SET_APP_NOTIFICATIONS: Enable/disable app notifications. Requries `app_notifications_state` and `package_name` in command arguments where `app_notifications_state` is a string that has the value `ENABLED` or `DISABLED` and `package_name` is the app package uploaded on Esper.\n* USE_ONLY_SAVED_WIFI_AP: Allow/disallow device to connect to unregistered WiFi APs. Requires boolean `use_only_saved_ap`.\n* CONVERGE: Allows you to converge the device to the latest version of its assigned blueprint.\n* SYNC_CONTENT: Allows you to sync content to the device. Requires `content_id` in command arguments where `content_id` is the id of the content to be synced. ```\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* ADD_TO_WHITELIST: Whitelist an installed sytem app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* ADD_WIFI_AP : Add wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* CLEAR_APP_DATA : Clear data for an installed app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* CLEAR_APP_CACHE : Clear the cache of an installed app without removing its data. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. Supported on Android 6.0+ devices with the supervisor installed.\n* INSTALL: Install an app on a device. Requires `app_version` in command arguments where `app_version` is the version id of app uploaded on Esper\n* LOCK: Lock device screen\n* REBOOT: Reboot a device\n* REMOVE_FROM_WHITELIST : Remove an installed system app from whitelist. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* REMOVE_WIFI_AP : Remove Wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* UPDATE_WIFI_AP : Update Wi-Fi access point configuration on device. Requires `wifi_ssid` and `wifi_security_type` in command arguments. Device must be connected to the target SSID. Supports EAP (enterprise) and personal (WPA2/WPA/WEP) networks. On failure, attempts to restore the previous configuration. Android only.\n* SET_APP_PERMISSION : Set permission for an installed app. Requires `package_name`, `grant_state`, `permission` in command arguments where `package_name` is the app package uploaded on Esper, `grant_state` should be \"PERMISSION_GRANT_STATE_DEFAULT\", \"PERMISSION_GRANT_STATE_DENIED\", \"PERMISSION_GRANT_STATE_GRANTED\" and `permission` is a valid permission\n* SET_APP_STATE : Set the state of an app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN. Requries `app_state` and `package_name` in command arguments where `app_state` is the state of app and `package_name` is the app package uploaded on Esper\n* SET_BLUETOOTH_STATE : Set bluetooth state (ON/OFF) for device. Requires `bluetooth_state` in command arguments where `bluetooth_state` is a boolean.\n* SET_BRIGHTNESS_SCALE : Set brightness for device. Requires `brightness_value` in command arguments where `brightness_value` is an integer (1-100).\n* SET_DEVICE_LOCKDOWN_STATE : Set lockdown state for a device. Requires `state` and `message` in command arguments where `state` is LOCKED/UNLOCKED and `message` is the message to be added with command\n* SET_GPS_STATE :Set the GPS state for a device. Requires `gps_state` in command arguments where `gps_state` should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)\n* SET_KIOSK_APP : Command to set the Kiosk app for a device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* SET_NEW_POLICY : Apply policy on device. Requires `policy_url` in command arguments where `policy_url` is the URL to the policy\n* SET_ROTATION_STATE : Set screen orientation. Requires `rotate_state` in command arguments where `rotate_state` should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)\n* SET_SCREEN_OFF_TIMEOUT: Set screen off timeout for a device. Requires `screen_off_timeout` in command arguments where `screen_off_timeout` should be either -1 or between 5000 and 1800000\n* SET_STREAM_VOLUME : Set stream volume for a device. Requires `stream` and `volume_level` in command arguments where `stream` should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music) and `volume_level` should be a value from 0 to 100\n* SET_TIMEZONE : Set the timezone for a device. Requires `timezone_string` in command arguments where `timezone_string` is a valid string representing the timezone\n* SET_WIFI_STATE : Set the wifi state (ON/OFF) for a device. Requires `wifi_state` in command arguments where `wifi_state` is a boolean.\n* UNINSTALL: Uninstall an app from device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* UPDATE_DEVICE_CONFIG: Push additional configurations to the Device\n* UPDATE_HEARTBEAT: Ping a device\n* UPDATE_LATEST_DPC : Prompt device to update the DPC app to the latest versions.\n* WIPE : Wipes the device.\n* RESET_LOCKSCREEN_PASSWORD: Change the lockscreen password of the device. Requires `new_lockscreen_password` in command arguments where `new_lockscreen_password` is a valid string.\n* CAPTURE_SCREENSHOT: Allows you to take a screenshot of the device's current screen. The \"tag\" is an optional param that can be set to corresponding screenshot.\n* UPDATE_BLUEPRINT: Pushes or reapplies the most current Blueprint version to the device or group.\n* NOTIFY_DEVICE: Allows you to  broadcast message to the device. Requires 'title', 'message' and 'url' (optional) as string in command arguments. For scheduled message command requires 'name', 'time_type' as string and 'start_datetime' and 'end_datetime' as date-time.\n* SET_DEVICE_LANGUAGE: Set language for a device. Requires locale value in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code.\n* SET_ETHERNET_SETTINGS: Set ethernet settings on supported Device\n* SET_STATIC_IP: Set static ip on the deivce. Requires interface, dhcp_dnabled, static_ip, primary_dns, subnet_mask, gateway, secondary_dns (optional)\n* BEEP_DEVICE: Allows you to make the device beep for a specified duration\n* SET_APP_NOTIFICATIONS: Enable/disable app notifications. Requries `app_notifications_state` and `package_name` in command arguments where `app_notifications_state` is a string that has the value `ENABLED` or `DISABLED` and `package_name` is the app package uploaded on Esper.\n* USE_ONLY_SAVED_WIFI_AP: Allow/disallow device to connect to unregistered WiFi APs. Requires boolean `use_only_saved_ap`.\n* CONVERGE: Allows you to converge the device to the latest version of its assigned blueprint.\n* SYNC_CONTENT: Allows you to sync content to the device. Requires `content_id` in command arguments where `content_id` is the id of the content to be synced. ```\n"},"children":[]}]}],"enum":["ADD_TO_WHITELIST","ADD_WIFI_AP","CLEAR_APP_DATA","CLEAR_APP_CACHE","INSTALL","LOCK","REBOOT","REMOVE_FROM_WHITELIST","REMOVE_WIFI_AP","SET_APP_PERMISSION","SET_APP_STATE","SET_BLUETOOTH_STATE","SET_BRIGHTNESS_SCALE","SET_DEVICE_LOCKDOWN_STATE","SET_GPS_STATE","SET_KIOSK_APP","SET_NEW_POLICY","SET_ROTATION_STATE","SET_SCREEN_OFF_TIMEOUT","SET_STREAM_VOLUME","SET_TIMEZONE","SET_WIFI_STATE","UNINSTALL","UPDATE_DEVICE_CONFIG","UPDATE_HEARTBEAT","UPDATE_LATEST_DPC","UPDATE_WIFI_AP","WIPE","RESET_LOCKSCREEN_PASSWORD","UPDATE_BLUEPRINT","CAPTURE_SCREENSHOT","NOTIFY_DEVICE","SET_DEVICE_LANGUAGE","SET_ETHERNET_SETTINGS","SET_STATIC_IP","BEEP_DEVICE","SET_APP_NOTIFICATIONS","USE_ONLY_SAVED_WIFI_AP","CONVERGE","SYNC_CONTENT"]}},"components/schemas/esper_cloud_api_V0CommandArgs":{"id":"components/schemas/esper_cloud_api_V0CommandArgs","kind":"json-schema","title":"Command args","data":{"title":"Command args","type":"object","properties":{"device_alias_name":{"type":"string","description":"Alternate human-readable name for your Device"},"custom_settings_config":{"type":"object","properties":{},"description":"Managed configurations for your device (passed as JSON object)"},"app_version":{"type":"string","description":"The version id of app uploaded on Esper"},"package_name":{"type":"string","description":"The app package name uploaded on Esper"},"policy_url":{"type":"string","description":"The URL to the policy"},"wifi_access_points":{"type":"object","properties":{},"description":"Wifi access points for the device (passed as JSON object)"},"state":{"type":"string","description":"LOCKED/UNLOCKED"},"message":{"type":"string","description":"Message to be added with command to notify device."},"title":{"type":"string","description":"Message title  to be added with command to notify device."},"url":{"type":"string","description":"(Optional) Link to notify device."},"app_state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The state of app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN"},"children":[]}]}]}]},"bluetooth_state":{"type":"boolean","description":"The state of bluetooth - ON/OFF"},"brightness_value":{"type":"integer","description":"The brightness value of a device(1-100)"},"gps_state":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The GPS state of a device. Should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)"},"children":[]}]}]}]},"rotate_state":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The screen orientation of a device. Should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)"},"children":[]}]}]}]},"screen_off_timeout":{"type":"integer","description":"The value for screen timeout of a device. Should be either -1 or between 5000 and 1800000"},"stream":{"type":"integer","description":"The value of the volume stream. Should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music)"},"volume_level":{"type":"integer","description":"The level of volume. Should be a value from 0 to 100"},"timezone_string":{"type":"integer","description":"The timezone of a device. Should be a valid timezone string"},"wifi_state":{"type":"boolean","description":"The state of WIFI - ON/OFF"},"wifi_revert_timeout":{"type":"integer","description":"The WIFI revert timeout. Should be greater than or equal to 1"},"locale":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Language and country code in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code."},"children":[]}]}]}]},"ethernet_auth_mode":{"type":"string","description":"Chosen mode of authentication","enum":["NONE","EAP_TLS"]},"ethernet_ca_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CA certificate alias. It is mandatory with Auth Mode EAP_TLS"},"children":[]}]}]}]},"ethernet_client_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Client certificate alias. It is mandatory with Auth Mode EAP_TLS"},"children":[]}]}]}]},"ethernet_eap_identity":{"type":"string","description":"EAP identity"},"interface":{"type":"string","description":"The network interface of the device - wlan/eth"},"dhcp_enabled":{"type":"string","description":"The dhcp state on the device - true/false"},"static_ip":{"type":"string","description":"The static ip to set on the device. Should be a valid ipv4"},"primary_dns":{"type":"string","description":"The primary dns to set on the device. Should be a valid ipv4"},"subnet_mask":{"type":"string","description":"The subnet mask set on the device. Should between 1-32 both inclusive"},"secondary_dns":{"type":"string","description":"The secondary dns to set on the device. Should be a valid ipv4"},"gateway":{"type":"string","description":"The gateway to set on the device. Should be a valid ipv4"},"duration":{"type":"string","description":"The beep duration specified in seconds. Value must be between 10 and 300, both inclusive."},"tag":{"type":"string","description":"The tag is an optional param that can be set to corresponding screenshot. Options are \"tag\"."},"video_quality":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The video quality of the respective Remote Viewer session. Options are \"STANDARD\" and \"DATA_SAVER\"."},"children":[]}]}]}]},"enable_debug_mode":{"type":"boolean","default":false,"description":"The flag to determine whether device must go into Debug Mode, in order to retreive bug report when the device is already in Kiosk Mode."},"converge_with_provision_option":{"type":"boolean","default":false,"description":"The flag to determine whether device should be converged with provision only or not."},"auto_update_mode":{"type":"string","enum":["autoUpdateDefault","autoUpdateHighPriority","autoUpdatePostponed"],"default":"autoUpdateHighPriority","description":"(Optional) Auto update mode for google play application"},"content_id":{"type":"string","description":"The id of the content to be synced."}}}},"components/schemas/esper_cloud_api_V0CommandScheduleEnum":{"id":"components/schemas/esper_cloud_api_V0CommandScheduleEnum","kind":"json-schema","title":"esper_cloud_api_V0CommandScheduleEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule types are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n* RECURRING: Schedule the command to execute during the scheduled time until it succeeds or expires. After executing successfully, it will not fire again.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n* RECURRING: Schedule the command to execute during the scheduled time until it succeeds or expires. After executing successfully, it will not fire again.\n"},"children":[]}]}],"enum":["IMMEDIATE","WINDOW","RECURRING"]}},"components/schemas/esper_cloud_api_V0CommandScheduleArgsTimeTypeEnum":{"id":"components/schemas/esper_cloud_api_V0CommandScheduleArgsTimeTypeEnum","kind":"json-schema","title":"esper_cloud_api_V0CommandScheduleArgsTimeTypeEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Time-Type argument, in Schedule args, is to indicate which timezone the Command Framework should utilize when scheduling the command."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule Args for Time-Type are supported:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[]}]}],"enum":["console","device"]}},"components/schemas/esper_cloud_api_V0CommandScheduleArgs":{"id":"components/schemas/esper_cloud_api_V0CommandScheduleArgs","kind":"json-schema","title":"Command Schedule Arguments","data":{"title":"Command Schedule Arguments","type":"object","properties":{"name":{"type":"string"},"start_datetime":{"type":"string","format":"date-time"},"end_datetime":{"type":"string","format":"date-time"},"time_type":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandScheduleArgsTimeTypeEnum"},"window_start_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is automatically populated by the time field from the request's start_datetime and cannot be injected via the API request body."},"children":[]}]}]}]},"window_end_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is automatically populated by the time field from the request's end_datetime and cannot be injected via the API request body."},"children":[]}]}]}]},"days":{"type":"array","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_V0CommandRequestStatus":{"id":"components/schemas/esper_cloud_api_V0CommandRequestStatus","kind":"json-schema","title":"esper_cloud_api_V0CommandRequestStatus","data":{"type":"object","properties":{"state":{"title":"Command State","type":"string","description":"Current State of command","format":"uuid"},"total":{"title":"Count","type":"integer","description":"No of commands currently in this state","format":"int64"}}}},"components/schemas/esper_cloud_api_V0CommandRequest":{"id":"components/schemas/esper_cloud_api_V0CommandRequest","kind":"json-schema","title":"esper_cloud_api_V0CommandRequest","data":{"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Unique command request identifier","format":"uuid","readOnly":true},"enterprise":{"title":"Enterperise ID","type":"string","description":"Esper account identifier","format":"uuid","readOnly":true},"command_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifies the type of command"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[]}]}],"enum":["DEVICE","GROUP","DYNAMIC"]},"devices":{"maxItems":1000,"minItems":0,"type":"array","description":"list of devices to run commands","items":{"type":"string","format":"uuid"}},"groups":{"maxItems":500,"minItems":0,"type":"array","description":"list of groups to run commands","items":{"type":"string","format":"uuid"}},"command":{"$ref":"#/components/schemas/esper_cloud_api_V0DeviceCommandEnum"},"command_args":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandArgs"},"schedule":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandScheduleEnum"},"schedule_args":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandScheduleArgs"},"issued_by":{"type":"string","description":"command is issued by this user","format":"url","readOnly":true},"created_on":{"title":"Created on","type":"string","description":"Timestamp of command request","format":"date-time","readOnly":true},"status":{"title":"Current Status","type":"array","description":"Show current status of commands issued during this request","readOnly":true,"items":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandRequestStatus"}}}}},"components/schemas/esper_cloud_api_DeviceGroup":{"id":"components/schemas/esper_cloud_api_DeviceGroup","kind":"json-schema","title":"esper_cloud_api_DeviceGroup","data":{"required":["name"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Group id","format":"uuid","readOnly":true},"name":{"title":"Name","type":"string","description":"Group name"},"created_on":{"title":"Created on","type":"string","description":"Date and time of when the group was created","format":"date-time","readOnly":true},"enterprise":{"title":"Enterprise","type":"string","description":"Enterprise url","format":"url","readOnly":true},"parent":{"title":"Parent","type":"string","description":"Parent group url","format":"url"},"device_count":{"title":"Device count","type":"integer","description":"Count of devices in the group","readOnly":true},"path":{"title":"Path","type":"string","description":"Path of the group","readOnly":true},"children_count":{"title":"Children count","type":"integer","description":"Count of child groups","readOnly":true},"thumbnail":{"title":"thumbnail","description":"thumbnail associated with the group","type":"string","format":"uuid"},"blueprint":{"title":"Blueprint","description":"Blueprint associated with the group.","type":"string","format":"uuid","readOnly":true}}}},"components/schemas/esper_cloud_api_DeviceGroupUpdate":{"id":"components/schemas/esper_cloud_api_DeviceGroupUpdate","kind":"json-schema","title":"esper_cloud_api_DeviceGroupUpdate","data":{"required":["name"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Group id","format":"uuid","readOnly":true},"name":{"title":"Name","type":"string","description":"Group name"},"created_on":{"title":"Created on","type":"string","description":"Date and time of when the group was created","format":"date-time","readOnly":true},"enterprise":{"title":"Enterprise","type":"string","description":"Enterprise url","format":"url","readOnly":true},"parent":{"title":"Parent","type":"string","description":"Parent group id","format":"uuid"},"device_ids":{"title":"Device ids","uniqueItems":true,"type":"array","description":"Devices ids","items":{"type":"string","format":"uuid"}},"device_count":{"title":"Device count","type":"integer","readOnly":true},"path":{"title":"Path","type":"string","description":"Path of the group","readOnly":true},"children_count":{"title":"Children Count","type":"integer","description":"Count of child groups","readOnly":true}}}},"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate":{"id":"components/schemas/esper_cloud_api_DeviceGroupPartialUpdate","kind":"json-schema","title":"esper_cloud_api_DeviceGroupPartialUpdate","data":{"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Group id","format":"uuid","readOnly":true},"name":{"title":"Name","type":"string","description":"Group name"},"created_on":{"title":"Created on","type":"string","description":"Date and time of when the group was created","format":"date-time","readOnly":true},"enterprise":{"title":"Enterprise","type":"string","description":"Enterprise url","format":"url","readOnly":true},"parent":{"title":"Parent","type":"string","description":"Parent group id","format":"uuid"},"device_ids":{"title":"Device ids","uniqueItems":true,"type":"array","description":"Device ids","items":{"type":"string","format":"uuid"}},"device_count":{"title":"Device count","type":"integer","description":"Count of devices in the group","readOnly":true},"path":{"title":"Path","type":"string","description":"Path of the group","readOnly":true},"children_count":{"title":"Children Count","type":"integer","description":"Count of child groups","readOnly":true}}}},"components/schemas/esper_cloud_api_GroupThumbnail":{"id":"components/schemas/esper_cloud_api_GroupThumbnail","kind":"json-schema","title":"esper_cloud_api_GroupThumbnail","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"image_file":{"type":"string","readOnly":true},"thumbnail_url":{"type":"string","readOnly":true},"created_on":{"type":"string","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_DeviceSubGroup":{"id":"components/schemas/esper_cloud_api_DeviceSubGroup","kind":"json-schema","title":"esper_cloud_api_DeviceSubGroup","data":{"type":"object","properties":{"subgroups":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"components/schemas/esper_cloud_api_EnterprisePolicyData":{"id":"components/schemas/esper_cloud_api_EnterprisePolicyData","kind":"json-schema","title":"Policy Data","data":{"title":"Policy Data","type":"object","properties":{"keyguardDisabled":{"type":"boolean","description":"Should KeyGuard be disabled?"},"safeBootDisabled":{"type":"boolean","description":"Should SafeBoot be disabled?"},"statusBarDisabled":{"type":"boolean","description":"Should Status Bar be disabled?"},"factoryResetDisabled":{"type":"boolean","description":"Should Factory Reset be disabled?"},"screenshotDisabled":{"type":"boolean","description":"Should Screenshot capability be disabled?"},"usbConnectivityDisabled":{"type":"boolean","description":"Should USB connectivity be disabled?"},"smsDisabled":{"type":"boolean","description":"Should SMS functionality be disabled?"},"outgoingCallsDisabled":{"type":"boolean","description":"Should Outgoing Calls be disabled?"},"cameraDisabled":{"type":"boolean","description":"Should Camera be disabled?"},"nfcBeamDisabled":{"type":"boolean","description":"Should NFC capability be disabled?"},"disablePlayStore":{"type":"boolean","description":"Should Google Play Store be disabled on the device?"},"usbFileTransferDisabled":{"type":"boolean","description":"Should USB File transfer capability be disabled?"},"tetheringDisabled":{"type":"boolean","description":"Should USB Tethering capability be enabled?"},"dateTimeConfigDisabled":{"type":"boolean","description":"Should Date/Time configuration capability be disabled?"},"appUninstallDisabled":{"type":"boolean","description":"Should App uninstall capability be disabled?"},"googleAssistantDisabled":{"type":"boolean","description":"Should Google Assistant feature be disabled?"},"disableLocalAppInstall":{"type":"boolean","description":"Should Side-loading of Applications be disabled?"},"adbDisabled":{"type":"boolean","description":"Should Android Debugger be disabled?"},"phonePolicy":{"type":"object","properties":{"incomingNumbers":{"type":"array","description":"List of permitted incoming phone numbers to recieve calls from","items":{"maxLength":15,"type":"string"}},"outgoingNumbers":{"type":"array","description":"List of permitted outgoing phone numbers to make calls to","items":{"maxLength":15,"type":"string"}},"dialer":{"type":"string","description":"Pick a dialer - System default or Esper Dialer","enum":["DEFAULT","SHOONYA"]},"allowUssdCodes":{"type":"boolean","default":false,"description":"Allow USSD codes to be dialed. Default is false"}},"description":"Rules regarding restricting calls from/to phone-numbers"},"frpGoogles":{"type":"array","description":"Details regarding Factory Reset Protection capability. List of permitted Google People IDs, emails and such","items":{"type":"object","properties":{"type":{"type":"string","description":"Type of User account provided - USER or ADMIN","enum":["USER","ADMIN"]},"email":{"type":"string","description":"Email id to be used for Factory protection. This will be asked on the Device's UI","format":"email"},"googleId":{"type":"string","description":"Google People ID associated with the above email (https://developers.google.com/people/api/rest/v1/people/get)"}}}},"googleAccountPermission":{"type":"object","properties":{"maxAccount":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum number of Google accounts to be associated with this device. (Max = 10)"},"children":[]}]}]}]},"emails":{"type":"array","description":"List of emails to be associated","items":{"type":"string","format":"email"}},"domains":{"type":"array","description":"List of domains that can be associated","items":{"type":"string"}}},"description":"Details regarding Google accounts to be associated with the device"},"devicePasswordPolicy":{"type":"object","properties":{"passwordQuality":{"type":"string","description":"What is the type of password quality to apply to the device?","enum":["PASSWORD_QUALITY_ALPHABETIC","PASSWORD_QUALITY_ALPHANUMERIC","PASSWORD_QUALITY_BIOMETRIC_WEAK","PASSWORD_QUALITY_COMPLEX","PASSWORD_QUALITY_NUMERIC","PASSWORD_QUALITY_NUMERIC_COMPLEX","PASSWORD_QUALITY_SOMETHING","PASSWORD_QUALITY_UNSPECIFIED"]}},"description":"Define the Password Policy for the device"},"minimumPasswordLength":{"minimum":4,"type":"integer","description":"What is the minimum length for your device's password"},"permissionPolicy":{"type":"string","description":"What permission should be applied by default for all apps, henceforth?","enum":["PERMISSION_POLICY_PROMPT","PERMISSION_POLICY_AUTO_GRANT","PERMISSION_POLICY_AUTO_DENY"]},"deviceUpdatePolicy":{"type":"object","properties":{"type":{"type":"string","description":"What type of installation is preferred?","enum":["TYPE_INSTALL_AUTOMATIC","TYPE_POSTPONE","TYPE_INSTALL_WINDOWED","TYPE_INSTALL_DISABLED"]},"maintenanceStart":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TYPE_INSTALL_WINDOWED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when should the maintenance start?"},"children":[]}]}]}]},"maintenanceEnd":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"If the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"type"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" is "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"TYPE_INSTALL_WINDOWED"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", when should the maintenance end?"},"children":[]}]}]}]}},"description":"Configuration regarding Device OS Updates"},"settingsAccessLevel":{"type":"string","description":"Type of Android settings app to be applied? Default System Settings or ESPER Settings App?","enum":["SYSTEM","SHOONYA","NONE"]},"settingsAppPassword":{"type":"string","description":"Lock Password (optional) for the ESPER Settings app","format":"password"}}}},"components/schemas/esper_cloud_api_EnterprisePolicy":{"id":"components/schemas/esper_cloud_api_EnterprisePolicy","kind":"json-schema","title":"esper_cloud_api_EnterprisePolicy","data":{"required":["enterprise","name","policy"],"type":"object","properties":{"uuid":{"title":"UUID","type":"string","description":"Unique Policy identifier","format":"uuid","readOnly":true},"enterprise":{"title":"Enterprise url","type":"string","description":"Url of the enterprise resource","format":"url"},"url":{"title":"Policy URL","type":"string","description":"URL link to policy","format":"url","readOnly":true},"name":{"title":"Policy Name","type":"string","description":"Name of the Policy"},"description":{"title":"Policy Description","type":"string","description":"Details regarding the Policy"},"device_count":{"title":"Number of Devices with this policy applied","type":"integer","description":"Count of Devices with this policy applied","readOnly":true},"google_policy_id":{"title":"Google policy id","type":"string","description":"Id of the Google policy","readOnly":true},"policy":{"$ref":"#/components/schemas/esper_cloud_api_EnterprisePolicyData"},"updated_on":{"title":"Updated On","type":"string","description":"Last-Updated Timestamp of Policy","format":"date-time","readOnly":true},"created_on":{"title":"Created on","type":"string","description":"Creation Timestamp of Policy","format":"date-time","readOnly":true},"is_active":{"title":"Policy Active status","type":"boolean","description":"Is this policy currently active"}}}},"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate":{"id":"components/schemas/esper_cloud_api_EnterprisePolicyPartialUpdate","kind":"json-schema","title":"esper_cloud_api_EnterprisePolicyPartialUpdate","data":{"type":"object","properties":{"uuid":{"title":"UUID","type":"string","description":"Unique Policy identifier","format":"uuid","readOnly":true},"enterprise":{"title":"Enterprise url","type":"string","description":"Url of the enterprise resource","format":"url"},"url":{"title":"Policy URL","type":"string","description":"URL link to policy","format":"url","readOnly":true},"name":{"title":"Policy Name","type":"string","description":"Name of the Policy"},"description":{"title":"Policy Description","type":"string","description":"Details regarding the Policy"},"device_count":{"title":"Number of Devices with this policy applied","type":"integer","description":"Count of Devices with this policy applied","readOnly":true},"policy":{"$ref":"#/components/schemas/esper_cloud_api_EnterprisePolicyData"},"updated_on":{"title":"Updated On","type":"string","description":"Last-Updated Timestamp of Policy","format":"date-time","readOnly":true},"created_on":{"title":"Created on","type":"string","description":"Creation Timestamp of Policy","format":"date-time","readOnly":true},"is_active":{"title":"Policy Active status","type":"boolean","description":"Is this policy currently active"},"google_policy_id":{"title":"Google policy id","type":"string","description":"Id of the Google policy","readOnly":true}}}},"components/schemas/esper_cloud_api_V0CommandStatus1":{"id":"components/schemas/esper_cloud_api_V0CommandStatus1","kind":"json-schema","title":"esper_cloud_api_V0CommandStatus1","data":{"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Unique command identifier","format":"uuid","readOnly":true},"request":{"title":"Request Id","type":"string","description":"Request Id associated with this command","format":"uuid","readOnly":true},"device":{"title":"AndroidDevice","type":"string","description":"Device associated with this command","format":"url","readOnly":true},"state":{"type":"string","description":"Current state of the command","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"reason":{"type":"string","description":"details briefing the reason for current command state"},"created_on":{"title":"Created on","type":"string","description":"Timestamp of command creation","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","description":"Last updated timestamp of command","format":"date-time","readOnly":true},"meta":{"type":"object","properties":{"device":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"device_name":{"type":"string"},"alias_name":{"type":"string","nullable":true},"timezone_string":{"type":"string","nullable":true},"tags":{"type":"array","items":{"type":"string"},"nullable":true,"description":"Tags associated with the device"},"managed_by":{"type":"string","enum":["BLUEPRINT","TEMPLATE"],"description":"Indicates whether the device is managed by a Blueprint or Template"}}}}}}}},"components/schemas/esper_cloud_api_Content":{"id":"components/schemas/esper_cloud_api_Content","kind":"json-schema","title":"esper_cloud_api_Content","data":{"required":["id"],"type":"object","properties":{"id":{"title":"Id","type":"integer","description":"Unique content Identifier","readOnly":true},"download_url":{"title":"Content download URL","type":"string","description":"URL to download the content","format":"url"},"name":{"title":"Name","type":"string","description":"Name of the content"},"key":{"title":"Key","maxLength":255,"minLength":1,"type":"string"},"is_dir":{"title":"Is Directory","type":"boolean","default":false},"kind":{"title":"Content kind","maxLength":255,"type":"string","description":"The mime type of the content","nullable":true},"hash":{"title":"Content Hash","type":"string","description":"Hash string of the content"},"size":{"title":"Content Size","maxLength":255,"type":"string","description":"Size of the content in bytes"},"path":{"title":"Path","type":"string","description":"Path to the content"},"permissions":{"title":"Permissions","type":"string","description":"The permssion string for the content"},"tags":{"title":"Content tags","type":"array","description":"Tags for the content","items":{"maxLength":255,"type":"string"}},"description":{"title":"Content description","type":"string","description":"Description for the content","nullable":true},"created":{"title":"Created on","type":"string","format":"date-time","readOnly":true},"modified":{"title":"Modified on","type":"string","format":"date-time","readOnly":true},"enterprise":{"title":"Enterprise","type":"string","description":"URL of the enterprise resource","format":"url"},"owner":{"title":"Owner","type":"object","properties":{"id":{"type":"integer"},"username":{"type":"string"}},"description":"Owner of the content"}}}},"components/schemas/esper_cloud_api_AlertChannelsV1":{"id":"components/schemas/esper_cloud_api_AlertChannelsV1","kind":"json-schema","title":"esper_cloud_api_AlertChannelsV1","data":{"type":"object","properties":{"id":{"type":"integer"},"properties":{"type":"object","properties":{"to_address":{"type":"string","format":"email"}}},"name":{"type":"string"},"type":{"type":"string","description":"format of alert. e.g. email"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"enterprise":{"type":"string","format":"uuid"},"linked_alerts":{"type":"array","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_UpdateAlertChannelsV1":{"id":"components/schemas/esper_cloud_api_UpdateAlertChannelsV1","kind":"json-schema","title":"esper_cloud_api_UpdateAlertChannelsV1","data":{"type":"object","properties":{"id":{"type":"integer"},"properties":{"type":"object","properties":{"to_address":{"type":"string","format":"email"}}},"name":{"type":"string"},"type":{"type":"string","description":"format of alert. e.g. email"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"enterprise":{"type":"string","format":"uuid"}}}},"components/schemas/esper_cloud_api_AlarmRule":{"id":"components/schemas/esper_cloud_api_AlarmRule","kind":"json-schema","title":"esper_cloud_api_AlarmRule","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"enterprise":{"type":"string","format":"uuid"},"devices":{"properties":{"id":{"type":"string","format":"uuid"},"device_name":{"type":"string"},"alias_name":{"type":"string","nullable":true}}},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"description":{"type":"string"},"metric":{"type":"string"},"conditions":{"properties":{"value":{"type":"number","format":"double"},"unit":{"type":"string"},"comparator":{"type":"string"},"toggle_state":{"type":"boolean"}}},"action_emails":{"type":"array","items":{"type":"string","format":"email"}},"actions":{"type":"array","items":{"type":"string"}},"alert_channels":{"type":"array","items":{"type":"string"}},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"is_active":{"type":"boolean"},"realert_interval":{"type":"integer"},"repeat_times":{"type":"integer"},"trigger_count":{"type":"integer"},"daily_trigger_count":{"type":"integer"}}}},"components/schemas/esper_cloud_api_UpdateAlarmRule":{"id":"components/schemas/esper_cloud_api_UpdateAlarmRule","kind":"json-schema","title":"esper_cloud_api_UpdateAlarmRule","data":{"type":"object","required":["enterprise","name","metric","conditions","realert_interval"],"properties":{"id":{"type":"string","format":"uuid"},"enterprise":{"type":"string","format":"uuid"},"devices":{"type":"array","items":{"format":"string"}},"groups":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"description":{"type":"string"},"metric":{"type":"string"},"conditions":{"properties":{"value":{"type":"number","format":"double"},"unit":{"type":"string"},"comparator":{"type":"string"},"toggle_state":{"type":"boolean"}}},"action_emails":{"type":"array","items":{"type":"string","format":"email"}},"actions":{"type":"array","items":{"type":"string"}},"alert_channels":{"type":"array","items":{"type":"string"}},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"},"is_active":{"type":"boolean"},"realert_interval":{"type":"integer"},"repeat_times":{"type":"integer"},"trigger_count":{"type":"integer"},"daily_trigger_count":{"type":"integer"}}}},"components/schemas/esper_cloud_api_AlarmHistory":{"id":"components/schemas/esper_cloud_api_AlarmHistory","kind":"json-schema","title":"esper_cloud_api_AlarmHistory","data":{"type":"object","properties":{"device_name":{"type":"string"},"device_id":{"type":"string","format":"uuid"},"group_id":{"type":"array","items":{"format":"string"},"description":"lists group id's in uuid format"},"group_name":{"type":"string"},"alert_time":{"type":"string","format":"date-time"},"latest_seen":{"type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_Wallpaper":{"id":"components/schemas/esper_cloud_api_Wallpaper","kind":"json-schema","title":"esper_cloud_api_Wallpaper","data":{"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"}}}},"components/schemas/esper_cloud_api_TileIcon":{"id":"components/schemas/esper_cloud_api_TileIcon","kind":"json-schema","title":"esper_cloud_api_TileIcon","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"category":{"type":"string"},"icon_file":{"type":"string","format":"url"},"device_model":{"type":"string"},"custom":{"type":"boolean"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_ApplyTileIcon":{"id":"components/schemas/esper_cloud_api_ApplyTileIcon","kind":"json-schema","title":"esper_cloud_api_ApplyTileIcon","data":{"type":"object","properties":{"icon":{"type":"string","format":"uuid","nullable":true},"apply_mode":{"type":"string","enum":["devices","all_devices","groups","device_model"],"default":"devices"},"device_model":{"type":"string","nullable":true},"devices":{"type":"array","items":{"format":"string"}},"groups":{"type":"array","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_DeviceLocations":{"id":"components/schemas/esper_cloud_api_DeviceLocations","kind":"json-schema","title":"esper_cloud_api_DeviceLocations","data":{"type":"object","properties":{"id":{"type":"integer"},"latitude":{"type":"number","format":"double"},"longitude":{"type":"number","format":"double"},"altitude":{"type":"number","format":"double"},"city":{"type":"string"},"status":{"type":"string"},"country":{"type":"string"},"zipcode":{"type":"integer"},"last_updated_on":{"type":"string","format":"date-time"},"device":{"type":"string","format":"url"},"enterprise":{"type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_SecurityStatesEnum":{"id":"components/schemas/esper_cloud_api_SecurityStatesEnum","kind":"json-schema","title":"esper_cloud_api_SecurityStatesEnum","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following are the Security States and their description"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"  * 1 = SECURE\n  * 10 = LOW_RISK\n  * 20 = MEDIUM_RISK\n  * 30 = HIGH_RISK\n  * 100 = DEVICE_STATE_UNSPECIFIED\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"  * 1 = SECURE\n  * 10 = LOW_RISK\n  * 20 = MEDIUM_RISK\n  * 30 = HIGH_RISK\n  * 100 = DEVICE_STATE_UNSPECIFIED\n"},"children":[]}]}],"enum":[1,10,20,30,100]}},"components/schemas/esper_cloud_api_DeviceTiles":{"id":"components/schemas/esper_cloud_api_DeviceTiles","kind":"json-schema","title":"esper_cloud_api_DeviceTiles","data":{"type":"object","properties":{"id":{"type":"integer"},"device":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"groups":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"url":{"type":"string","format":"url"}}}},"device_name":{"type":"string"},"state":{"type":"integer"},"tags":{"type":"string","nullable":true},"device_type":{"type":"string"},"serial":{"type":"string"},"imeis":{"type":"object"},"android_version":{"type":"integer"},"eea_version":{"type":"string"},"manufacturer":{"type":"string"},"api_level":{"type":"integer"},"template_name":{"type":"string"},"dpc_version":{"type":"string"},"alias_name":{"type":"string"},"provisioned_on":{"type":"string","format":"date-time"},"geofence_id":{"type":"string","format":"uuid"}}},"network_info":{"type":"object","properties":{"__faust":{"type":"object","properties":{"ns":{"type":"string"}}},"mobileIPv4":{"type":"string","nullable":true},"mobileIPv6":{"type":"string","nullable":true},"networkType":{"type":"string","nullable":true},"numberOfSim":{"type":"integer"},"simOperator":{"type":"array","items":{"type":"string"}},"signalStrength":{"type":"string","nullable":true},"networkOperator":{"type":"array","items":{"type":"string"}},"mobileNetworkStatus":{"type":"string"},"currentActiveConnection":{"type":"string"}}},"model":{"type":"string"},"location":{"type":"object","nullable":true},"battery_level":{"type":"number","format":"double"},"security_state":{"type":"string"},"security_reason":{"type":"string"},"security_advise":{"type":"string"},"wifi_ssid":{"type":"string","nullable":true},"updated_on":{"type":"string","format":"date-time"},"created_on":{"type":"string","format":"date-time"},"is_active":{"type":"boolean"},"is_gms":{"type":"boolean"},"status_id":{"type":"integer","nullable":true},"serial_no":{"type":"string"},"android_version":{"type":"integer"},"eea_version":{"type":"string"},"dpc_version":{"type":"string"},"location_city":{"type":"string"},"network_type":{"type":"string"},"enterprise":{"type":"string","format":"url"},"icon":{"type":"string","nullable":true}}}},"components/schemas/esper_cloud_api_StatusMetrics":{"id":"components/schemas/esper_cloud_api_StatusMetrics","kind":"json-schema","title":"esper_cloud_api_StatusMetrics","data":{"type":"object","properties":{"active":{"type":"integer"},"in_active":{"type":"integer"},"low_risk":{"type":"integer"},"high_risk":{"type":"integer"},"medium_risk":{"type":"integer"},"secure":{"type":"integer"},"low_battery":{"type":"integer"},"under_provisioning":{"type":"integer"},"recently_added":{"type":"integer"},"unspecified":{"type":"integer"},"total_devices_under_risk":{"type":"integer"}}}},"components/schemas/esper_cloud_api_DeviceStatusReport":{"id":"components/schemas/esper_cloud_api_DeviceStatusReport","kind":"json-schema","title":"esper_cloud_api_DeviceStatusReport","data":{"type":"object","properties":{"device_id":{"type":"string","format":"uuid"},"device_name":{"type":"string"},"alias_name":{"type":"string","nullable":true},"device_model":{"type":"string"},"device_brand":{"type":"string"},"android_version":{"type":"string"},"serial_number":{"type":"string"},"is_new":{"type":"boolean"},"last_known_location":{"type":"string"},"days_active":{"type":"integer"},"status":{"type":"string","description":"choices- ACTIVE / INACTIVE / DISABLED"},"inactive_since_three_days":{"type":"boolean"}}}},"components/schemas/esper_cloud_api_GroupReport":{"id":"components/schemas/esper_cloud_api_GroupReport","kind":"json-schema","title":"esper_cloud_api_GroupReport","data":{"type":"object","properties":{"group_id":{"type":"string","format":"uuid"},"group_name":{"type":"string"},"group_path":{"type":"string"},"active_devices":{"type":"integer"},"inactive_devices":{"type":"integer"},"registered_devices":{"type":"integer"},"new_devices":{"type":"integer"},"disabled_devices":{"type":"integer"}}}},"components/schemas/esper_cloud_api_Subscription":{"id":"components/schemas/esper_cloud_api_Subscription","kind":"json-schema","title":"esper_cloud_api_Subscription","data":{"type":"object","properties":{"id":{"type":"integer"},"email_ids":{"type":"array","items":{"type":"string","format":"email"}},"is_subscribed":{"type":"boolean"},"created_on":{"type":"string","format":"date-time"},"updated_on":{"type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_StatusMetricsV2":{"id":"components/schemas/esper_cloud_api_StatusMetricsV2","kind":"json-schema","title":"esper_cloud_api_StatusMetricsV2","data":{"type":"object","properties":{"last_seen":{"type":"object","properties":{"less_than_30_minutes":{"type":"integer"},"less_than_1_day":{"type":"integer"},"greater_than_1_day":{"type":"integer"}}},"low_risk":{"type":"integer"},"high_risk":{"type":"integer"},"medium_risk":{"type":"integer"},"secure":{"type":"integer"},"low_battery":{"type":"integer"},"under_provisioning":{"type":"integer"},"recently_added":{"type":"integer"},"unspecified":{"type":"integer"},"total_devices_under_risk":{"type":"integer"}}}},"components/schemas/esper_cloud_api_TokenRenewV0":{"id":"components/schemas/esper_cloud_api_TokenRenewV0","kind":"json-schema","title":"esper_cloud_api_TokenRenewV0","data":{"type":"object","properties":{"id":{"title":"Token id","type":"string","description":"Id of the token","format":"integer","readOnly":true},"user":{"title":"User id","type":"string","description":"Id of the user resource","readOnly":true},"enterprise":{"title":"Enterprise id","type":"string","description":"Id of the enterprise resource","format":"uuid","readOnly":true},"token":{"title":"API Token","type":"string","description":"API token for accessing esper APIs","readOnly":true},"expires_at":{"title":"API token expiry","type":"string","description":"Date and time of when your API token will get expired","format":"date-time","readOnly":true},"developerapp":{"title":"Developer app id","type":"string","description":"Id of the developer app resource that you created using the esper dev console","format":"uuid","readOnly":true},"scope":{"title":"Scope of API token","type":"string","description":"This defines what access scopes your API token has","readOnly":true},"created_on":{"title":"Created on","type":"string","description":"Date and time of when this resource was created","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","description":"Date and time of when this resource was updated","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_V0CommandStatus":{"id":"components/schemas/esper_cloud_api_V0CommandStatus","kind":"json-schema","title":"esper_cloud_api_V0CommandStatus","data":{"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Unique command identifier","format":"uuid","readOnly":true},"request":{"title":"Request Id","type":"string","description":"Request Id associated with this command","format":"uuid","readOnly":true},"command":{"title":"info about the command","type":"string"},"command_args":{"type":"object","description":"arguments in command"},"issued_by":{"type":"object","properties":{"id":{"type":"integer"},"username":{"type":"string"}}},"device":{"title":"AndroidDevice","type":"string","description":"Device associated with this command","format":"url","readOnly":true},"state":{"type":"string","description":"Current state of the command","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"reason":{"type":"string","description":"details briefing the reason for current command state"},"requeue_value":{"type":"integer","description":"indicates the command's requeue count for the device, which is limited to a maximum of 3 retries."},"created_on":{"title":"Created on","type":"string","description":"Timestamp of command creation","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","description":"Last updated timestamp of command","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_Geofence":{"id":"components/schemas/esper_cloud_api_Geofence","kind":"json-schema","title":"esper_cloud_api_Geofence","data":{"required":["latitude","longitude","name"],"type":"object","properties":{"id":{"title":"Geofence id","type":"string","description":"id of the geofence","format":"uuid","readOnly":true},"name":{"title":"Geofence name","type":"string","description":"Name of the geofence"},"description":{"title":"Geofence description","type":"string","description":"A description about the geofence"},"enterprise":{"title":"Enterprise id","type":"string","description":"id of the enterprise resource","format":"uuid","readOnly":true},"latitude":{"title":"Geofence latitude","type":"string","description":"Latitude corresponding to the geofence","format":"decimal"},"longitude":{"title":"Geofence longitude","type":"string","description":"Longitude corresponding to the geofence","format":"decimal"},"radius":{"title":"Geofence radius","type":"integer","description":"The radius within which the geofence should be applied"},"radius_unit":{"title":"Unit of radius","type":"string","description":"The unit in which the radius is taken, eg - kilometers, meters etc","enum":["KILOMETERS","METERS","MILES"]},"device_actions":{"title":"Device Actions","type":"array","description":"The actions to be performed on the device","items":{"type":"string","enum":["LOCK_DOWN","BEEP"]}},"device_count":{"title":"Device count","type":"integer","description":"Number of devices","readOnly":true},"created_by":{"title":"Created by","type":"string","description":"The user who created the geofence","readOnly":true},"created_on":{"title":"Creation date and time","type":"string","description":"Date and time of when the geofence was created","format":"date-time","readOnly":true},"updated_on":{"title":"Updation date and time","type":"string","description":"Date and time of when the geofence was updated","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_GeofenceUpdate":{"id":"components/schemas/esper_cloud_api_GeofenceUpdate","kind":"json-schema","title":"esper_cloud_api_GeofenceUpdate","data":{"type":"object","properties":{"name":{"title":"Geofence name","type":"string","description":"Name of the geofence"},"description":{"title":"Geofence description","type":"string","description":"A description about the geofence"},"latitude":{"title":"Geofence latitude","type":"string","description":"Latitude corresponding to the geofence","format":"decimal"},"longitude":{"title":"Geofence longitude","type":"string","description":"Longitude corresponding to the geofence","format":"decimal"},"radius":{"title":"Geofence radius","type":"integer","description":"The radius within which the geofence should be applied"},"radius_unit":{"title":"Unit of radius","type":"string","description":"The unit in which the radius is taken, eg - kilometers, meters etc","enum":["KILOMETERS","METERS","MILES"]},"device_actions":{"title":"Device Actions","type":"array","description":"The actions to be performed on the device","items":{"type":"string","enum":["LOCK_DOWN","BEEP"]}}}}},"components/schemas/esper_cloud_api_GeofenceCreate":{"id":"components/schemas/esper_cloud_api_GeofenceCreate","kind":"json-schema","title":"esper_cloud_api_GeofenceCreate","data":{"type":"object","properties":{"name":{"title":"Geofence name","type":"string","description":"Name of the geofence"},"description":{"title":"Geofence description","type":"string","description":"A description about the geofence"},"latitude":{"title":"Geofence latitude","type":"string","description":"Latitude corresponding to the geofence","format":"decimal"},"longitude":{"title":"Geofence longitude","type":"string","description":"Longitude corresponding to the geofence","format":"decimal"},"radius":{"title":"Geofence radius","type":"integer","description":"The radius within which the geofence should be applied"},"radius_unit":{"title":"Unit of radius","type":"string","description":"The unit in which the radius is taken, eg - kilometers, meters etc","enum":["KILOMETERS","METERS","MILES"]},"device_actions":{"title":"Device Actions","type":"array","description":"The actions to be performed on the device","items":{"type":"string","enum":["LOCK_DOWN","BEEP"]}},"devices":{"title":"List of device ids","type":"array","description":"List of ids of devices on which the geofence is to be applied","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_EnterpriseV1":{"id":"components/schemas/esper_cloud_api_EnterpriseV1","kind":"json-schema","title":"esper_cloud_api_EnterpriseV1","data":{"required":["id","name","short_code"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Id of the enterprise","format":"uuid","readOnly":true},"name":{"title":"Name","maxLength":255,"minLength":1,"type":"string","description":"Name of the enterprise"},"short_code":{"title":"Short code","maxLength":10,"minLength":1,"type":"string","description":"A short 10-char representation of the enterprise, separated by hyphens. Field is optional, as system will auto-generate a value if none is provided.","readOnly":true},"registered_name":{"title":"Registered name of the enterprise","maxLength":255,"minLength":1,"type":"string","description":"Registered Name of the enterprise"},"registered_address":{"title":"Registered address","maxLength":255,"minLength":1,"type":"string","description":"Registered address of the enterprise."},"location":{"title":"Enterprise location","maxLength":255,"minLength":1,"type":"string","description":"City, State, Country location of the enterprise"},"zipcode":{"title":"Enterprise zipcode","maxLength":8,"minLength":1,"type":"string","description":"Zip code of enterprise location"},"contact_person":{"title":"Contact person","maxLength":255,"minLength":1,"type":"string","description":"Person who is the point of contact for the enterprise","nullable":true},"contact_number":{"title":"Contact number","maxLength":20,"minLength":1,"type":"string","description":"Contact number of the enterprise","nullable":true},"contact_email":{"title":"Contact email","maxLength":254,"minLength":1,"type":"string","description":"Contact email address of the enterprise","format":"email"},"wifi_lte_toggle_flag":{"title":"Enable data saver mode","type":"boolean","description":"Will only be available if feature is enabled"},"emm":{"title":"Google EMM","type":"object","properties":{"google_enterprise_id":{"type":"string"}},"description":"This field will have details about emm enrollment if the enterprise is emm enrolled","nullable":true,"readOnly":true},"created_on":{"title":"Created on","type":"string","description":"Date and time of when this resource was created","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","description":"Date and time of when this resource was updated","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_EnterpriseUpdateV1":{"id":"components/schemas/esper_cloud_api_EnterpriseUpdateV1","kind":"json-schema","title":"esper_cloud_api_EnterpriseUpdateV1","data":{"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Id of the enterprise","format":"uuid","readOnly":true},"name":{"title":"Enterprise Name","maxLength":255,"minLength":1,"type":"string","description":"Name of the enterprise"},"registered_name":{"title":"Registered name","maxLength":255,"minLength":1,"type":"string","description":"Registered Name of the enterprise"},"registered_address":{"title":"Registered address","maxLength":255,"minLength":1,"type":"string","description":"Registered address of the enterprise."},"location":{"title":"Enterprise location","maxLength":255,"minLength":1,"type":"string","description":"City, State, Country location of the enterprise"},"zipcode":{"title":"Enterprise zipcode","maxLength":8,"minLength":1,"type":"string","description":"Description of the enterprise"},"contact_person":{"title":"Contact person","maxLength":255,"minLength":1,"type":"string","description":"Person who is the point of contact for the enterprise","nullable":true},"contact_number":{"title":"Contact number","maxLength":20,"minLength":1,"type":"string","description":"Contact number of the enterprise","nullable":true},"contact_email":{"title":"Contact email","maxLength":254,"minLength":1,"type":"string","description":"Contact email address of the enterprise","format":"email"},"wifi_lte_toggle_flag":{"title":"Enable data saver mode","type":"boolean","description":"Will only be available if feature is enabled"}}}},"components/schemas/esper_cloud_api_ApplicationVersionV1":{"id":"components/schemas/esper_cloud_api_ApplicationVersionV1","kind":"json-schema","title":"Application Version V1","data":{"title":"Application Version V1","type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"version_code":{"title":"Version code","maxLength":50,"minLength":1,"type":"string"},"build_number":{"title":"Build number","maxLength":100,"minLength":1,"type":"string","nullable":true},"hash_string":{"title":"Hash string","type":"string"},"min_sdk_version":{"title":"Min sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"target_sdk_version":{"title":"Target sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"icon_url":{"title":"Url for the icon","type":"string","format":"url"},"release_name":{"title":"Name of the release","type":"string"}}}},"components/schemas/esper_cloud_api_ApplicationV1":{"id":"components/schemas/esper_cloud_api_ApplicationV1","kind":"json-schema","title":"esper_cloud_api_ApplicationV1","data":{"required":["application_name","enterprise","package_name"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"latest_version":{"$ref":"#/components/schemas/esper_cloud_api_ApplicationVersionV1"},"application_name":{"title":"Application name","maxLength":255,"minLength":1,"type":"string"},"package_name":{"title":"Package name","maxLength":255,"minLength":1,"type":"string","readOnly":true},"is_hidden":{"title":"Is hidden","type":"boolean"},"enterprise":{"title":"Enterprise","type":"string","format":"url"}}}},"components/schemas/esper_cloud_api_AppVersionV1":{"id":"components/schemas/esper_cloud_api_AppVersionV1","kind":"json-schema","title":"Application Version V1","data":{"title":"Application Version V1","required":["enterprise","version_code"],"type":"object","properties":{"id":{"title":"Id","type":"string","format":"uuid","readOnly":true},"installed_count":{"title":"Installed count","type":"integer","readOnly":true},"is_g_play":{"title":"Is google play","type":"boolean"},"app_file":{"title":"App file url","type":"string","format":"url","nullable":true},"app_icon":{"title":"App icon url","type":"string","format":"url","nullable":true},"version_code":{"title":"Version code","maxLength":50,"minLength":1,"type":"string","nullable":true},"build_number":{"title":"Build number","maxLength":100,"minLength":1,"type":"string","nullable":true},"min_sdk_version":{"title":"Minimum sdk version","maxLength":10,"minLength":1,"type":"string","nullable":true},"enterprise":{"title":"Enterprise URL","type":"string","format":"url"},"application":{"title":"Application URL","type":"string","format":"url"},"release_name":{"title":"Name of the release","maxLength":255,"type":"string","nullable":true},"release_comments":{"title":"Release comments","type":"string","nullable":true},"approval_status":{"title":"Approval Status","maxLength":50,"type":"string","default":"APPROVED","enum":["AVAILABLE","ACCEPTED","APPROVED","REJECTED"]},"release_date":{"title":"Release date","type":"string","format":"date-time"},"size_in_mb":{"title":"Size in mb","type":"number"},"is_default":{"title":"Is default","type":"boolean","default":false},"created_on":{"title":"Created on","type":"string","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_TokenInfoV1":{"id":"components/schemas/esper_cloud_api_TokenInfoV1","kind":"json-schema","title":"esper_cloud_api_TokenInfoV1","data":{"required":["enterprise","id"],"type":"object","properties":{"id":{"title":"Id","type":"string","description":"Token id","format":"integer","readOnly":true},"enterprise":{"title":"Enterprise id","type":"string","description":"Id of the enterprise resource","format":"uuid","readOnly":true},"user":{"title":"User id","type":"string","description":"Id of the user resource","readOnly":true},"developer_app":{"title":"Developer app id","type":"string","description":"Id of the developer app resource that you created using the esper dev console","format":"uuid","readOnly":true},"source_refresh_token":{"title":"Refresh token","type":"string","description":"The refresh token is used to refresh your expired API token","readOnly":true},"token":{"title":"API Token","type":"string","description":"API token for accessing esper APIs","readOnly":true},"expires_on":{"title":"API token expiry","type":"string","description":"Date and time of when your API token will get expired","format":"date-time","readOnly":true},"scope":{"title":"Scope of API token","type":"array","description":"This defines what access scopes does your API token has","readOnly":true,"items":{"type":"string"}},"created_on":{"title":"Created on","type":"string","description":"Date and time of when this resource was created","format":"date-time","readOnly":true},"updated_on":{"title":"Updated on","type":"string","description":"Date and time of when this resource was updated","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_Group":{"id":"components/schemas/esper_cloud_api_Group","kind":"json-schema","title":"esper_cloud_api_Group","data":{"type":"object","properties":{"id":{"title":"ID","type":"string","format":"uuid"},"name":{"title":"Group Name","type":"string"},"path":{"title":"Group Path","type":"string"},"device_count":{"type":"integer"}}}},"components/schemas/esper_cloud_api_UserProfile":{"id":"components/schemas/esper_cloud_api_UserProfile","kind":"json-schema","title":"UserProfileInfo","data":{"title":"UserProfileInfo","type":"object","properties":{"id":{"title":"ID","type":"integer"},"enterprise_user_id":{"title":"Enterprise User ID","type":"string"},"authn_user_id":{"title":"AuthN User ID","type":"string","format":"uuid"},"authn_connection_id":{"title":"AuthN Connection ID","type":"string","format":"uuid"},"authz_role_id":{"title":"AuthZ Role ID","type":"string","format":"uuid"},"role":{"title":"Role","type":"string","enum":["Shoonya Admin","Enterprise Admin","Enterprise User","Viewer","Group Admin","Group Viewer"]},"enterprise":{"title":"Enterprise ID","type":"string","format":"uuid"},"is_customer":{"title":"Is Customer","type":"boolean"},"is_endpoint_creator":{"title":"Is Endpoint Creator","type":"boolean"},"created_on":{"title":"Created On","type":"string","format":"date-time"},"updated_on":{"title":"Updated On","type":"string","format":"date-time"},"setup_wizard_complete":{"title":"Setup Wizard Complete","type":"boolean"},"default_password_changed":{"title":"Default Password Changed","type":"boolean"},"is_developer":{"title":"Is Developer","type":"boolean"},"can_factory_reset":{"title":"Can Factory Reset","type":"boolean"},"groups":{"title":"Groups","type":"array","items":{"type":"object","$ref":"#/components/schemas/esper_cloud_api_Group"}}}}},"components/schemas/esper_cloud_api_AuthenticationToken":{"id":"components/schemas/esper_cloud_api_AuthenticationToken","kind":"json-schema","title":"AuthenticationToken","data":{"title":"AuthenticationToken","type":"object","properties":{"id":{"title":"ID","type":"integer"},"token":{"title":"Token","type":"string"},"is_active":{"title":"Is Active","type":"boolean"},"updated_on":{"title":"Updated On","type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_EMM":{"id":"components/schemas/esper_cloud_api_EMM","kind":"json-schema","title":"UserEMM","data":{"title":"UserEMM","type":"object","properties":{"id":{"title":"ID","type":"integer"},"user":{"title":"User ID","type":"integer"},"account_identifier":{"title":"Account Identifier","type":"string"},"account_type":{"title":"Account Type","type":"string"},"display_name":{"title":"Display Name","type":"string"},"google_user_id":{"title":"Google User ID","type":"string"},"google_enterprise":{"title":"Google Enterprise","type":"integer"},"is_active":{"title":"Is Active","type":"boolean"},"created_on":{"title":"Created On","type":"string","format":"date-time"},"updated_on":{"title":"Updated On","type":"string","format":"date-time"},"authentication_token":{"title":"Authentication Token","type":"object","$ref":"#/components/schemas/esper_cloud_api_AuthenticationToken","readOnly":true}}}},"components/schemas/esper_cloud_api_User":{"id":"components/schemas/esper_cloud_api_User","kind":"json-schema","title":"UserInfo","data":{"title":"UserInfo","type":"object","properties":{"id":{"title":"ID","type":"integer"},"username":{"title":"User name","type":"string"},"email":{"title":"Email","type":"string","format":"email"},"first_name":{"title":"First name","type":"string"},"last_name":{"title":"Last name","type":"string"},"full_name":{"title":"Last name","type":"string"},"is_staff":{"type":"boolean","readOnly":true},"is_superuser":{"type":"boolean","readOnly":true},"is_active":{"title":"Is user active","type":"boolean"},"profile":{"title":"User Profile","type":"object","$ref":"#/components/schemas/esper_cloud_api_UserProfile"},"emm":{"title":"EMM details","type":"object","$ref":"#/components/schemas/esper_cloud_api_EMM","readOnly":true},"last_login":{"title":"Last login","type":"string"},"token":{"title":"Token","type":"string"},"has_emm":{"title":"Has EMM","type":"boolean"},"is_email_verified":{"title":"Is Email Verified","type":"boolean"}}}},"components/schemas/esper_cloud_api_TenantUserInviteResponse":{"id":"components/schemas/esper_cloud_api_TenantUserInviteResponse","kind":"json-schema","title":"TenantUserInviteResponse","data":{"title":"TenantUserInviteResponse","type":"object","properties":{"id":{"title":"id","type":"string"},"email":{"title":"email","type":"string","format":"email"},"tenant_id":{"title":"id of the tenant","type":"string"},"idp_invite_id":{"title":"id of the idp invitation","type":"string"},"meta":{"title":"meta data of user","type":"object"},"connection_id":{"title":"connection id","type":"string"},"send_invitation_email":{"title":"send invitation email","type":"boolean"},"created_at":{"title":"created at","type":"string","format":"date-time"},"updated_at":{"title":"updated at","type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_GenericErrorResponse":{"id":"components/schemas/esper_cloud_api_GenericErrorResponse","kind":"json-schema","title":"esper_cloud_api_GenericErrorResponse","data":{"type":"object","properties":{"status":{"type":"integer","format":"int32","description":"Either 'status' or 'code' will be present, but not both."},"code":{"type":"integer","format":"int32","description":"Either 'status' or 'code' will be present, but not both."},"error":{"type":"string","description":"Either 'error' or 'errors' will be present, but not both."},"errors":{"type":"array","items":{"type":"string"},"description":"Either 'error' or 'errors' will be present, but not both."},"message":{"title":"Message describing the error","type":"string"}}}},"components/schemas/esper_cloud_api_TenantUserInviteMeta":{"id":"components/schemas/esper_cloud_api_TenantUserInviteMeta","kind":"json-schema","title":"TenantUserInviteMeta","data":{"title":"TenantUserInviteMeta","type":"object","properties":{"email":{"title":"email","type":"string","format":"email"},"profile":{"title":"profile details","type":"object","properties":{"role":{"title":"role","type":"string","enum":["Enterprise Admin","Viewer","Group Admin","Group Viewer","Support","AuthZ Role User"]},"enterprise":{"title":"tenant id","type":"string","format":"uuid"},"groups":{"title":"groups associated. required only if role is Group Admin or Group Viewer or AuthZ User Role","type":"array","items":{"type":"string","format":"uuid"}},"authz_role_id":{"title":"custom role id. required only if role is AuthZ Role User","type":"string","format":"uuid"}},"required":["role","enterprise"]}},"required":["email","profile"]}},"components/schemas/esper_cloud_api_TenantUserInviteRequest":{"id":"components/schemas/esper_cloud_api_TenantUserInviteRequest","kind":"json-schema","title":"TenantUserInviteRequest","data":{"title":"TenantUserInviteRequest","type":"object","properties":{"email":{"title":"email","type":"string","format":"email"},"meta":{"title":"meta data of user","type":"object","$ref":"#/components/schemas/esper_cloud_api_TenantUserInviteMeta"},"connection_id":{"title":"connection id","type":"string"}},"required":["email","meta"]}},"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse":{"id":"components/schemas/esper_cloud_api_TenantUserInviteCreateResponse","kind":"json-schema","title":"TenantUserInviteResponse","data":{"title":"TenantUserInviteResponse","type":"object","properties":{"id":{"title":"id","type":"string"},"email":{"title":"email","type":"string","format":"email"},"tenant_id":{"title":"id of the tenant","type":"string"},"idp_invite_id":{"title":"id of the idp invitation","type":"string"},"meta":{"title":"meta data of user","type":"object"},"connection_id":{"title":"connection id","type":"string"},"send_invitation_email":{"title":"send invitation email","type":"boolean"},"invitation_url":{"title":"invitation URL","type":"string"},"created_at":{"title":"created at","type":"string","format":"date-time"},"updated_at":{"title":"updated at","type":"string","format":"date-time"}}}},"components/schemas/esper_cloud_api_UserList":{"id":"components/schemas/esper_cloud_api_UserList","kind":"json-schema","title":"User","data":{"title":"User","type":"object","properties":{"id":{"title":"ID","type":"integer"},"username":{"title":"User name","type":"string"},"email":{"title":"Email","type":"string","format":"email"},"first_name":{"title":"First name","type":"string"},"last_name":{"title":"Last name","type":"string"},"full_name":{"title":"Last name","type":"string"},"is_staff":{"type":"boolean","readOnly":true},"is_superuser":{"type":"boolean","readOnly":true},"is_active":{"title":"Is user active","type":"boolean"},"profile":{"title":"User Profile","type":"object","$ref":"#/components/schemas/esper_cloud_api_UserProfile"},"emm":{"title":"EMM details","type":"object","$ref":"#/components/schemas/esper_cloud_api_EMM","readOnly":true},"last_login":{"title":"Last login","type":"string"},"token":{"title":"Token","type":"string"},"has_emm":{"title":"Has EMM","type":"boolean"}}}},"components/schemas/esper_cloud_api_UserProfileCreate":{"id":"components/schemas/esper_cloud_api_UserProfileCreate","kind":"json-schema","title":"UserProfile","data":{"title":"UserProfile","type":"object","properties":{"role":{"title":"Role","type":"string","enum":["Shoonya Admin","Enterprise Admin","Enterprise User","Viewer","Group Admin","Group Viewer"]},"groups":{"title":"Groups","type":"array","items":{"type":"string"}},"enterprise":{"title":"Enterprise ID","type":"string","format":"uuid"},"is_customer":{"title":"Is Customer","type":"boolean"},"is_endpoint_creator":{"title":"Is Endpoint Creator","type":"boolean"},"setup_wizard_complete":{"title":"Setup Wizard Complete","type":"boolean"},"default_password_changed":{"title":"Default Password Changed","type":"boolean"},"is_developer":{"title":"Is Developer","type":"boolean"},"can_factory_reset":{"title":"Can Factory Reset","type":"boolean"}}}},"components/schemas/esper_cloud_api_UserCreate":{"id":"components/schemas/esper_cloud_api_UserCreate","kind":"json-schema","title":"UserCreate","data":{"required":["username","profile"],"title":"UserCreate","type":"object","properties":{"username":{"title":"User name","type":"string"},"password":{"title":"Password","type":"string"},"first_name":{"title":"First name","type":"string"},"last_name":{"title":"Last name","type":"string"},"is_active":{"title":"Is user active","type":"boolean"},"email":{"title":"Email","type":"string","format":"email"},"profile":{"title":"User Profile","type":"object","$ref":"#/components/schemas/esper_cloud_api_UserProfileCreate"}}}},"components/schemas/esper_cloud_api_UserUpdate":{"id":"components/schemas/esper_cloud_api_UserUpdate","kind":"json-schema","title":"UserUpdation","data":{"title":"UserUpdation","type":"object","properties":{"username":{"title":"User name","type":"string"},"password":{"title":"Password","type":"string"},"first_name":{"title":"First name","type":"string"},"last_name":{"title":"Last name","type":"string"},"is_active":{"title":"Is user active","type":"boolean"},"email":{"title":"Email","type":"string","format":"email"},"profile":{"title":"User Profile","type":"object","$ref":"#/components/schemas/esper_cloud_api_UserProfileCreate"}}}},"components/schemas/esper_cloud_api_UpdateDifferentUserRequest":{"id":"components/schemas/esper_cloud_api_UpdateDifferentUserRequest","kind":"json-schema","title":"esper_cloud_api_UpdateDifferentUserRequest","data":{"type":"object","properties":{"authz_role_id":{"title":"Custom role id. Required only if role is AuthZ Role User","type":"string","format":"uuid"},"can_factory_reset":{"title":"If user should be able to factory reset or not","type":"boolean"},"has_all_group_access":{"title":"If user has access to all groups or not. Required only if role is AuthZ Role User","type":"boolean"},"groups":{"title":"List of group IDs. Can be empty if has_all_group_access is True or if the user role is not Group Admin/Group Viewer","type":"array","items":{"type":"string"}},"role":{"title":"Role. Role should be AuthZ Role User for custom role","type":"string","enum":["Shoonya Admin","Enterprise Admin","Enterprise User","Viewer","Group Admin","Group Viewer","AuthZ Role User"]}},"required":["role","groups"]}},"components/schemas/esper_cloud_api_UpdateOwnUserRequest":{"id":"components/schemas/esper_cloud_api_UpdateOwnUserRequest","kind":"json-schema","title":"esper_cloud_api_UpdateOwnUserRequest","data":{"type":"object","properties":{"first_name":{"title":"first name","type":"string"}},"required":["first_name"]}},"components/schemas/esper_cloud_api_UserGroups":{"id":"components/schemas/esper_cloud_api_UserGroups","kind":"json-schema","title":"esper_cloud_api_UserGroups","data":{"type":"object","properties":{"group_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"has_all_group_access":{"type":"boolean"}}}},"components/schemas/esper_cloud_api_ConnectivitySection":{"id":"components/schemas/esper_cloud_api_ConnectivitySection","kind":"json-schema","title":"Connectivity","data":{"title":"Connectivity","type":"object","properties":{"sms_disabled":{"type":"boolean"},"enable_bluetooth":{"type":"boolean"},"wifi_state":{"type":"boolean"},"nfc_beam_disabled":{"type":"boolean"},"ethernet_settings":{"type":"object","description":"Ethernet settings to configure ethernet certificate","required":["ethernet_auth_mode"],"properties":{"ethernet_auth_mode":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Auth Mode options"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* EAP_TLS: Ethernet auth mode is EAP_TLS\n* NONE: Default Value, if NONE then other fields are option\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* EAP_TLS: Ethernet auth mode is EAP_TLS\n* NONE: Default Value, if NONE then other fields are option\n"},"children":[]}]}],"enum":["EAP_TLS","NONE"]},"ethernet_ca_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is mandatory field if Auth Mode is “EAP_TLS”."},"children":[]}]}]}]},"ethernet_client_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is mandatory field if Auth Mode is “EAP_TLS”."},"children":[]}]}]}]},"ethernet_eap_identity":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is mandatory field if Auth Mode is “EAP_TLS”."},"children":[]}]}]}]}}},"wifi_settings":{"type":"array","items":{"type":"object","properties":{"wifi_ssid":{"type":"string"},"wifi_password":{"type":"string"},"wifi_security_type":{"type":"string","enum":["NONE","WAP","WEP","EAP","WPA2","SAE"]},"wifi_phase2_auth":{"type":"string","enum":["NONE","PAP","MSCHAP","MSCHAPV2","GTC","SIM","AKA","AKA_PRIME"]},"wifi_eap_method":{"type":"string","enum":["PEAP","TLS","TTLS","PWD","NONE","SIM","AKA","AKA_PRIME"]},"identity":{"type":"string"},"anonymous_identity":{"type":"string"},"domain":{"type":"string"},"hidden":{"type":"boolean"}}}},"incoming_numbers_with_tags":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}}},"outgoing_numbers_with_tags":{"type":"array","items":{"type":"object","properties":{"number":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}}}}},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_SoundSection":{"id":"components/schemas/esper_cloud_api_SoundSection","kind":"json-schema","title":"Sound","data":{"title":"Sound","type":"object","properties":{"alarm_volume":{"type":"integer"},"notification_volume":{"type":"integer"},"music_volume":{"type":"integer"},"ring_volume":{"type":"integer"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_DisplayBrandingSection":{"id":"components/schemas/esper_cloud_api_DisplayBrandingSection","kind":"json-schema","title":"Display","data":{"title":"Display","type":"object","properties":{"screenshot_disabled":{"type":"boolean"},"status_bar_disabled":{"type":"boolean"},"rotation_state":{"type":"string","enum":["AUTO","LANDSCAPE_ONLY","POTRAIT_ONLY","INVERTED_PORTRAIT_ONLY","INVERTED_LANDSCAPE_ONLY"]},"brightness_scale":{"type":"integer"},"wallpapers":{"type":"array","items":{"type":"object","properties":{"wallpaper":{"type":"string","format":"uuid"},"wallpaper_url":{"type":"string","readOnly":true},"thumbnail_url":{"type":"string","readOnly":true},"orientation":{"type":"string"},"screen_types":{"type":"array","items":{"type":"string","enum":["LOCKSCREEN","HOMESCREEN"]}},"orientations":{"type":"array","items":{"type":"string","enum":["PORTRAIT","LANDSCAPE"]}}}}},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_HardwareSettingsSection":{"id":"components/schemas/esper_cloud_api_HardwareSettingsSection","kind":"json-schema","title":"Hardware","data":{"title":"Hardware","type":"object","properties":{"gps_state":{"type":"string","enum":["LOCATION_MODE_HIGH_ACCURACY","LOCATION_MODE_SENSORS_ONLY","LOCATION_MODE_BATTERY_SAVING","LOCATION_MODE_OFF","LOCATION_MODE_ON"]},"usb_file_transfer_disabled":{"type":"boolean"},"tethering_disabled":{"type":"boolean"},"camera_disabled":{"type":"boolean"},"usb_connectivity_disabled":{"type":"boolean"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_DateTimeSection":{"id":"components/schemas/esper_cloud_api_DateTimeSection","kind":"json-schema","title":"Date Time","data":{"title":"Date Time","type":"object","properties":{"timezone_string":{"type":"string"},"device_locale":{"type":"string"},"date_time_config_disabled":{"type":"boolean"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_SettingsAppSection":{"id":"components/schemas/esper_cloud_api_SettingsAppSection","kind":"json-schema","title":"Settings App","data":{"title":"Settings App","type":"object","properties":{"enable_android_settings_app":{"type":"boolean"},"settings_access_level":{"type":"string","enum":["NONE","SHOONYA","SYSTEM"]},"esper_settings_app":{"type":"object","properties":{"only_dock_accessible":{"type":"boolean"},"admin_mode_password":{"type":"string"},"esper_settings_app_policy":{"type":"object","properties":{"flashlight":{"type":"string"},"wifi":{"type":"string"},"auto_rotation":{"type":"string"},"reboot":{"type":"string"},"kiosk_app_selection":{"type":"string"},"esper_branding":{"type":"string"},"factory_reset":{"type":"string"},"about":{"type":"string"},"display":{"type":"string"},"sound":{"type":"string"},"keyboard":{"type":"string"},"input_selection":{"type":"string"},"accessibility":{"type":"string"},"mobile_data":{"type":"string"},"bluetooth":{"type":"string"},"language":{"type":"string"},"time_and_date":{"type":"string"},"clear_app_data":{"type":"string"},"storage":{"type":"string"},"data_roaming":{"type":"string"},"wifi_tethering":{"type":"string"},"airplane_mode":{"type":"string"},"accessibility_reset_to_default":{"type":"string"},"accessibility_high_contrast_text":{"type":"string"},"accessibility_cc_deuteranomaly":{"type":"string"},"accessibility_cc_protanomaly":{"type":"string"},"accessibility_cc_tritanomaly":{"type":"string"},"accessibility_mono_audio":{"type":"string"},"accessibility_display_size":{"type":"string"},"accessibility_talkback":{"type":"string"},"accessibility_text_to_speech":{"type":"string"}}}}},"config_json":{"type":"object"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_SystemUpdatesSection":{"id":"components/schemas/esper_cloud_api_SystemUpdatesSection","kind":"json-schema","title":"System Updates","data":{"title":"System Updates","type":"object","properties":{"locked":{"title":"Locked","description":"Locked","type":"boolean"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"type":{"title":"Type","description":"Type","type":"string","enum":["TYPE_POSTPONE","TYPE_INSTALL_AUTOMATIC","TYPE_INSTALL_WINDOWED","TYPE_INSTALL_DISABLED"]},"maintenance_start":{"type":"integer"},"maintenance_end":{"type":"integer"}}}},"components/schemas/esper_cloud_api_GoogleServicesSection":{"id":"components/schemas/esper_cloud_api_GoogleServicesSection","kind":"json-schema","title":"Google Services","data":{"title":"Google Services","type":"object","properties":{"disable_play_store":{"type":"boolean"},"google_assistant_disabled":{"type":"boolean"},"managed_google_play_disabled":{"type":"boolean"},"max_account":{"type":"integer"},"emails":{"type":"array","items":{"type":"string"}},"domains":{"type":"array","items":{"type":"string"}},"frp_googles":{"type":"array","items":{"type":"object","properties":{"google_id":{"type":"string"},"email":{"type":"string"},"type":{"type":"string","enum":["USER","ADMIN"]}}}},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_SecuritySection":{"id":"components/schemas/esper_cloud_api_SecuritySection","kind":"json-schema","title":"Security","data":{"title":"Security","type":"object","properties":{"password_quality":{"type":"string","enum":["PASSWORD_QUALITY_ALPHABETIC","PASSWORD_QUALITY_ALPHANUMERIC","PASSWORD_QUALITY_UNSPECIFIED","PASSWORD_QUALITY_COMPLEX","PASSWORD_QUALITY_BIOMETRIC_WEAK","PASSWORD_QUALITY_NUMERIC"]},"minimum_password_length":{"type":"integer"},"adb_disabled":{"type":"boolean"},"safe_boot_disabled":{"type":"boolean"},"screen_off_timeout":{"type":"integer"},"factory_reset_disabled":{"type":"boolean"},"keyguard_disabled":{"type":"boolean"},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"}}}},"components/schemas/esper_cloud_api_ApplicationSection":{"id":"components/schemas/esper_cloud_api_ApplicationSection","kind":"json-schema","title":"Application","data":{"title":"Application","type":"object","properties":{"app_mode":{"type":"string","enum":["KIOSK","MULTI_APP"]},"launch_on_start":{"type":"string"},"start_on_boot":{"type":"string","nullable":true},"launcher_less_dpc":{"type":"boolean"},"disable_local_app_install":{"type":"boolean"},"app_uninstall_disabled":{"type":"boolean"},"permission_policy":{"type":"string","enum":["PERMISSION_POLICY_AUTO_GRANT","PERMISSION_POLICY_PROMPT","PERMISSION_POLICY_AUTO_DENY"]},"locked":{"title":"Locked","description":"Locked","type":"boolean"},"preload_apps":{"type":"array","items":{"type":"object","properties":{"package_name":{"type":"string"},"state":{"type":"string","enum":["SHOW","HIDE","DISABLED","LAUNCHABLE_BUT_HIDDEN"]}}}},"apps":{"type":"array","items":{"type":"object","properties":{"version_codes":{"type":"array","items":{"type":"string"},"readOnly":true},"is_g_play":{"type":"boolean","readOnly":true},"app_version":{"type":"string","format":"uuid"},"app_version_url":{"type":"string","readOnly":true},"hash_string":{"type":"string","readOnly":true},"package_name":{"type":"string","readOnly":true},"download_url":{"type":"string","readOnly":true},"installation_rule":{"type":"string","enum":["DURING","POST"]},"state":{"type":"string","enum":["SHOW","HIDE","DISABLED","LAUNCHABLE_BUT_HIDDEN"]},"managed_config":{"type":"object"}}}},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]}}}},"components/schemas/esper_cloud_api_ContentSection":{"id":"components/schemas/esper_cloud_api_ContentSection","kind":"json-schema","title":"Content","data":{"title":"Content","type":"object","properties":{"files":{"type":"array","items":{"type":"object","properties":{"file":{"type":"integer"},"file_url":{"type":"string","readOnly":true},"hash":{"type":"string","readOnly":true},"url":{"type":"string","readOnly":true},"destination_path":{"type":"string"}}}},"section_type":{"title":"Type","type":"string","enum":["Inherited","Independent"]},"locked":{"type":"boolean"}}}},"components/schemas/esper_cloud_api_BlueprintRevision":{"id":"components/schemas/esper_cloud_api_BlueprintRevision","kind":"json-schema","title":"Blueprint","data":{"title":"Blueprint","type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"revision":{"type":"string","readOnly":true},"created_by":{"type":"string","readOnly":true},"current":{"type":"boolean","readOnly":true},"type":{"type":"string","enum":["Independent","Inherited"]},"comments":{"type":"string"},"locked":{"type":"boolean"},"connectivity":{"$ref":"#/components/schemas/esper_cloud_api_ConnectivitySection"},"sound":{"$ref":"#/components/schemas/esper_cloud_api_SoundSection"},"display_branding":{"$ref":"#/components/schemas/esper_cloud_api_DisplayBrandingSection"},"hardware_settings":{"$ref":"#/components/schemas/esper_cloud_api_HardwareSettingsSection"},"date_time":{"$ref":"#/components/schemas/esper_cloud_api_DateTimeSection"},"settings_app":{"$ref":"#/components/schemas/esper_cloud_api_SettingsAppSection"},"system_updates":{"$ref":"#/components/schemas/esper_cloud_api_SystemUpdatesSection"},"google_services":{"$ref":"#/components/schemas/esper_cloud_api_GoogleServicesSection"},"security":{"$ref":"#/components/schemas/esper_cloud_api_SecuritySection"},"application":{"$ref":"#/components/schemas/esper_cloud_api_ApplicationSection"},"content":{"$ref":"#/components/schemas/esper_cloud_api_ContentSection"},"created_on":{"title":"Created on","description":"Date and time of when the group was created","type":"string","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_Blueprint":{"id":"components/schemas/esper_cloud_api_Blueprint","kind":"json-schema","title":"Blueprint","data":{"title":"Blueprint","type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"locked":{"type":"boolean"},"group":{"type":"string","format":"uuid"},"latest_revision":{"$ref":"#/components/schemas/esper_cloud_api_BlueprintRevision"},"created_on":{"type":"string","format":"date-time","readOnly":true},"updated_on":{"type":"string","format":"date-time","readOnly":true}}}},"components/schemas/esper_cloud_api_UniqueIdentifier":{"id":"components/schemas/esper_cloud_api_UniqueIdentifier","kind":"json-schema","title":"UniqueIdentifier","data":{"title":"UniqueIdentifier","type":"object","properties":{"unique_id":{"title":"Unique identifier","type":"string"},"type":{"title":"Unique identifier type","type":"string","enum":["IMEI1","IMEI2","SERIAL","MEI","WIFI_MAC_ID","ETHERNET_MAC_ID"]}}}},"components/schemas/esper_cloud_api_DirectoryRecord":{"id":"components/schemas/esper_cloud_api_DirectoryRecord","kind":"json-schema","title":"DirectoryRecord","data":{"title":"DirectoryRecord","type":"object","properties":{"id":{"title":"Directory Record ID","type":"string"},"name":{"title":"Device name","type":"string"},"online_status":{"type":"string","enum":["ONLINE","OFFLINE","NONE"]},"alias":{"title":"Alias name","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}},"group_id":{"title":"Group ID","type":"string","format":"uuid"},"device_id":{"title":"Device ID","type":"string","format":"uuid"},"approval_status":{"title":"Approval Status","type":"string","enum":["WAITING_FOR_APPROVAL","APPROVED","REJECTED","BLOCKED"]},"provisioned_on":{"title":"Provisioned on","type":"string","format":"date-time","readOnly":true},"unique_identifiers":{"title":"Unique Identifiers","type":"array","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/esper_cloud_api_UniqueIdentifier"}]}}}}},"components/schemas/esper_cloud_api_UniqueIdentifierCreate":{"id":"components/schemas/esper_cloud_api_UniqueIdentifierCreate","kind":"json-schema","title":"UniqueIdentifierCreate","data":{"title":"UniqueIdentifierCreate","type":"object","properties":{"unique_id":{"title":"Unique identifier","type":"string"},"type":{"title":"Unique identifier type","type":"integer","enum":[0,1,2,3,4,5],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following are the valid Unique Identifier Types:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"IMEI1 = 0\nIMEI2 = 1\nSERIAL = 2\nMEI = 3\nWIFI_MAC_ID = 4\nETHERNET_MAC_ID = 5\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"IMEI1 = 0\nIMEI2 = 1\nSERIAL = 2\nMEI = 3\nWIFI_MAC_ID = 4\nETHERNET_MAC_ID = 5\n"},"children":[]}]}]}}}},"components/schemas/esper_cloud_api_DirectoryRecordCreate":{"id":"components/schemas/esper_cloud_api_DirectoryRecordCreate","kind":"json-schema","title":"DirectoryRecordCreate","data":{"title":"DirectoryRecordCreate","type":"object","properties":{"unique_identifiers":{"title":"Unique Identifiers","type":"array","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/esper_cloud_api_UniqueIdentifierCreate"}]}},"group_id":{"title":"Group ID","type":"string","format":"uuid"},"alias":{"title":"Alias name","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_DirectoryRecordUpdate":{"id":"components/schemas/esper_cloud_api_DirectoryRecordUpdate","kind":"json-schema","title":"DirectoryRecordUpdate","data":{"title":"DirectoryRecordUpdate","type":"object","properties":{"unique_identifiers":{"title":"Unique Identifiers","type":"array","items":{"type":"object","allOf":[{"$ref":"#/components/schemas/esper_cloud_api_UniqueIdentifierCreate"}]}},"group_id":{"title":"Group ID","type":"string","format":"uuid"},"alias":{"title":"Alias name","type":"string"},"tags":{"title":"Tags","type":"array","items":{"type":"string"}}}}},"components/schemas/esper_cloud_api_CustomConnectionList":{"id":"components/schemas/esper_cloud_api_CustomConnectionList","kind":"json-schema","title":"CustomConnectionList","data":{"title":"CustomConnectionList","type":"object","properties":{"name":{"title":"name","type":"string"},"strategy":{"title":"strategy","enum":["samlp","oidc"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Strategy:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"samlp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - SAML connection"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"oidc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - OIDC connection"},"children":[]}]}]}]}]},"is_default":{"title":"is default","type":"boolean"}}}},"components/schemas/esper_cloud_api_CustomConnectionsListResponse":{"id":"components/schemas/esper_cloud_api_CustomConnectionsListResponse","kind":"json-schema","title":"CustomConnectionsListResponse","data":{"title":"CustomConnectionsListResponse","type":"object","properties":{"connection_id":{"title":"connection id","type":"string"},"connection":{"type":"object","$ref":"#/components/schemas/esper_cloud_api_CustomConnectionList"}}}},"components/schemas/esper_cloud_api_CustomConnectionConfigResponse":{"id":"components/schemas/esper_cloud_api_CustomConnectionConfigResponse","kind":"json-schema","title":"CustomConnectionConfigResponse","data":{"title":"CustomConnectionConfigResponse","type":"object","properties":{"sign_in_url":{"title":"Sign in url","type":"string","format":"url","description":"Required for SAML connection"},"disable_sign_out":{"title":"Disable sign out","type":"boolean"},"sign_out_url":{"title":"Sign out url","type":"string","format":"url"},"x509_certificate":{"title":"x509 certificate","type":"string","description":"Required for SAML connection"},"issuer_url":{"title":"Issuer url","type":"string","format":"url","description":"Required for OIDC connection"},"client_id":{"title":"client id","type":"string","description":"Required for OIDC connection"}}}},"components/schemas/esper_cloud_api_CustomConnectionRequest":{"id":"components/schemas/esper_cloud_api_CustomConnectionRequest","kind":"json-schema","title":"CustomConnectionRequest","data":{"title":"CustomConnectionRequest","type":"object","properties":{"display_name":{"title":"display name","type":"string"},"strategy":{"title":"strategy","enum":["samlp","oidc"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Strategy:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"samlp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - SAML connection"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"oidc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - OIDC connection"},"children":[]}]}]}]}]},"config":{"type":"object","$ref":"#/components/schemas/esper_cloud_api_CustomConnectionConfigResponse"}}}},"components/schemas/esper_cloud_api_CustomConnectionResponse":{"id":"components/schemas/esper_cloud_api_CustomConnectionResponse","kind":"json-schema","title":"CustomConnectionResponse","data":{"title":"CustomConnectionResponse","type":"object","properties":{"id":{"title":"id","type":"string"},"name":{"title":"name","type":"string"},"display_name":{"title":"display name","type":"string"},"strategy":{"title":"strategy","enum":["samlp","oidc"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Strategy:"},"children":[]}]}]},{"$$mdtype":"Node","type":"list","attributes":{"ordered":false,"marker":"*"},"children":[{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"samlp"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - SAML connection"},"children":[]}]}]},{"$$mdtype":"Node","type":"item","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"oidc"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" - OIDC connection"},"children":[]}]}]}]}]},"service_provider_acs_url":{"title":"service provider ACS url","type":"string","format":"url"},"service_provider_entity_id":{"title":"service provider entity id","type":"string"},"service_provider_logout_url":{"title":"service provider logout url","type":"string"},"signing_certificate_link":{"title":"signing certificate link","type":"string"},"callback_url":{"title":"callback url","type":"string","format":"url"},"config":{"type":"object","$ref":"#/components/schemas/esper_cloud_api_CustomConnectionConfigResponse"}}}},"components/schemas/esper_cloud_api_RoleResponse":{"id":"components/schemas/esper_cloud_api_RoleResponse","kind":"json-schema","title":"esper_cloud_api_RoleResponse","data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"role_type":{"type":"integer"}}}},"components/schemas/esper_cloud_api_Role":{"id":"components/schemas/esper_cloud_api_Role","kind":"json-schema","title":"esper_cloud_api_Role","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"}}}},"components/schemas/esper_cloud_api_ScopeResponse":{"id":"components/schemas/esper_cloud_api_ScopeResponse","kind":"json-schema","title":"esper_cloud_api_ScopeResponse","data":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"scope_type":{"type":"integer"}}}},"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse":{"id":"components/schemas/esper_cloud_api_PersonalAccessTokenGetResponse","kind":"json-schema","title":"PersonalAccessTokenGetResponse","data":{"title":"PersonalAccessTokenGetResponse","type":"object","properties":{"count":{"type":"integer"},"personal_access_tokens":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"The unique identifier of the token."},"name":{"type":"string","description":"The name of the token."},"description":{"type":"string","description":"A description of the token."},"created_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was created."},"updated_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was updated."},"prefix":{"type":"string","description":"The token prefix."},"token":{"type":"string","description":"The token value."},"expiry_at":{"type":"integer","description":"exipy date for token, -1 indicates no expiry."},"legacy_token_id":{"type":"integer","description":"token id corresponding to legacy system"},"legacy_developer_app_id":{"type":"string","description":"developer app id corresponding to legacy system"}}}}}}},"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse":{"id":"components/schemas/esper_cloud_api_PersonalAccessTokenCreateResponse","kind":"json-schema","title":"PersonalAccessTokenCreateResponse","data":{"title":"PersonalAccessTokenCreateResponse","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique ID for the generated token."},"name":{"type":"string","description":"Name for the token."},"description":{"type":"string","description":"Description for the token."},"created_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was created."},"updated_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was last updated."},"token":{"type":"string","description":"The generated access token value."},"prefix":{"type":"string","description":"Prefix for the generated token value."},"expiry_at":{"type":"integer","description":"exipy date for token."}}}},"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse":{"id":"components/schemas/esper_cloud_api_PersonalAccessTokenUpdateResponse","kind":"json-schema","title":"PersonalAccessTokenUpdateResponse","data":{"title":"PersonalAccessTokenUpdateResponse","type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique ID for the generated token."},"name":{"type":"string","description":"Name for the token."},"description":{"type":"string","description":"Description for the token."},"created_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was created."},"updated_at":{"type":"string","format":"timestamp","description":"Timestamp indicating when the token was last updated."},"token":{"type":"string","description":"The generated access token value."},"prefix":{"type":"string","description":"Prefix for the generated token value."},"expiry_at":{"type":"integer","description":"exipy date for token."},"legacy_token_id":{"type":"integer","description":"token id corresponding to legacy system"},"legacy_developer_app_id":{"type":"string","description":"developer app id corresponding to legacy system"}}}},"components/schemas/esper_cloud_api_UsersListResponse":{"id":"components/schemas/esper_cloud_api_UsersListResponse","kind":"json-schema","title":"UsersListResponse","data":{"title":"UsersListResponse","type":"object","properties":{"user_id":{"title":"user id","type":"string"},"tenant_id":{"title":"tenant id","type":"string","format":"uuid"},"partner_id":{"title":"partner id","type":"string","format":"uuid"},"email":{"title":"email","type":"string"},"name":{"title":"name","type":"string"},"connection_id":{"title":"connection id","type":"string"},"created_at":{"title":"created_at","type":"string","format":"timestamp"},"updated_at":{"title":"updated_at","type":"string","format":"timestamp"}}}},"components/schemas/blueprints_apply_policy":{"id":"components/schemas/blueprints_apply_policy","kind":"json-schema","title":"blueprints_apply_policy","data":{"type":"string","enum":["ALWAYS APPLY","IGNORE","PROVISION ONLY"]}},"components/schemas/blueprints_device_mode_settings":{"id":"components/schemas/blueprints_device_mode_settings","kind":"json-schema","title":"blueprints_device_mode_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"device_mode":{"type":"string","enum":["KIOSK","MULTI APP"]}}}},"components/schemas/blueprints_launcher_settings":{"id":"components/schemas/blueprints_launcher_settings","kind":"json-schema","title":"blueprints_launcher_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"launcher":{"type":"string","enum":["ESPER","DEFAULT"]}},"required":["apply_policy","launcher"]}},"components/schemas/blueprints_local_app_install_settings":{"id":"components/schemas/blueprints_local_app_install_settings","kind":"json-schema","title":"blueprints_local_app_install_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_local_app_install":{"type":"boolean"}},"required":["apply_policy","allow_local_app_install"]}},"components/schemas/blueprints_app_uninstall_settings":{"id":"components/schemas/blueprints_app_uninstall_settings","kind":"json-schema","title":"blueprints_app_uninstall_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_app_uninstallation":{"type":"boolean"}},"required":["apply_policy","allow_app_uninstallation"]}},"components/schemas/blueprints_app_permission_policy_settings":{"id":"components/schemas/blueprints_app_permission_policy_settings","kind":"json-schema","title":"blueprints_app_permission_policy_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"permission_policy":{"type":"string","enum":["ALLOW AUTOMATICALLY","DENY","ASK USER"]}},"required":["apply_policy","permission_policy"]}},"components/schemas/blueprints_wifi_settings":{"id":"components/schemas/blueprints_wifi_settings","kind":"json-schema","title":"blueprints_wifi_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_wifi":{"type":"boolean"},"wifi_state":{"type":"string","enum":["ENABLE","DISABLE"]}},"required":["apply_policy","allow_wifi","wifi_state"]}},"components/schemas/blueprints_drift_policy":{"id":"components/schemas/blueprints_drift_policy","kind":"json-schema","title":"blueprints_drift_policy","data":{"type":"string","enum":["IGNORE","LOG ONLY","MINOR","MAJOR","CRITICAL"],"default":"IGNORE","description":"Allowed values: IGNORE, LOG ONLY, MINOR, MAJOR, CRITICAL"}},"components/schemas/blueprints_bluetooth_settings":{"id":"components/schemas/blueprints_bluetooth_settings","kind":"json-schema","title":"blueprints_bluetooth_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_bluetooth":{"type":"boolean"},"bluetooth_state":{"type":"string","enum":["ENABLE","DISABLE"]},"drift_policy":{"$ref":"#/components/schemas/blueprints_drift_policy"}},"required":["apply_policy","allow_bluetooth"]}},"components/schemas/blueprints_sms_settings":{"id":"components/schemas/blueprints_sms_settings","kind":"json-schema","title":"blueprints_sms_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_sms":{"type":"boolean"}},"required":["apply_policy","allow_sms"]}},"components/schemas/blueprints_nfc_settings":{"id":"components/schemas/blueprints_nfc_settings","kind":"json-schema","title":"blueprints_nfc_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_nfc":{"type":"boolean"}},"required":["apply_policy","allow_nfc"]}},"components/schemas/blueprints_incoming_numbers_settings":{"id":"components/schemas/blueprints_incoming_numbers_settings","kind":"json-schema","title":"blueprints_incoming_numbers_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_all_numbers":{"type":"boolean"},"allowed_numbers":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}}},"required":["apply_policy","allow_all_numbers"]}},"components/schemas/blueprints_outgoing_numbers_settings":{"id":"components/schemas/blueprints_outgoing_numbers_settings","kind":"json-schema","title":"blueprints_outgoing_numbers_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_all_numbers":{"type":"boolean"},"allow_ussd_codes":{"type":"boolean","default":false},"allowed_numbers":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}}},"required":["apply_policy","allow_all_numbers"]}},"components/schemas/blueprints_ethernet_settings":{"id":"components/schemas/blueprints_ethernet_settings","kind":"json-schema","title":"blueprints_ethernet_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"auth_mode":{"type":"string","enum":["NONE","EAP-TLS"]},"ca_cert_alias":{"type":"string"},"client_cert_alias":{"type":"string"},"eap_identity":{"type":"string"}},"required":["apply_policy"]}},"components/schemas/blueprints_adb_settings":{"id":"components/schemas/blueprints_adb_settings","kind":"json-schema","title":"blueprints_adb_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_adb":{"type":"boolean"}},"required":["apply_policy","allow_adb"]}},"components/schemas/blueprints_safe_boot_settings":{"id":"components/schemas/blueprints_safe_boot_settings","kind":"json-schema","title":"blueprints_safe_boot_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_safe_boot":{"type":"boolean"}},"required":["apply_policy","allow_safe_boot"]}},"components/schemas/blueprints_factory_reset_settings":{"id":"components/schemas/blueprints_factory_reset_settings","kind":"json-schema","title":"blueprints_factory_reset_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_factory_reset":{"type":"boolean"}},"required":["apply_policy","allow_factory_reset"]}},"components/schemas/blueprints_screen_timeout_settings":{"id":"components/schemas/blueprints_screen_timeout_settings","kind":"json-schema","title":"blueprints_screen_timeout_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"screentimeout_value":{"type":"integer"}},"required":["apply_policy","screentimeout_value"]}},"components/schemas/blueprints_lock_screen_settings":{"id":"components/schemas/blueprints_lock_screen_settings","kind":"json-schema","title":"blueprints_lock_screen_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"password_quality":{"type":"string","enum":["NONE","ALPHABETIC","NUMERIC","ALPHANUMERIC","COMPLEX","BIOMETRIC_WEAK"]},"minimum_password_length":{"type":"integer","nullable":true},"allow_keyguard":{"type":"boolean"}},"required":["apply_policy","password_quality","allow_keyguard"]}},"components/schemas/blueprints_brightness_settings":{"id":"components/schemas/blueprints_brightness_settings","kind":"json-schema","title":"blueprints_brightness_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"brightness_value":{"type":"string"}}}},"components/schemas/blueprints_screen_orientation_settings":{"id":"components/schemas/blueprints_screen_orientation_settings","kind":"json-schema","title":"blueprints_screen_orientation_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"orientation_type":{"type":"string","enum":["PORTRAIT","LANDSCAPE","INVERTED PORTRAIT","INVERTED LANDSCAPE","AUTO"]}}}},"components/schemas/blueprints_screenshot_settings":{"id":"components/schemas/blueprints_screenshot_settings","kind":"json-schema","title":"blueprints_screenshot_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_screenshot":{"type":"boolean"}}}},"components/schemas/blueprints_notification_bar_settings":{"id":"components/schemas/blueprints_notification_bar_settings","kind":"json-schema","title":"blueprints_notification_bar_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_notification_bar":{"type":"boolean"}}}},"components/schemas/blueprints_wallpaper_settings":{"id":"components/schemas/blueprints_wallpaper_settings","kind":"json-schema","title":"blueprints_wallpaper_settings","data":{"type":"object","properties":{"homescreen":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"portrait":{"type":"object","properties":{"wallpaper_id":{"type":"string"}}},"landscape":{"type":"object","properties":{"wallpaper_id":{"type":"string"}}}}},"lockscreen":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"portrait":{"type":"object","properties":{"wallpaper_id":{"type":"string"}}}}}}}},"components/schemas/blueprints_esper_settings_apps_settings":{"id":"components/schemas/blueprints_esper_settings_apps_settings","kind":"json-schema","title":"blueprints_esper_settings_apps_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_dock":{"type":"boolean"},"admin_mode_password":{"type":"string"},"allow_esper_settings_app":{"type":"boolean"},"settings":{"type":"object","properties":{"flashlight":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"wifi":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"auto_rotation":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"reboot":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"clear_app_data":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"kiosk_app_selection":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"esper_branding":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"factory_reset":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"about":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"display":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"sound":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"keyboard":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"input_selection":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_reset_to_default":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_high_contrast_text":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_cc_deuteranomaly":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_cc_protanomaly":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_cc_tritanomaly":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_mono_audio":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_display_size":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_font_scale":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_talkback":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"accessibility_text_to_speech":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"mobile_data":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"bluetooth":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"language":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"time_and_date":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"storage":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"data_roaming":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"wifi_tethering":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]},"airplane_mode":{"type":"string","enum":["NONE","USER","ADMIN","BOTH"]}}}},"required":["dock_accessibitly_settings","admin_mode_password_settings","settings"]}},"components/schemas/blueprints_android_settings_app_settings":{"id":"components/schemas/blueprints_android_settings_app_settings","kind":"json-schema","title":"blueprints_android_settings_app_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_android_settings_app":{"type":"boolean"}},"required":["allow_android_settings_app"]}},"components/schemas/blueprints_customized_device_level_json_settings":{"id":"components/schemas/blueprints_customized_device_level_json_settings","kind":"json-schema","title":"blueprints_customized_device_level_json_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"customized_json":{"type":"object"}},"required":["customized_json"]}},"components/schemas/blueprints_google_services_settings":{"id":"components/schemas/blueprints_google_services_settings","kind":"json-schema","title":"blueprints_google_services_settings","data":{"type":"object","properties":{"afw_account_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_afw_account_addition":{"type":"boolean"}},"required":["apply_policy","allow_afw_account_addition"]},"personal_accounts_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"personal_accounts_limit_value":{"type":"integer"}},"required":["apply_policy","personal_accounts_limit_value"]},"play_store_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_playstore":{"type":"boolean"}},"required":["apply_policy","allow_playstore"]},"google_assitant_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_google_assistant":{"type":"boolean"}},"required":["apply_policy","allow_google_assistant"]},"factory_reset_protection_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"google_id":{"type":"string"},"email":{"type":"string"}},"required":["apply_policy","google_id","email"]}},"required":["afw_account_settings","personal_accounts_settings","play_store_settings","google_assitant_settings","factory_reset_protection_settings"]}},"components/schemas/blueprints_external_device_settings":{"id":"components/schemas/blueprints_external_device_settings","kind":"json-schema","title":"blueprints_external_device_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_external_device_mount":{"type":"boolean"}}}},"components/schemas/blueprints_usb_tethering_settings":{"id":"components/schemas/blueprints_usb_tethering_settings","kind":"json-schema","title":"blueprints_usb_tethering_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_usb_tethering":{"type":"boolean"}}}},"components/schemas/blueprints_file_transfer_settings":{"id":"components/schemas/blueprints_file_transfer_settings","kind":"json-schema","title":"blueprints_file_transfer_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_file_transfer":{"type":"boolean"}}}},"components/schemas/blueprints_camera_settings":{"id":"components/schemas/blueprints_camera_settings","kind":"json-schema","title":"blueprints_camera_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_camera_access":{"type":"boolean"}}}},"components/schemas/blueprints_location_settings":{"id":"components/schemas/blueprints_location_settings","kind":"json-schema","title":"blueprints_location_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_location":{"type":"boolean"}}}},"components/schemas/blueprints_sound_settings":{"id":"components/schemas/blueprints_sound_settings","kind":"json-schema","title":"blueprints_sound_settings","data":{"type":"object","properties":{"alarm_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"alarm_volume":{"type":"integer"}}},"music_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"music_volume":{"type":"integer"}}},"ringtone_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"ringtone_volume":{"type":"integer"}}},"notification_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"notification_volume":{"type":"integer"}}},"voice_call_settings":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"voice_call_volume":{"type":"integer"}}}}}},"components/schemas/blueprints_system_updates_settings":{"id":"components/schemas/blueprints_system_updates_settings","kind":"json-schema","title":"blueprints_system_updates_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"system_update_policy_type":{"type":"string","enum":["UPDATE AUTOMATICALLY","POSTPONE INSTALLATION","WINDOWED INSTALLATION","DISABLE UPDATE","DEFAULT UPDATE"]},"maintenance_start":{"type":"string"},"maintenance_end":{"type":"string"}}}},"components/schemas/blueprints_time_date_settings":{"id":"components/schemas/blueprints_time_date_settings","kind":"json-schema","title":"blueprints_time_date_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_edit_time_date":{"type":"boolean"}}}},"components/schemas/blueprints_timezone_settings":{"id":"components/schemas/blueprints_timezone_settings","kind":"json-schema","title":"blueprints_timezone_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"timezone":{"type":"string"}}}},"components/schemas/blueprints_language_settings":{"id":"components/schemas/blueprints_language_settings","kind":"json-schema","title":"blueprints_language_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"device_locale":{"type":"string"}}}},"components/schemas/blueprints_strict_wifi_synchronization_settings":{"id":"components/schemas/blueprints_strict_wifi_synchronization_settings","kind":"json-schema","title":"blueprints_strict_wifi_synchronization_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_strict_wifi_synchronization":{"type":"boolean"}}}},"components/schemas/blueprints_strict_app_synchronization_settings":{"id":"components/schemas/blueprints_strict_app_synchronization_settings","kind":"json-schema","title":"blueprints_strict_app_synchronization_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_strict_app_synchronization":{"type":"boolean"}}}},"components/schemas/blueprints_app":{"id":"components/schemas/blueprints_app","kind":"json-schema","title":"blueprints_app","data":{"type":"object","properties":{"app_id":{"type":"string"},"app_version_id":{"type":"string"},"package_name":{"type":"string"},"installation_rule":{"type":"string","enum":["POST PROVISIONING","DURING PROVISIONING"]},"state":{"type":"string","enum":["SHOW","HIDE","DISABLE","LAUNCHABLE_BUT_HIDDEN"]},"managed_config":{"type":"object"},"type":{"type":"string","enum":["PRELOADED","ENTERPRISE","PLAYSTORE"]},"auto_update_mode":{"type":"string","enum":["autoUpdateDefault","autoUpdateHighPriority","autoUpdatePostponed"]}},"required":["app_id","app_version_id","package_name","installation_rule","state","type","auto_update_mode"]}},"components/schemas/blueprints_apps":{"id":"components/schemas/blueprints_apps","kind":"json-schema","title":"blueprints_apps","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_app"}}},"components/schemas/blueprints_file":{"id":"components/schemas/blueprints_file","kind":"json-schema","title":"blueprints_file","data":{"type":"object","properties":{"file_id":{"type":"integer","description":"File identifier from Content Management"},"destination_path":{"type":"string"}},"required":["file_id","destination_path","tags"]}},"components/schemas/blueprints_files":{"id":"components/schemas/blueprints_files","kind":"json-schema","title":"blueprints_files","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_file"}}},"components/schemas/blueprints_wifi_network":{"id":"components/schemas/blueprints_wifi_network","kind":"json-schema","title":"blueprints_wifi_network","data":{"type":"object","properties":{"wifi_network_id":{"type":"string"},"certificate_file_path":{"type":"string","example":"/storage/emulated/0/Documents"},"certificate_file_password":{"type":"string","example":"abc"}},"required":["wifi_network_id"]}},"components/schemas/blueprints_wifi_networks":{"id":"components/schemas/blueprints_wifi_networks","kind":"json-schema","title":"blueprints_wifi_networks","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_wifi_network"}}},"components/schemas/blueprints_saved_ap_settings":{"id":"components/schemas/blueprints_saved_ap_settings","kind":"json-schema","title":"blueprints_saved_ap_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"use_only_saved_ap":{"type":"boolean"}},"required":["apply_policy","use_only_saved_ap"]}},"components/schemas/blueprints_mac_address_randomization_settings":{"id":"components/schemas/blueprints_mac_address_randomization_settings","kind":"json-schema","title":"blueprints_mac_address_randomization_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_mac_address_randomization":{"type":"boolean"}}}},"components/schemas/blueprints_esper_edgebox_settings":{"id":"components/schemas/blueprints_esper_edgebox_settings","kind":"json-schema","title":"blueprints_esper_edgebox_settings","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_esper_edgebox":{"type":"boolean"}}}},"components/schemas/blueprints_app_layout_setting":{"id":"components/schemas/blueprints_app_layout_setting","kind":"json-schema","title":"blueprints_app_layout_setting","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"brand_logo_position":{"type":"string","enum":["BOTTOM_LEFT","BOTTOM_RIGHT","TOP_LEFT","TOP_RIGHT"]},"device_name_position":{"type":"string","enum":["BOTTOM_LEFT","BOTTOM_RIGHT","TOP_LEFT","TOP_RIGHT"]},"app_icon_size":{"type":"string","enum":["SMALL_ICON","MEDIUM_ICON","LARGE_ICON","DEFAULT_ICON","CUSTOM_ICON"]},"app_name_size":{"type":"string","enum":["SMALL_TEXT","MEDIUM_TEXT","LARGE_TEXT","DEFAULT_TEXT","CUSTOM_TEXT"]},"device_name_and_id_display_policy":{"type":"string","enum":["NONE","DEFAULT","DEVICE_ID_ONLY","ALIAS_NAME_ONLY","DEVICE_ID_AND_ALIAS_NAME"]},"device_name_size":{"type":"string","enum":["SMALL_TEXT","MEDIUM_TEXT","LARGE_TEXT","DEFAULT_TEXT","CUSTOM_TEXT"]},"device_alias_size":{"type":"string","enum":["SMALL_TEXT","MEDIUM_TEXT","LARGE_TEXT","DEFAULT_TEXT","CUSTOM_TEXT"]},"custom_app_icon_size":{"type":"integer","minimum":20,"maximum":100},"custom_device_name_size":{"type":"integer","minimum":20,"maximum":100},"custom_device_alias_size":{"type":"integer","minimum":20,"maximum":100},"custom_app_name_size":{"type":"integer","minimum":20,"maximum":100}}}},"components/schemas/blueprints_app_icon":{"id":"components/schemas/blueprints_app_icon","kind":"json-schema","title":"blueprints_app_icon","data":{"type":"object","properties":{"type":{"type":"string","enum":["SINGLE_APP"]},"name":{"type":"string"}}}},"components/schemas/blueprints_app_order_setting":{"id":"components/schemas/blueprints_app_order_setting","kind":"json-schema","title":"blueprints_app_order_setting","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"app_order_list":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_app_icon"}}}}},"components/schemas/blueprints_datawedge_settings":{"id":"components/schemas/blueprints_datawedge_settings","kind":"json-schema","title":"blueprints_datawedge_settings","data":{"type":"object","description":"DataWedge barcode scanning configuration for Zebra devices.","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"config_mode":{"type":"string","enum":["NONE","UPLOAD","CONTENT_MANAGEMENT"],"default":"NONE"},"files":{"$ref":"#/components/schemas/blueprints_files"}}}},"components/schemas/blueprints_mx_config_settings":{"id":"components/schemas/blueprints_mx_config_settings","kind":"json-schema","title":"blueprints_mx_config_settings","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MX Config settings — supports file upload, content management, and XML paste."},"children":[]}]}]}],"properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"config_mode":{"type":"string","enum":["NONE","UPLOAD","CONTENT_MANAGEMENT","PASTE_XML"],"default":"NONE"},"files":{"$ref":"#/components/schemas/blueprints_files"},"xml_content":{"type":"string","nullable":true}}}},"components/schemas/blueprints_oem_config_options":{"id":"components/schemas/blueprints_oem_config_options","kind":"json-schema","title":"blueprints_oem_config_options","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"OEM Config options — multi-mode input. Exactly one of files / json_content / manual_configuration is populated depending on config_mode; the rest must be empty/null."},"children":[]}]}]}],"properties":{"config_mode":{"type":"string","enum":["NONE","PASTE_JSON","UPLOAD_JSON_FILE","MANUAL_CONFIGURATION","CONTENT_MANAGEMENT"],"default":"NONE"},"files":{"$ref":"#/components/schemas/blueprints_files"},"json_content":{"type":"string","nullable":true},"manual_configuration":{"type":"object","nullable":true,"additionalProperties":true}}}},"components/schemas/blueprints_oem_config_settings":{"id":"components/schemas/blueprints_oem_config_settings","kind":"json-schema","title":"blueprints_oem_config_settings","data":{"type":"object","description":"OEM Config settings with version picker and configuration options.","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_oem_config":{"type":"boolean","default":false},"oem_config_type":{"type":"string","enum":["NONE","LEGACY_ZEBRA_OEMCONFIG","ZEBRA_OEMCONFIG_POWERED_BY_MX"],"default":"NONE"},"oem_config_options":{"$ref":"#/components/schemas/blueprints_oem_config_options"}}}},"components/schemas/blueprints_oem_settings":{"id":"components/schemas/blueprints_oem_settings","kind":"json-schema","title":"blueprints_oem_settings","data":{"type":"object","description":"Container for all OEM subsystem settings (DataWedge, MX Config, OEM Config).","properties":{"datawedge_settings":{"$ref":"#/components/schemas/blueprints_datawedge_settings"},"mx_config_settings":{"$ref":"#/components/schemas/blueprints_mx_config_settings"},"oem_config_settings":{"$ref":"#/components/schemas/blueprints_oem_config_settings"}}}},"components/schemas/blueprints_advanced_configurations":{"id":"components/schemas/blueprints_advanced_configurations","kind":"json-schema","title":"blueprints_advanced_configurations","data":{"type":"object","description":"OEM-specific advanced configurations for AIDC devices. Currently supports Zebra (DataWedge, MX Config, OEM Config).\n","properties":{"oem_manufacturer":{"type":"string","nullable":true,"enum":["ZEBRA"]},"oem_settings":{"$ref":"#/components/schemas/blueprints_oem_settings"}}}},"components/schemas/blueprints_settings":{"id":"components/schemas/blueprints_settings","kind":"json-schema","title":"blueprints_settings","data":{"type":"object","properties":{"blueprint_drift_enabled":{"type":"boolean","default":false,"description":"Whether granular drift detection is enabled for this blueprint. Defaults to false (disabled). When toggled on, drift-supported settings default to \"LOG ONLY\"; when toggled off, they are set to \"IGNORE\". Source of truth for granular-drift enablement."},"device_mode_settings":{"$ref":"#/components/schemas/blueprints_device_mode_settings"},"launcher_settings":{"$ref":"#/components/schemas/blueprints_launcher_settings"},"local_app_install_settings":{"$ref":"#/components/schemas/blueprints_local_app_install_settings"},"app_uninstall_settings":{"$ref":"#/components/schemas/blueprints_app_uninstall_settings"},"app_permission_policy_settings":{"$ref":"#/components/schemas/blueprints_app_permission_policy_settings"},"wifi_settings":{"$ref":"#/components/schemas/blueprints_wifi_settings"},"bluetooth_settings":{"$ref":"#/components/schemas/blueprints_bluetooth_settings"},"sms_settings":{"$ref":"#/components/schemas/blueprints_sms_settings"},"nfc_settings":{"$ref":"#/components/schemas/blueprints_nfc_settings"},"incoming_numbers_settings":{"$ref":"#/components/schemas/blueprints_incoming_numbers_settings"},"outgoing_numbers_settings":{"$ref":"#/components/schemas/blueprints_outgoing_numbers_settings"},"ethernet_settings":{"$ref":"#/components/schemas/blueprints_ethernet_settings"},"adb_settings":{"$ref":"#/components/schemas/blueprints_adb_settings"},"safe_boot_settings":{"$ref":"#/components/schemas/blueprints_safe_boot_settings"},"factory_reset_settings":{"$ref":"#/components/schemas/blueprints_factory_reset_settings"},"screen_timeout_settings":{"$ref":"#/components/schemas/blueprints_screen_timeout_settings"},"lock_screen_settings":{"$ref":"#/components/schemas/blueprints_lock_screen_settings"},"brightness_settings":{"$ref":"#/components/schemas/blueprints_brightness_settings"},"screen_orientation_settings":{"$ref":"#/components/schemas/blueprints_screen_orientation_settings"},"screenshot_settings":{"$ref":"#/components/schemas/blueprints_screenshot_settings"},"notification_bar_settings":{"$ref":"#/components/schemas/blueprints_notification_bar_settings"},"wallpaper_settings":{"$ref":"#/components/schemas/blueprints_wallpaper_settings"},"esper_settings_apps_settings":{"$ref":"#/components/schemas/blueprints_esper_settings_apps_settings"},"android_settings_app_settings":{"$ref":"#/components/schemas/blueprints_android_settings_app_settings"},"customized_device_level_json_settings":{"$ref":"#/components/schemas/blueprints_customized_device_level_json_settings"},"google_services_settings":{"$ref":"#/components/schemas/blueprints_google_services_settings"},"external_device_settings":{"$ref":"#/components/schemas/blueprints_external_device_settings"},"usb_tethering_settings":{"$ref":"#/components/schemas/blueprints_usb_tethering_settings"},"file_transfer_settings":{"$ref":"#/components/schemas/blueprints_file_transfer_settings"},"camera_settings":{"$ref":"#/components/schemas/blueprints_camera_settings"},"location_settings":{"$ref":"#/components/schemas/blueprints_location_settings"},"sound_settings":{"$ref":"#/components/schemas/blueprints_sound_settings"},"system_updates_settings":{"$ref":"#/components/schemas/blueprints_system_updates_settings"},"time_date_settings":{"$ref":"#/components/schemas/blueprints_time_date_settings"},"timezone_settings":{"$ref":"#/components/schemas/blueprints_timezone_settings"},"language_settings":{"$ref":"#/components/schemas/blueprints_language_settings"},"strict_wifi_synchronization_settings":{"$ref":"#/components/schemas/blueprints_strict_wifi_synchronization_settings"},"strict_app_synchronization_settings":{"$ref":"#/components/schemas/blueprints_strict_app_synchronization_settings"},"apps":{"$ref":"#/components/schemas/blueprints_apps"},"files":{"$ref":"#/components/schemas/blueprints_files"},"wifi_networks":{"$ref":"#/components/schemas/blueprints_wifi_networks"},"saved_ap_settings":{"$ref":"#/components/schemas/blueprints_saved_ap_settings"},"mac_address_randomization_settings":{"$ref":"#/components/schemas/blueprints_mac_address_randomization_settings"},"esper_edgebox_settings":{"$ref":"#/components/schemas/blueprints_esper_edgebox_settings"},"app_layout_setting":{"$ref":"#/components/schemas/blueprints_app_layout_setting"},"app_order_setting":{"$ref":"#/components/schemas/blueprints_app_order_setting"},"advanced_configurations":{"$ref":"#/components/schemas/blueprints_advanced_configurations"}}}},"components/schemas/blueprints_kiosk_mode_settings":{"id":"components/schemas/blueprints_kiosk_mode_settings","kind":"json-schema","title":"blueprints_kiosk_mode_settings","data":{"type":"object","properties":{"app_id":{"type":"string"},"app_type":{"type":"string","enum":["VPP","TENANT_IOS","ESPER_IOS","WEBCLIP","PRELOADED"]},"disable_device_rotation":{"type":"boolean","default":false},"disable_screen_timeout":{"type":"boolean","default":true}}}},"components/schemas/blueprints_local_app_install_settings_ios":{"id":"components/schemas/blueprints_local_app_install_settings_ios","kind":"json-schema","title":"blueprints_local_app_install_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_local_app_install":{"type":"boolean","default":true}},"required":["apply_policy","allow_local_app_install"]}},"components/schemas/blueprints_app_uninstall_settings_ios":{"id":"components/schemas/blueprints_app_uninstall_settings_ios","kind":"json-schema","title":"blueprints_app_uninstall_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_app_uninstallation":{"type":"boolean","default":true}},"required":["apply_policy","allow_app_uninstallation"]}},"components/schemas/blueprints_bluetooth_settings_ios":{"id":"components/schemas/blueprints_bluetooth_settings_ios","kind":"json-schema","title":"blueprints_bluetooth_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"edit_bluetooth":{"type":"boolean","default":true}},"required":["apply_policy","edit_bluetooth"]}},"components/schemas/blueprints_nfc_settings_ios":{"id":"components/schemas/blueprints_nfc_settings_ios","kind":"json-schema","title":"blueprints_nfc_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_nfc":{"type":"boolean","default":true}},"required":["apply_policy","allow_nfc"]}},"components/schemas/blueprints_factory_reset_settings_ios":{"id":"components/schemas/blueprints_factory_reset_settings_ios","kind":"json-schema","title":"blueprints_factory_reset_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_factory_reset":{"type":"boolean","default":true}},"required":["apply_policy","allow_factory_reset"]}},"components/schemas/blueprints_screenshot_settings_ios":{"id":"components/schemas/blueprints_screenshot_settings_ios","kind":"json-schema","title":"blueprints_screenshot_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_screenshot":{"type":"boolean","default":true}}}},"components/schemas/blueprints_custom_device_level_profile_settings_ios":{"id":"components/schemas/blueprints_custom_device_level_profile_settings_ios","kind":"json-schema","title":"blueprints_custom_device_level_profile_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"custom_profile":{"type":"string","nullable":true}},"required":["customized_profile"]}},"components/schemas/blueprints_siri_settings_ios":{"id":"components/schemas/blueprints_siri_settings_ios","kind":"json-schema","title":"blueprints_siri_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_siri":{"type":"boolean","default":true}},"required":["apply_policy","allow_siri"]}},"components/schemas/blueprints_tethering_settings_ios":{"id":"components/schemas/blueprints_tethering_settings_ios","kind":"json-schema","title":"blueprints_tethering_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"edit_hotspot":{"type":"boolean","default":true}}}},"components/schemas/blueprints_camera_settings_ios":{"id":"components/schemas/blueprints_camera_settings_ios","kind":"json-schema","title":"blueprints_camera_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_camera_access":{"type":"boolean","default":true}}}},"components/schemas/blueprints_hide_preloaded_apps_settings_ios":{"id":"components/schemas/blueprints_hide_preloaded_apps_settings_ios","kind":"json-schema","title":"blueprints_hide_preloaded_apps_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"hide_preloaded_apps":{"type":"boolean","default":true}}}},"components/schemas/blueprints_time_date_settings_ios":{"id":"components/schemas/blueprints_time_date_settings_ios","kind":"json-schema","title":"blueprints_time_date_settings_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"force_automatic_time_date":{"type":"boolean","default":false}}}},"components/schemas/blueprints_wifi_network_ios":{"id":"components/schemas/blueprints_wifi_network_ios","kind":"json-schema","title":"blueprints_wifi_network_ios","data":{"type":"object","properties":{"wifi_network_id":{"type":"string"}},"required":["wifi_network_id"]}},"components/schemas/blueprints_wifi_networks_ios":{"id":"components/schemas/blueprints_wifi_networks_ios","kind":"json-schema","title":"blueprints_wifi_networks_ios","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_wifi_network_ios"}}},"components/schemas/blueprints_ios_app":{"id":"components/schemas/blueprints_ios_app","kind":"json-schema","title":"blueprints_ios_app","data":{"type":"object","properties":{"app_id":{"type":"string"},"app_version_id":{"type":"string"},"state":{"type":"string","enum":["SHOW"]},"app_type":{"type":"string","enum":["VPP","TENANT_IOS","ESPER_IOS","WEBCLIP","PRELOADED"]},"base64_app_config":{"type":"string"},"auto_update":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enable automatic updates for the app. Only allowed when app_type is VPP."},"children":[]}]}]}]}},"required":["app_id","app_version_id","state","app_type"]}},"components/schemas/blueprints_ios_apps":{"id":"components/schemas/blueprints_ios_apps","kind":"json-schema","title":"blueprints_ios_apps","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_ios_app"}}},"components/schemas/blueprints_provisioning_profile_ios":{"id":"components/schemas/blueprints_provisioning_profile_ios","kind":"json-schema","title":"blueprints_provisioning_profile_ios","data":{"type":"object","properties":{"profile_id":{"type":"string","format":"uuid"},"profile_version_id":{"type":"string","format":"uuid"}},"required":["profile_id","profile_version_id"]}},"components/schemas/blueprints_provisioning_profiles_ios":{"id":"components/schemas/blueprints_provisioning_profiles_ios","kind":"json-schema","title":"blueprints_provisioning_profiles_ios","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_provisioning_profile_ios"}}},"components/schemas/blueprints_ios_wallpaper_settings":{"id":"components/schemas/blueprints_ios_wallpaper_settings","kind":"json-schema","title":"blueprints_ios_wallpaper_settings","data":{"type":"object","properties":{"homescreen":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"portrait":{"type":"object","properties":{"wallpaper_id":{"type":"string"}}}}},"lockscreen":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"portrait":{"type":"object","properties":{"wallpaper_id":{"type":"string"}}}}}}}},"components/schemas/blueprints_web_content_setting_ios":{"id":"components/schemas/blueprints_web_content_setting_ios","kind":"json-schema","title":"blueprints_web_content_setting_ios","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"url_blocklist":{"type":"array","items":{"type":"string"}},"url_allowlist":{"type":"array","items":{"type":"string"}}}}},"components/schemas/blueprints_defer_os_updates":{"id":"components/schemas/blueprints_defer_os_updates","kind":"json-schema","title":"blueprints_defer_os_updates","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"defer_os_updates_delay":{"type":"integer","minimum":0,"maximum":90}}}},"components/schemas/blueprints_iosSettings":{"id":"components/schemas/blueprints_iosSettings","kind":"json-schema","title":"blueprints_iosSettings","data":{"type":"object","properties":{"kiosk_app":{"$ref":"#/components/schemas/blueprints_kiosk_mode_settings"},"device_mode_settings":{"$ref":"#/components/schemas/blueprints_device_mode_settings"},"local_app_install_settings":{"$ref":"#/components/schemas/blueprints_local_app_install_settings_ios"},"app_uninstall_settings":{"$ref":"#/components/schemas/blueprints_app_uninstall_settings_ios"},"bluetooth_settings":{"$ref":"#/components/schemas/blueprints_bluetooth_settings_ios"},"nfc_settings":{"$ref":"#/components/schemas/blueprints_nfc_settings_ios"},"factory_reset_settings":{"$ref":"#/components/schemas/blueprints_factory_reset_settings_ios"},"screenshot_settings":{"$ref":"#/components/schemas/blueprints_screenshot_settings_ios"},"custom_device_level_profile_settings":{"$ref":"#/components/schemas/blueprints_custom_device_level_profile_settings_ios"},"siri_settings":{"$ref":"#/components/schemas/blueprints_siri_settings_ios"},"tethering_settings":{"$ref":"#/components/schemas/blueprints_tethering_settings_ios"},"camera_settings":{"$ref":"#/components/schemas/blueprints_camera_settings_ios"},"hide_preloaded_apps_settings":{"$ref":"#/components/schemas/blueprints_hide_preloaded_apps_settings_ios"},"time_date_settings":{"$ref":"#/components/schemas/blueprints_time_date_settings_ios"},"wifi_networks":{"$ref":"#/components/schemas/blueprints_wifi_networks_ios"},"apps":{"$ref":"#/components/schemas/blueprints_ios_apps"},"provisioning_profiles":{"$ref":"#/components/schemas/blueprints_provisioning_profiles_ios"},"wallpaper_settings":{"$ref":"#/components/schemas/blueprints_ios_wallpaper_settings"},"web_content_settings":{"$ref":"#/components/schemas/blueprints_web_content_setting_ios"},"defer_os_updates":{"$ref":"#/components/schemas/blueprints_defer_os_updates"},"strict_wifi_synchronization_settings":{"$ref":"#/components/schemas/blueprints_strict_wifi_synchronization_settings"}}}},"components/schemas/blueprints_tvos_kiosk_mode_settings":{"id":"components/schemas/blueprints_tvos_kiosk_mode_settings","kind":"json-schema","title":"blueprints_tvos_kiosk_mode_settings","data":{"type":"object","description":"Kiosk app configuration for tvOS. WEBCLIP and PRELOADED types are not allowed.","properties":{"app_id":{"type":"string","format":"uuid"},"app_type":{"type":"string","enum":["VPP","TENANT_IOS","ESPER_IOS"]}},"required":["app_id","app_type"]}},"components/schemas/blueprints_wifi_access_points_tvos":{"id":"components/schemas/blueprints_wifi_access_points_tvos","kind":"json-schema","title":"blueprints_wifi_access_points_tvos","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"}}}},"components/schemas/blueprints_tvos_app":{"id":"components/schemas/blueprints_tvos_app","kind":"json-schema","title":"blueprints_tvos_app","data":{"type":"object","description":"App configuration for tvOS devices. WEBCLIP apps are not supported on tvOS.","properties":{"app_id":{"type":"string","format":"uuid"},"app_version_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["SHOW"]},"app_type":{"type":"string","enum":["VPP","TENANT_IOS","ESPER_IOS","PRELOADED"]},"base64_app_config":{"type":"string"},"auto_update":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enable automatic updates for the app. Only allowed when app_type is VPP."},"children":[]}]}]}]}},"required":["app_id","app_version_id","state","app_type"]}},"components/schemas/blueprints_tvos_apps":{"id":"components/schemas/blueprints_tvos_apps","kind":"json-schema","title":"blueprints_tvos_apps","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_tvos_app"}}},"components/schemas/blueprints_tvosSettings":{"id":"components/schemas/blueprints_tvosSettings","kind":"json-schema","title":"blueprints_tvosSettings","data":{"type":"object","description":"Configuration settings specific to tvOS (Apple TV) devices","properties":{"device_mode_settings":{"$ref":"#/components/schemas/blueprints_device_mode_settings"},"kiosk_app":{"$ref":"#/components/schemas/blueprints_tvos_kiosk_mode_settings"},"custom_device_level_profile_settings":{"$ref":"#/components/schemas/blueprints_custom_device_level_profile_settings_ios"},"hide_preloaded_apps_settings":{"$ref":"#/components/schemas/blueprints_hide_preloaded_apps_settings_ios"},"time_date_settings":{"$ref":"#/components/schemas/blueprints_time_date_settings_ios"},"wifi_access_points":{"$ref":"#/components/schemas/blueprints_wifi_access_points_tvos"},"wifi_networks":{"$ref":"#/components/schemas/blueprints_wifi_networks_ios"},"apps":{"$ref":"#/components/schemas/blueprints_tvos_apps"},"provisioning_profiles":{"$ref":"#/components/schemas/blueprints_provisioning_profiles_ios"},"defer_os_updates":{"$ref":"#/components/schemas/blueprints_defer_os_updates"},"strict_wifi_synchronization_settings":{"$ref":"#/components/schemas/blueprints_strict_wifi_synchronization_settings"}}}},"components/schemas/blueprints_shellScriptLinux":{"id":"components/schemas/blueprints_shellScriptLinux","kind":"json-schema","title":"blueprints_shellScriptLinux","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"script":{"type":"string","description":"The shell script to be executed."},"interpreter":{"type":"string","description":"The interpreter to use for the script (e.g., bash)."},"alias":{"type":"string","description":"A user-friendly name or alias for the script."},"description":{"type":"string","description":"A description of what the script does."}},"required":["apply_policy","script","interpreter","alias"]}},"components/schemas/blueprints_customShellScriptsMultiple":{"id":"components/schemas/blueprints_customShellScriptsMultiple","kind":"json-schema","title":"blueprints_customShellScriptsMultiple","data":{"type":"object","properties":{"shell_scripts":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_shellScriptLinux"}}}}},"components/schemas/blueprints_customActionLinux":{"id":"components/schemas/blueprints_customActionLinux","kind":"json-schema","title":"blueprints_customActionLinux","data":{"type":"object","description":"Reference to a custom action to be applied on Linux devices within a blueprint.","properties":{"id":{"type":"string","format":"uuid","description":"The UUID of the custom action to apply."},"options_key":{"type":"string","format":"uuid","description":"The UUID of the specific option key within the Custom Action to use."},"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"}},"required":["id","options_key","apply_policy"]}},"components/schemas/blueprints_customActionsMultipleLinux":{"id":"components/schemas/blueprints_customActionsMultipleLinux","kind":"json-schema","title":"blueprints_customActionsMultipleLinux","data":{"type":"object","description":"Collection of custom actions to be applied on Linux devices.","properties":{"custom_actions":{"type":"array","description":"List of custom actions to apply to Linux devices.","items":{"$ref":"#/components/schemas/blueprints_customActionLinux"}}}}},"components/schemas/blueprints_linuxFile":{"id":"components/schemas/blueprints_linuxFile","kind":"json-schema","title":"blueprints_linuxFile","data":{"type":"object","properties":{"file_id":{"type":"integer"},"destination_path":{"type":"string","example":"/tmp"}},"required":["file_id","destination_path"]}},"components/schemas/blueprints_linuxFiles":{"id":"components/schemas/blueprints_linuxFiles","kind":"json-schema","title":"blueprints_linuxFiles","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_linuxFile"}}},"components/schemas/blueprints_linuxSettings":{"id":"components/schemas/blueprints_linuxSettings","kind":"json-schema","title":"blueprints_linuxSettings","data":{"type":"object","description":"Configuration settings specific to Linux devices in a blueprint","properties":{"custom_shell_scripts_multiple":{"$ref":"#/components/schemas/blueprints_customShellScriptsMultiple"},"custom_actions_multiple":{"$ref":"#/components/schemas/blueprints_customActionsMultipleLinux"},"files":{"$ref":"#/components/schemas/blueprints_linuxFiles"}}}},"components/schemas/blueprints_active_hours_settings_windows":{"id":"components/schemas/blueprints_active_hours_settings_windows","kind":"json-schema","title":"blueprints_active_hours_settings_windows","data":{"type":"object","description":"Windows active hours configuration for controlling update installation timing","properties":{"active_hours_start":{"type":"object","description":"Start time for active hours","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"time":{"type":"integer","minimum":0,"maximum":23,"default":8,"description":"Start hour in 24-hour format (0-23)"}},"required":["apply_policy","time"]},"active_hours_end":{"type":"object","description":"End time for active hours","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"time":{"type":"integer","minimum":0,"maximum":23,"default":17,"description":"End hour in 24-hour format (0-23)"}},"required":["apply_policy","time"]}},"required":["active_hours_start","active_hours_end"]}},"components/schemas/blueprints_windows_app":{"id":"components/schemas/blueprints_windows_app","kind":"json-schema","title":"blueprints_windows_app","data":{"type":"object","properties":{"app_id":{"type":"string"},"app_version_id":{"type":"string"},"state":{"type":"string","enum":["SHOW"]},"app_type":{"type":"string","enum":["TENANT_WINDOWS","ESPER_WINDOWS","TENANT_WINDOWS_EXE","TENANT_WINDOWS_UWP"]},"base64_app_config":{"type":"string"}},"required":["app_id","app_version_id","state","app_type"]}},"components/schemas/blueprints_windows_apps":{"id":"components/schemas/blueprints_windows_apps","kind":"json-schema","title":"blueprints_windows_apps","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_windows_app"}}},"components/schemas/blueprints_auto_update_settings_windows":{"id":"components/schemas/blueprints_auto_update_settings_windows","kind":"json-schema","title":"blueprints_auto_update_settings_windows","data":{"type":"object","description":"Windows automatic updates configuration","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"auto_update_type":{"type":"string","enum":["NOTIFY_DOWNLOAD","AUTO_INSTALL_AND_NOTIFY_RESTART","DEFAULT","SCHEDULED_INSTALL_AND_RESTART","AUTO_INSTALL_AND_RESTART_FORCED","OFF"],"default":"DEFAULT","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Type of automatic update behavior, mapped to the Windows CSP Update/AllowAutoUpdate. NOTIFY_DOWNLOAD notifies before downloading; AUTO_INSTALL_AND_NOTIFY_RESTART auto-installs and notifies to schedule a restart; DEFAULT auto-installs and restarts (system default); SCHEDULED_INSTALL_AND_RESTART auto-installs and restarts at a scheduled time; AUTO_INSTALL_AND_RESTART_FORCED auto-installs and restarts without end-user control; OFF disables automatic updates."},"children":[]}]}]}]}},"required":["apply_policy","auto_update_type"]}},"components/schemas/blueprints_background_script_settings":{"id":"components/schemas/blueprints_background_script_settings","kind":"json-schema","title":"blueprints_background_script_settings","data":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid","description":"Identifier of the background script registered in the tenant."},"apply_policy":{"type":"string","enum":["ALWAYS APPLY","IGNORE","PROVISION ONLY"],"default":"ALWAYS APPLY"}}}},"components/schemas/blueprints_background_scripts_windows":{"id":"components/schemas/blueprints_background_scripts_windows","kind":"json-schema","title":"blueprints_background_scripts_windows","data":{"type":"array","maxItems":5,"items":{"$ref":"#/components/schemas/blueprints_background_script_settings"}}},"components/schemas/blueprints_custom_policy_setting":{"id":"components/schemas/blueprints_custom_policy_setting","kind":"json-schema","title":"blueprints_custom_policy_setting","data":{"type":"object","required":["apply_policy","is_atomic","b64_csp_payload","alias"],"properties":{"apply_policy":{"type":"string","enum":["ALWAYS APPLY","IGNORE","PROVISION ONLY"],"default":"ALWAYS APPLY"},"is_atomic":{"type":"boolean","default":false},"b64_csp_payload":{"type":"string","maxLength":87382,"description":"Base64-encoded CSP (SyncML/OMA-DM) payload."},"alias":{"type":"string","maxLength":100},"description":{"type":"string","maxLength":300}}}},"components/schemas/blueprints_custom_policies_windows":{"id":"components/schemas/blueprints_custom_policies_windows","kind":"json-schema","title":"blueprints_custom_policies_windows","data":{"type":"array","maxItems":5,"items":{"$ref":"#/components/schemas/blueprints_custom_policy_setting"}}},"components/schemas/blueprints_powerShellScriptWindows":{"id":"components/schemas/blueprints_powerShellScriptWindows","kind":"json-schema","title":"blueprints_powerShellScriptWindows","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"script":{"type":"string","description":"The PowerShell script to be executed."},"interpreter":{"type":"string","maxLength":255,"description":"The interpreter to use for the script (e.g., powershell)."},"alias":{"type":"string","maxLength":100,"description":"A user-friendly name or alias for the script."},"description":{"type":"string","maxLength":300,"description":"A description of what the script does."}},"required":["apply_policy","script","interpreter","alias"]}},"components/schemas/blueprints_customShellScriptsMultipleWindows":{"id":"components/schemas/blueprints_customShellScriptsMultipleWindows","kind":"json-schema","title":"blueprints_customShellScriptsMultipleWindows","data":{"type":"object","properties":{"shell_scripts":{"type":"array","maxItems":10,"items":{"$ref":"#/components/schemas/blueprints_powerShellScriptWindows"}}}}},"components/schemas/blueprints_defer_os_updates_windows":{"id":"components/schemas/blueprints_defer_os_updates_windows","kind":"json-schema","title":"blueprints_defer_os_updates_windows","data":{"type":"object","description":"Windows OS updates deferral configuration with separate quality and feature update controls","properties":{"quality_updates":{"type":"object","description":"Quality updates deferral settings","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"defer_days":{"type":"integer","minimum":0,"maximum":30,"default":0,"description":"Number of days to defer quality updates"}},"required":["apply_policy","defer_days"]},"feature_updates":{"type":"object","description":"Feature updates deferral settings","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"defer_days":{"type":"integer","minimum":0,"maximum":365,"default":0,"description":"Number of days to defer feature updates"}},"required":["apply_policy","defer_days"]}},"required":["quality_updates","feature_updates"]}},"components/schemas/blueprints_windowsFile":{"id":"components/schemas/blueprints_windowsFile","kind":"json-schema","title":"blueprints_windowsFile","data":{"type":"object","properties":{"file_id":{"type":"integer"},"destination_path":{"type":"string","example":"C:\\"}},"required":["file_id","destination_path"]}},"components/schemas/blueprints_windowsFiles":{"id":"components/schemas/blueprints_windowsFiles","kind":"json-schema","title":"blueprints_windowsFiles","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_windowsFile"}}},"components/schemas/blueprints_windows_kiosk_win32_single_app_config":{"id":"components/schemas/blueprints_windows_kiosk_win32_single_app_config","kind":"json-schema","title":"blueprints_windows_kiosk_win32_single_app_config","data":{"type":"object","description":"Win32 single-app kiosk configuration. Defaults applied if not provided.","properties":{"name":{"type":"string","description":"Name of the kiosk profile"},"desktop_app_path":{"type":"string","description":"Absolute path to the kiosk desktop app executable (required)"},"auto_launch":{"type":"boolean","default":true,"description":"Automatically launch the app"},"auto_launch_arguments":{"type":"string","default":"","description":"Arguments passed to the app on launch"},"hide_taskbar":{"type":"boolean","default":true,"description":"Hide Windows taskbar"},"hide_start_recommended_section":{"type":"boolean","default":true,"description":"Hide Recommended section from Start menu"},"hide_power_button":{"type":"boolean","default":false,"description":"Hide power button in Start menu"}}}},"components/schemas/blueprints_windows_kiosk_uwp_single_app_config":{"id":"components/schemas/blueprints_windows_kiosk_uwp_single_app_config","kind":"json-schema","title":"blueprints_windows_kiosk_uwp_single_app_config","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UWP single-app kiosk configuration. app_id must match an entry in windows.apps with app_type TENANT_WINDOWS_UWP."},"children":[]}]}]}],"required":["app_id"],"properties":{"app_id":{"type":"string","format":"uuid","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"UUID of the UWP app. Must be present in windows.apps with app_type TENANT_WINDOWS_UWP."},"children":[]}]}]}]}}}},"components/schemas/blueprints_windows_kiosk_settings":{"id":"components/schemas/blueprints_windows_kiosk_settings","kind":"json-schema","title":"blueprints_windows_kiosk_settings","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Windows kiosk configuration. kiosk_type determines the kiosk mechanism: CONFIGURATION uses Windows Assigned Access, SHELL_LAUNCHER uses Shell Launcher. Exactly one of win32_single_app_config or uwp_single_app_config must be set when kiosk_settings is present. kiosk_type defaults to CONFIGURATION if omitted (backward compatible with pre-existing blueprints)."},"children":[]}]}]}],"properties":{"kiosk_type":{"type":"string","enum":["CONFIGURATION","SHELL_LAUNCHER"],"default":"CONFIGURATION","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Kiosk mechanism to use. CONFIGURATION uses Windows Assigned Access; SHELL_LAUNCHER uses Shell Launcher. Defaults to CONFIGURATION if omitted."},"children":[]}]}]}]},"win32_single_app_config":{"$ref":"#/components/schemas/blueprints_windows_kiosk_win32_single_app_config"},"uwp_single_app_config":{"$ref":"#/components/schemas/blueprints_windows_kiosk_uwp_single_app_config"}}}},"components/schemas/blueprints_pause_os_updates_windows":{"id":"components/schemas/blueprints_pause_os_updates_windows","kind":"json-schema","title":"blueprints_pause_os_updates_windows","data":{"type":"object","description":"Windows pause OS updates configuration","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"pause_os_updates":{"type":"boolean","default":false,"description":"Whether to pause OS updates"}},"required":["apply_policy","pause_os_updates"]}},"components/schemas/blueprints_scheduled_install_settings_windows":{"id":"components/schemas/blueprints_scheduled_install_settings_windows","kind":"json-schema","title":"blueprints_scheduled_install_settings_windows","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Windows scheduled install configuration. Only valid when auto_update_type is SCHEDULED_INSTALL_AND_RESTART or AUTO_INSTALL_AND_RESTART_FORCED. Each sub-field is optional — omitting it leaves the corresponding Windows default in effect (3 AM, every day, every week)."},"children":[]}]}]}],"properties":{"scheduled_install_day":{"type":"object","description":"Day of the week for scheduled install. Maps to Update/ScheduledInstallDay CSP.","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"day":{"type":"string","enum":["EVERY_DAY","SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY"],"nullable":true}},"required":["apply_policy"]},"scheduled_install_week":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Week of the month for scheduled install. Maps to Update/ScheduledInstall*Week CSPs."},"children":[]}]}]}],"properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"week":{"type":"string","enum":["ALL","FIRST","SECOND","THIRD","FOURTH"],"nullable":true}},"required":["apply_policy"]},"scheduled_install_time":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Hour of day for scheduled install (0 = 12 AM, 23 = 11 PM). Maps to Update/ScheduledInstallTime CSP."},"children":[]}]}]}],"properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"time":{"type":"integer","minimum":0,"maximum":23,"nullable":true}},"required":["apply_policy"]}}}},"components/schemas/blueprints_unenrollment_settings_windows":{"id":"components/schemas/blueprints_unenrollment_settings_windows","kind":"json-schema","title":"blueprints_unenrollment_settings_windows","data":{"type":"object","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"allow_unenrollment_from_device":{"type":"boolean"}},"required":["apply_policy","allow_unenrollment_from_device"]}},"components/schemas/blueprints_windows_wallpaper_settings":{"id":"components/schemas/blueprints_windows_wallpaper_settings","kind":"json-schema","title":"blueprints_windows_wallpaper_settings","data":{"type":"object","description":"Configuration for Windows desktop wallpaper settings including homescreen and lockscreen backgrounds. Uses landscape orientation only.","properties":{"homescreen":{"type":"object","description":"Wallpaper settings for the Windows desktop homescreen","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"landscape":{"type":"object","description":"Landscape wallpaper configuration","properties":{"wallpaper_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier for the wallpaper resource"}}}}},"lockscreen":{"type":"object","description":"Wallpaper settings for the Windows lock screen","properties":{"apply_policy":{"$ref":"#/components/schemas/blueprints_apply_policy"},"landscape":{"type":"object","description":"Landscape wallpaper configuration","properties":{"wallpaper_id":{"type":"string","format":"uuid","nullable":true,"description":"Unique identifier for the wallpaper resource"}}}}}}}},"components/schemas/blueprints_wifi_network_windows":{"id":"components/schemas/blueprints_wifi_network_windows","kind":"json-schema","title":"blueprints_wifi_network_windows","data":{"type":"object","properties":{"wifi_network_id":{"type":"string"}},"required":["wifi_network_id"]}},"components/schemas/blueprints_wifi_networks_windows":{"id":"components/schemas/blueprints_wifi_networks_windows","kind":"json-schema","title":"blueprints_wifi_networks_windows","data":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_wifi_network_windows"}}},"components/schemas/blueprints_windowsSettings":{"id":"components/schemas/blueprints_windowsSettings","kind":"json-schema","title":"blueprints_windowsSettings","data":{"type":"object","properties":{"active_hours_settings":{"$ref":"#/components/schemas/blueprints_active_hours_settings_windows"},"apps":{"$ref":"#/components/schemas/blueprints_windows_apps"},"auto_update_settings":{"$ref":"#/components/schemas/blueprints_auto_update_settings_windows"},"background_scripts":{"$ref":"#/components/schemas/blueprints_background_scripts_windows"},"bluetooth_settings":{"$ref":"#/components/schemas/blueprints_bluetooth_settings"},"camera_settings":{"$ref":"#/components/schemas/blueprints_camera_settings"},"custom_policies":{"$ref":"#/components/schemas/blueprints_custom_policies_windows"},"custom_shell_scripts_multiple":{"$ref":"#/components/schemas/blueprints_customShellScriptsMultipleWindows"},"device_mode_settings":{"$ref":"#/components/schemas/blueprints_device_mode_settings"},"defer_os_updates":{"$ref":"#/components/schemas/blueprints_defer_os_updates_windows"},"factory_reset_settings":{"$ref":"#/components/schemas/blueprints_factory_reset_settings"},"files":{"$ref":"#/components/schemas/blueprints_windowsFiles"},"kiosk_settings":{"$ref":"#/components/schemas/blueprints_windows_kiosk_settings"},"pause_os_updates":{"$ref":"#/components/schemas/blueprints_pause_os_updates_windows"},"scheduled_install_settings":{"$ref":"#/components/schemas/blueprints_scheduled_install_settings_windows"},"timezone_settings":{"$ref":"#/components/schemas/blueprints_timezone_settings"},"unenrollment_settings":{"$ref":"#/components/schemas/blueprints_unenrollment_settings_windows"},"wallpaper_settings":{"$ref":"#/components/schemas/blueprints_windows_wallpaper_settings"},"wifi_networks":{"$ref":"#/components/schemas/blueprints_wifi_networks_windows"}}}},"components/schemas/blueprints_settingsV2":{"id":"components/schemas/blueprints_settingsV2","kind":"json-schema","title":"blueprints_settingsV2","data":{"type":"object","properties":{"android":{"$ref":"#/components/schemas/blueprints_settings"},"ios":{"$ref":"#/components/schemas/blueprints_iosSettings"},"tvos":{"$ref":"#/components/schemas/blueprints_tvosSettings"},"linux":{"$ref":"#/components/schemas/blueprints_linuxSettings"},"windows":{"$ref":"#/components/schemas/blueprints_windowsSettings"}}}},"components/schemas/blueprints_BlueprintV2":{"id":"components/schemas/blueprints_BlueprintV2","kind":"json-schema","title":"blueprints_BlueprintV2","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Name of the blueprint"},"description":{"type":"string","description":"Description of the blueprint"},"comments":{"type":"string","description":"Comments on the blueprint"},"version_number":{"type":"integer","readOnly":true},"version_id":{"type":"string","format":"uuid","readOnly":true},"minor_version_number":{"type":"integer","readOnly":true},"publish":{"type":"boolean","readOnly":true},"settings":{"$ref":"#/components/schemas/blueprints_settingsV2"},"created_by":{"type":"string","description":"ID of the user who created the blueprint","readOnly":true},"updated_by":{"type":"string","description":"ID of the user who updated the blueprint","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"updated_at":{"type":"string","format":"date-time","readOnly":true}}}},"components/schemas/blueprints_BlueprintV2Put":{"id":"components/schemas/blueprints_BlueprintV2Put","kind":"json-schema","title":"blueprints_BlueprintV2Put","data":{"allOf":[{"$ref":"#/components/schemas/blueprints_BlueprintV2"},{"type":"object","properties":{"publish":{"type":"boolean","description":"Field to indicate whether to publish the blueprint\n","readOnly":false}}}]}},"components/schemas/blueprints_customActionBase":{"id":"components/schemas/blueprints_customActionBase","kind":"json-schema","title":"blueprints_customActionBase","data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Custom Action name"},"type":{"type":"string","enum":["button","toggle","radio","dropdown"],"description":"The UI component type for this custom action"},"state":{"type":"string","enum":["draft","active","inactive"],"description":"The current operational state of the custom action. Only active custom actions can be deployed to Linux devices."},"position_in_blueprints":{"type":"string","enum":["none","blueprints_apps_and_configuration","blueprints_connectivity","blueprints_device_security","blueprints_display_and_branding","blueprints_esper_settings","blueprints_scripts","blueprints_files","blueprints_platform_services","blueprints_hardware_settings","blueprints_sound","blueprints_system_updates","blueprints_time_and_date"],"description":"The location in the blueprint where the custom action will be added"},"position_in_device_settings":{"type":"string","enum":["none","device_quick_settings"],"description":"The location in the device's Quick Actions where the custom action will be added"},"properties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Object for the description, info_message, and tooltip_message."},"children":[]}]}]}]}},"required":["name","type","state","position_in_blueprints","position_in_device_settings","properties"]}},"components/schemas/blueprints_platformScriptResponse":{"id":"components/schemas/blueprints_platformScriptResponse","kind":"json-schema","title":"blueprints_platformScriptResponse","data":{"type":"object","properties":{"script_id":{"type":"string","format":"uuid","description":"Script identifier stored in external storage"}},"required":["script_id"]}},"components/schemas/blueprints_options_response":{"id":"components/schemas/blueprints_options_response","kind":"json-schema","title":"blueprints_options_response","data":{"type":"object","properties":{"label":{"type":"string","description":"Label shown on the UI"},"key":{"type":"string","format":"uuid","description":"Unique key identifier for the option"},"scripts":{"type":"object","description":"Platform-specific script references. Currently only Linux platform is supported. Platform key must be lowercase \"linux\".","properties":{"linux":{"$ref":"#/components/schemas/blueprints_platformScriptResponse"}},"required":["linux"],"additionalProperties":false}},"required":["label","key","scripts"]}},"components/schemas/blueprints_CustomActionRead":{"id":"components/schemas/blueprints_CustomActionRead","kind":"json-schema","title":"blueprints_CustomActionRead","data":{"allOf":[{"$ref":"#/components/schemas/blueprints_customActionBase"},{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the custom action"},"options":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_options_response"},"description":"List of options for the custom action"},"created_at":{"type":"string","format":"date-time","description":"When the custom action was created"},"updated_at":{"type":"string","format":"date-time","description":"When the custom action was last updated"},"created_by":{"type":"integer","description":"User ID who created the custom action"},"updated_by":{"type":"integer","description":"User ID who last updated the custom action"}},"required":["id","options","created_at","updated_at","created_by","updated_by"]}]}},"components/schemas/blueprints_platformScriptRequest":{"id":"components/schemas/blueprints_platformScriptRequest","kind":"json-schema","title":"blueprints_platformScriptRequest","data":{"type":"object","properties":{"script":{"type":"string","description":"The script content to be executed on Linux devices"},"interpreter":{"type":"string","maxLength":255,"description":"Interpreter used to run the script. Default is \"bash\" if not specified. Common values include \"bash\", \"sh\", \"python\", \"python3\"","default":"bash"}},"required":["script","interpreter"]}},"components/schemas/blueprints_optionsRequest":{"id":"components/schemas/blueprints_optionsRequest","kind":"json-schema","title":"blueprints_optionsRequest","data":{"type":"object","properties":{"label":{"type":"string","description":"Label shown on the UI"},"key":{"type":"string","format":"uuid","description":"Unique key identifier for the option"},"scripts":{"type":"object","description":"Platform-specific scripts. Currently only Linux platform is supported. Platform key must be lowercase \"linux\".","properties":{"linux":{"$ref":"#/components/schemas/blueprints_platformScriptRequest"}},"required":["linux"],"additionalProperties":false}},"required":["label","key","scripts"]}},"components/schemas/blueprints_CustomActionCreate":{"id":"components/schemas/blueprints_CustomActionCreate","kind":"json-schema","title":"blueprints_CustomActionCreate","data":{"allOf":[{"$ref":"#/components/schemas/blueprints_customActionBase"},{"type":"object","properties":{"options":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_optionsRequest"},"description":"List of options for the custom action"}},"required":["options"]}]}},"components/schemas/blueprints_CustomActionUpdate":{"id":"components/schemas/blueprints_CustomActionUpdate","kind":"json-schema","title":"blueprints_CustomActionUpdate","data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Custom action name"},"type":{"type":"string","enum":["button","toggle","radio","dropdown"],"description":"The UI component type for this custom action"},"state":{"type":"string","enum":["draft","active","inactive"],"description":"The current operational state of the custom action"},"position_in_blueprints":{"type":"string","enum":["none","blueprints_apps_and_configuration","blueprints_connectivity","blueprints_device_security","blueprints_display_and_branding","blueprints_esper_settings","blueprints_scripts","blueprints_files","blueprints_platform_services","blueprints_hardware_settings","blueprints_sound","blueprints_system_updates","blueprints_time_and_date"],"description":"The location in the blueprint where the custom action will be added"},"position_in_device_settings":{"type":"string","enum":["none","device_quick_settings"],"description":"The location in the device's Quick Actions where the custom action will be added"},"properties":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Object for the description, info_message, and tooltip_message. Replaces the existing properties."},"children":[]}]}]}]},"options":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_optionsRequest"},"description":"A new list of options to replace the existing ones"}},"description":"Update a custom action. All fields are optional."}},"components/schemas/blueprints_platformScript":{"id":"components/schemas/blueprints_platformScript","kind":"json-schema","title":"blueprints_platformScript","data":{"type":"object","properties":{"script":{"type":"string","description":"The script content"},"interpreter":{"type":"string","description":"Interpreter used to run the script"}},"required":["script","interpreter"]}},"components/schemas/blueprints_BackgroundScriptRead":{"id":"components/schemas/blueprints_BackgroundScriptRead","kind":"json-schema","title":"blueprints_BackgroundScriptRead","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the background script"},"name":{"type":"string","description":"Name of the background script"},"interpreter":{"type":"string","description":"Interpreter used to run the script"},"always_run":{"type":"boolean","description":"Whether the script runs continuously"},"frequency_in_mins":{"type":"integer","nullable":true,"description":"Interval in minutes between script executions"},"timeout_in_mins":{"type":"integer","description":"Maximum runtime in minutes before the script is terminated."},"description":{"type":"string","description":"Description of the background script. Empty string if not set."},"created_at":{"type":"string","format":"date-time","description":"When the background script was created"},"updated_at":{"type":"string","format":"date-time","description":"When the background script was last updated"},"created_by":{"type":"integer","description":"User ID who created the background script"},"updated_by":{"type":"integer","description":"User ID who last updated the background script"}},"required":["id","name","interpreter","always_run","timeout_in_mins","created_at","updated_at","created_by","updated_by"]}},"components/schemas/blueprints_BackgroundScriptCreate":{"id":"components/schemas/blueprints_BackgroundScriptCreate","kind":"json-schema","title":"blueprints_BackgroundScriptCreate","data":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":50,"description":"Name of the background script"},"script":{"type":"string","description":"The script content to be executed on devices"},"interpreter":{"type":"string","maxLength":50,"default":"powershell","description":"Interpreter used to run the script. Currently only 'powershell' is supported."},"always_run":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether the script runs continuously. When true, frequency_in_mins must be null."},"children":[]}]}]}]},"frequency_in_mins":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Interval in minutes between script executions. Required when always_run is false, must be null when always_run is true."},"children":[]}]}]}]},"timeout_in_mins":{"type":"integer","minimum":1,"default":60,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Maximum runtime in minutes before the script is terminated. Must be > 0. Defaults to 60 if omitted."},"children":[]}]}]}]},"description":{"type":"string","maxLength":300,"nullable":true,"description":"Optional description for the background script. Max 300 characters."}},"required":["name","script","always_run"]}},"components/schemas/blueprints_BackgroundScriptDetailRead":{"id":"components/schemas/blueprints_BackgroundScriptDetailRead","kind":"json-schema","title":"blueprints_BackgroundScriptDetailRead","data":{"allOf":[{"$ref":"#/components/schemas/blueprints_BackgroundScriptRead"},{"type":"object","properties":{"script":{"type":"string","description":"The script content fetched from S3"}},"required":["script"]}]}},"components/schemas/pipelines_Pipeline":{"id":"components/schemas/pipelines_Pipeline","kind":"json-schema","title":"pipelines_Pipeline","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"enterprise_id":{"type":"string","readOnly":true},"name":{"type":"string"},"description":{"type":"string"},"is_active":{"type":"boolean"},"is_valid":{"type":"boolean"},"is_visible":{"type":"boolean"},"is_archived":{"type":"boolean"},"is_default":{"type":"boolean"},"timeout_seconds":{"type":"number","format":"int32"},"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"}},"required":["name","created_by","updated_by"]}},"components/schemas/pipelines_Pipeline_POST":{"id":"components/schemas/pipelines_Pipeline_POST","kind":"json-schema","title":"pipelines_Pipeline_POST","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"is_default":{"type":"boolean","default":false},"is_active":{"type":"boolean","default":true},"timeout_seconds":{"type":"number","format":"int32","default":86400}},"required":["name"]}},"components/schemas/pipelines_Error_400_Bad_Data":{"id":"components/schemas/pipelines_Error_400_Bad_Data","kind":"json-schema","title":"pipelines_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/pipelines_Error_401_Unauthorized":{"id":"components/schemas/pipelines_Error_401_Unauthorized","kind":"json-schema","title":"pipelines_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/pipelines_Pipeline_PUT":{"id":"components/schemas/pipelines_Pipeline_PUT","kind":"json-schema","title":"pipelines_Pipeline_PUT","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"is_active":{"type":"boolean"},"is_default":{"type":"boolean"},"timeout_seconds":{"type":"number","format":"int32"}}}},"components/schemas/pipelines_Stage":{"id":"components/schemas/pipelines_Stage","kind":"json-schema","title":"pipelines_Stage","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"enterprise_id":{"type":"string","readOnly":true},"pipeline_id":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"timeout_seconds":{"type":"number","format":"int32"},"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"}}}},"components/schemas/pipelines_Stage_POST":{"id":"components/schemas/pipelines_Stage_POST","kind":"json-schema","title":"pipelines_Stage_POST","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"timeout_seconds":{"type":"number","format":"int32"}},"required":["name"]}},"components/schemas/pipelines_Stage_PUT":{"id":"components/schemas/pipelines_Stage_PUT","kind":"json-schema","title":"pipelines_Stage_PUT","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"timeout_seconds":{"type":"number","format":"int32"}}}},"components/schemas/pipelines_TargetList":{"id":"components/schemas/pipelines_TargetList","kind":"json-schema","title":"pipelines_TargetList","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"pipeline_id":{"type":"string"},"name":{"type":"string"},"target_list_type":{"type":"string"},"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"}}}},"components/schemas/pipelines_StageTargetList_POST":{"id":"components/schemas/pipelines_StageTargetList_POST","kind":"json-schema","title":"pipelines_StageTargetList_POST","data":{"type":"object","properties":{"target_list_id":{"type":"string","format":"uuid"}},"required":["target_list_id"]}},"components/schemas/pipelines_OperationList":{"id":"components/schemas/pipelines_OperationList","kind":"json-schema","title":"pipelines_OperationList","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"pipeline_id":{"type":"string"},"stage_id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"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"}}}},"components/schemas/pipelines_OperationList_POST":{"id":"components/schemas/pipelines_OperationList_POST","kind":"json-schema","title":"pipelines_OperationList_POST","data":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"pipeline_id":{"type":"string","format":"uuid"}},"required":["name"]}},"components/schemas/pipelines_TargetList_POST":{"id":"components/schemas/pipelines_TargetList_POST","kind":"json-schema","title":"pipelines_TargetList_POST","data":{"type":"object","properties":{"name":{"type":"string"},"target_list_type":{"type":"string","enum":["DEVICES","GROUPS","COLLECTIONS"]}},"required":["name","target_list_type"]}},"components/schemas/pipelines_Target":{"id":"components/schemas/pipelines_Target","kind":"json-schema","title":"pipelines_Target","data":{"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"}}}},"components/schemas/pipelines_Target_POST":{"id":"components/schemas/pipelines_Target_POST","kind":"json-schema","title":"pipelines_Target_POST","data":{"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"]}},"components/schemas/pipelines_Target_PUT":{"id":"components/schemas/pipelines_Target_PUT","kind":"json-schema","title":"pipelines_Target_PUT","data":{"type":"object","properties":{"device_name":{"type":"string"},"is_active":{"type":"boolean"}}}},"components/schemas/pipelines_Error_500_Internal_Server_Error":{"id":"components/schemas/pipelines_Error_500_Internal_Server_Error","kind":"json-schema","title":"pipelines_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/pipelines_TargetListDeviceGroup":{"id":"components/schemas/pipelines_TargetListDeviceGroup","kind":"json-schema","title":"pipelines_TargetListDeviceGroup","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"device_group_id":{"type":"string"},"target_list_id":{"type":"string"},"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"}}}},"components/schemas/pipelines_TargetListDeviceGroups_POST":{"id":"components/schemas/pipelines_TargetListDeviceGroups_POST","kind":"json-schema","title":"pipelines_TargetListDeviceGroups_POST","data":{"type":"object","properties":{"device_group_id":{"type":"string","format":"uuid","description":"UUID of the Device Group"}}}},"components/schemas/pipelines_Device":{"id":"components/schemas/pipelines_Device","kind":"json-schema","title":"pipelines_Device","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"UUID of the Device"},"device_name":{"type":"string","description":"Name of the device"},"serial":{"type":"string","description":"Device serial number"},"template_name":{"type":"string","description":"Device template name"},"manufacturer":{"type":"string","description":"Manufacturer of the Device"},"android_version":{"type":"string","description":"Version number of android"},"api_level":{"type":"string","description":"Device api level"},"is_gms":{"type":"boolean","description":"Is this a gms device"},"is_active":{"type":"boolean"},"model":{"type":"string","description":"Device model number"},"alias_name":{"type":"string","description":"Device alias"},"esper_client":{"type":"string"}}}},"components/schemas/pipelines_Operation":{"id":"components/schemas/pipelines_Operation","kind":"json-schema","title":"pipelines_Operation","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"operation_list_id":{"type":"string"},"pipeline_id":{"type":"string"},"operation_type":{"type":"string"},"args":{"type":"string"},"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"}}}},"components/schemas/pipelines_Operation_POST":{"id":"components/schemas/pipelines_Operation_POST","kind":"json-schema","title":"pipelines_Operation_POST","data":{"type":"object","properties":{"args":{"type":"object","description":"Arguments for the operation"},"operation_type":{"type":"string","enum":["LOCK","REBOOT","SET_NEW_POLICY","UPDATE_HEARTBEAT","REQUEST_BUGREPORT","REQUEST_DPCLOG","ADD_TO_WHITELIST","REMOVE_FROM_WHITELIST","SET_APP_PERMISSION","WIPE","CAPTURE_SCREENSHOT","SET_WIFI_STATE","SET_BLUETOOTH_STATE","SET_ROTATION_STATE","SET_GPS_STATE","SET_BRIGHTNESS_SCALE","SET_STREAM_VOLUME","SET_SCREEN_OFF_TIMEOUT","SET_ADB_STATE","INITIATE_OFFER","INSTALL","SIMPLE_INSTALL","UNINSTALL","REFRESH_APPLIST","UPDATE_LATEST_DPC","NOTIFY_OTA","CLEAR_APP_DATA","SET_GEO_FENCE","SET_KIOSK_APP","SET_DEVICE_LOCKDOWN_STATE","SET_TIMEZONE","SET_APP_STATE","ADD_WIFI_AP","REMOVE_WIFI_AP","UPDATE_WIFI_AP","UPDATE_DEVICE_CONFIG","INITIATE_CONFERENCE_CALL","ADD_OVERRIDE_APN","SYNC_CONTENT","SET_WALLPAPER"]}}}},"components/schemas/pipelines_PipelineRun":{"id":"components/schemas/pipelines_PipelineRun","kind":"json-schema","title":"pipelines_PipelineRun","data":{"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"}}}},"components/schemas/pipelines_PipelineRun_POST":{"id":"components/schemas/pipelines_PipelineRun_POST","kind":"json-schema","title":"pipelines_PipelineRun_POST","data":{"type":"object"}},"components/schemas/pipelines_PipelineRun_PUT":{"id":"components/schemas/pipelines_PipelineRun_PUT","kind":"json-schema","title":"pipelines_PipelineRun_PUT","data":{"type":"object","properties":{"status":{"type":"string","enum":["pending","queued","processing","running","waiting","complete","success","failure","cancelled","invalid","timeout"]}}}},"components/schemas/pipelines_StageRun":{"id":"components/schemas/pipelines_StageRun","kind":"json-schema","title":"pipelines_StageRun","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"enterprise_id":{"type":"string","readOnly":true},"pipeline_id":{"type":"string"},"pipeline_run_id":{"type":"string"},"stage_id":{"type":"string"},"stage_meta":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"created_by":{"type":"number","format":"int32"}}},"status":{"type":"string","enum":["pending","queued","processing","running","complete","success","failure","cancelled","invalid","timeout"]},"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"}}}},"components/schemas/pipelines_StageRunOperation":{"id":"components/schemas/pipelines_StageRunOperation","kind":"json-schema","title":"pipelines_StageRunOperation","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"operation_type":{"type":"string"},"args":{"type":"string"},"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"}}}},"components/schemas/pipelines_TargetRun":{"id":"components/schemas/pipelines_TargetRun","kind":"json-schema","title":"pipelines_TargetRun","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"target_id":{"type":"string","format":"uuid"},"device_id":{"type":"string","format":"uuid"},"device_alias":{"type":"string","format":"uuid"},"stage_run_id":{"type":"string","format":"uuid"},"stage_run_operation_id":{"type":"string","format":"uuid"},"command_id":{"type":"string"},"command_status":{"type":"string"},"command_meta":{"type":"object"},"status":{"type":"string","enum":["pending","queued","processing","dispatched","running","complete","success","failure","cancelled","timeout","invalid"]},"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"}}}},"components/schemas/pipelines_TargetRun_POST":{"id":"components/schemas/pipelines_TargetRun_POST","kind":"json-schema","title":"pipelines_TargetRun_POST","data":{"type":"object","properties":{"target_id":{"type":"string","format":"uuid"},"device_name":{"type":"string"},"device_alias":{"type":"string"}},"required":["target_id"]}},"components/schemas/pipelines_TargetRun_PUT":{"id":"components/schemas/pipelines_TargetRun_PUT","kind":"json-schema","title":"pipelines_TargetRun_PUT","data":{"type":"object","properties":{"status":{"type":"string","enum":["pending","queued","processing","dispatched","running","complete","success","failure","cancelled","invalid"]},"device_name":{"type":"string"}}}},"components/schemas/pipelines_CommandResponse":{"id":"components/schemas/pipelines_CommandResponse","kind":"json-schema","title":"pipelines_CommandResponse","data":{"type":"object","properties":{"target_run_id":{"type":"string","format":"uuid"},"operation_id":{"type":"string","format":"uuid"},"enterprise_id":{"type":"string","format":"uuid"},"command":{"type":"string"},"command_type":{"type":"string","default":"DEVICE"},"device_type":{"type":"string","default":"all"},"device_id":{"type":"string","format":"uuid"},"schedule":{"type":"string","default":"IMMEDIATE"},"args":{"type":"object"},"request_id":{"type":"string","format":"uuid"},"request_status":{"type":"string"},"request_status_reason":{"type":"string"}}}},"components/schemas/pipelines_AndroidCommandRequest":{"id":"components/schemas/pipelines_AndroidCommandRequest","kind":"json-schema","title":"pipelines_AndroidCommandRequest","data":{"type":"object"}},"components/schemas/pipelines_CommandRequest_PUT":{"id":"components/schemas/pipelines_CommandRequest_PUT","kind":"json-schema","title":"pipelines_CommandRequest_PUT","data":{"type":"object","properties":{"request_status":{"type":"string","enum":["cancelled"]}}}},"components/schemas/pipelines_Error":{"id":"components/schemas/pipelines_Error","kind":"json-schema","title":"pipelines_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/pipelines_Health":{"id":"components/schemas/pipelines_Health","kind":"json-schema","title":"pipelines_Health","data":{"type":"object","properties":{"service":{"type":"string"},"component":{"type":"string"},"hostname":{"type":"string"}},"required":["service","component","hostname"]}},"components/schemas/device_DeviceStateEnumAndroid":{"id":"components/schemas/device_DeviceStateEnumAndroid","kind":"json-schema","title":"device_DeviceStateEnumAndroid","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The following are the device states and their descriptions:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 30 = Beginning Provisioning\n* 40 = Configuring Google Play (still provisioning)\n* 50 = Applying Policies and Installing Applications (still provisioning)\n* 60 = Offline\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 110 = Android For Work Account added\n* 120 = Apps installed\n* 130 = Branding Processed\n* 140 = Permission Policy Processed\n* 150 = Device Policy Processed\n* 160 = Device Settings Processed\n* 170 = Security Policy Processed\n* 180 = Phone Policy Processed\n* 190 = Custom Settings Processed\n* 200 = Device is Registered\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 30 = Beginning Provisioning\n* 40 = Configuring Google Play (still provisioning)\n* 50 = Applying Policies and Installing Applications (still provisioning)\n* 60 = Offline\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 110 = Android For Work Account added\n* 120 = Apps installed\n* 130 = Branding Processed\n* 140 = Permission Policy Processed\n* 150 = Device Policy Processed\n* 160 = Device Settings Processed\n* 170 = Security Policy Processed\n* 180 = Phone Policy Processed\n* 190 = Custom Settings Processed\n* 200 = Device is Registered\n"},"children":[]}]}],"enum":[0,1,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200]}},"components/schemas/device_HardwareInfo":{"id":"components/schemas/device_HardwareInfo","kind":"json-schema","title":"device_HardwareInfo","data":{"type":"object","properties":{"brand":{"type":"string","description":"The brand of the device"},"model":{"type":"string","description":"The model of the device"},"model_number":{"type":"string","description":"The model number of the device"},"serial":{"type":"string","description":"The serial number of the device"},"manufacturer":{"type":"string","description":"The manufacturer number of the device"},"hardware":{"type":"string","description":"The hardware information of the device"},"device_baseband_version":{"type":"string","description":"The device baseband version of the device"}}}},"components/schemas/device_FoundationInfo":{"id":"components/schemas/device_FoundationInfo","kind":"json-schema","title":"device_FoundationInfo","data":{"type":"object","properties":{"major_version":{"type":"string","description":"The foundation OS build major version of the device"},"minor_version":{"type":"string","description":"The foundation OS build minor version of the device"},"build_number":{"type":"string","description":"The foundation OS build number of the device"},"project_name":{"type":"string","description":"The foundation project name of the device"},"build_flavor":{"type":"string","description":"The foundation OS build flavor of the device"},"variant":{"type":"string","description":"The foundation variant of the device"},"foundation_device_model_id":{"type":"string","description":"The foundation device model id of the device"}}}},"components/schemas/device_AirwaveInfo":{"id":"components/schemas/device_AirwaveInfo","kind":"json-schema","title":"device_AirwaveInfo","data":{"type":"object","properties":{"build_number":{"type":"integer","description":"The airwave OS build number of the device"},"tenant_model_id":{"type":"string","description":"The airwave tenant model id of the device"},"build_id":{"type":"string","description":"The airwave build id of the device"},"esper_ota_manager_version_code":{"type":"integer","description":"The Esper OTA Manager version code"},"esper_ota_manager_version_name":{"type":"string","description":"The Esper OTA Manager version name"}}}},"components/schemas/device_SoftwareInfo":{"id":"components/schemas/device_SoftwareInfo","kind":"json-schema","title":"device_SoftwareInfo","data":{"type":"object","properties":{"os_version":{"type":"string","description":"The OS version number of the device"},"os_build_number":{"type":"string","description":"The OS build number of the device"},"bootloader_version":{"type":"string","description":"The bootloader version of the device"},"security_path_level":{"type":"string","description":"The security path level of the device"},"device_kernel_version":{"type":"string","description":"The kernel version of the device"},"eea_version":{"type":"string","description":"EEA (Esper Enterprise Android) version"},"esper_agent_info":{"type":"object","properties":{"version_code":{"type":"string","description":"Esper agent version code"},"version_name":{"type":"string","description":"Esper agent version name"}}},"foundation_info":{"$ref":"#/components/schemas/device_FoundationInfo"},"airwave_info":{"$ref":"#/components/schemas/device_AirwaveInfo"}}}},"components/schemas/device_NetworkInfo":{"id":"components/schemas/device_NetworkInfo","kind":"json-schema","title":"device_NetworkInfo","data":{"type":"object","properties":{"imei1":{"type":"string","description":"The IMEI number of the device"},"imei2":{"type":"string","description":"The IMEI number of the device"},"wifi_mac_address":{"type":"string","description":"The wifi mac address of the device"},"ethernet_mac_address":{"type":"string","description":"The ethernet mac address of the device"},"iccid1":{"type":"string","description":"The ICCID number of the device"},"iccid2":{"type":"string","description":"The ICCID number of the device"},"phone_number_1":{"type":"string","description":"The phone number of the device"},"phone_number_2":{"type":"string","description":"The phone number of the device"},"network_type":{"type":"string","description":"The network type of the device","enum":["CELLULAR","ETHERNET","WI-FI","OTHER"]}}}},"components/schemas/device_MemoryInfo":{"id":"components/schemas/device_MemoryInfo","kind":"json-schema","title":"device_MemoryInfo","data":{"type":"object","properties":{"total_ram":{"type":"string","description":"Total ram capacity for the device"},"total_internal_storage":{"type":"string","description":"The total internal storage capacity of the device"},"units":{"type":"string","description":"The units used for the storage capacity"},"internal_storage_binary_prefix":{"type":"string","description":"(Specific to Android devices)"}}}},"components/schemas/device_NetworkStats":{"id":"components/schemas/device_NetworkStats","kind":"json-schema","title":"device_NetworkStats","data":{"type":"object","properties":{"current_active_connection":{"type":"string","description":"The current active connection type"},"wifi_network_info":{"type":"object","properties":{"wifi_ssid":{"type":"string","description":"The SSID of the WiFi network"}}},"cellular_network_info":{"type":"object","properties":{"network_type":{"type":"string","description":"The network type of the cellular network - null, 2G, 3G, 4G LTE"}}}}}},"components/schemas/device_LocationStats":{"id":"components/schemas/device_LocationStats","kind":"json-schema","title":"device_LocationStats","data":{"type":"object","properties":{"altitude":{"type":"string","description":"The altitude value"},"latitude":{"type":"string","description":"The latitude value"},"longitude":{"type":"string","description":"The longitude value"}}}},"components/schemas/device_BlueprintInfo":{"id":"components/schemas/device_BlueprintInfo","kind":"json-schema","title":"device_BlueprintInfo","data":{"type":"object","properties":{"assigned_blueprint_id":{"type":"string","description":"Assigned blueprint id of the device"},"current_blueprint_id":{"type":"string","description":"Current blueprint id of the blueprint assigned to the device"},"current_blueprint_version_id":{"type":"string","description":"Current Version id of the blueprint assigned to the device"},"blueprint_upgrade_status":{"type":"string","description":"The status of the blueprint upgrade on the device","enum":["UPGRADABLE","UPGRADE_INITIATED","UPGRADE_FAILED","UPGRADED","NOT_UPGRADABLE","NOT_APPLICABLE"]}}}},"components/schemas/device_AndroidDevice":{"id":"components/schemas/device_AndroidDevice","kind":"json-schema","title":"device_AndroidDevice","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["Android"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumAndroid"},"platform":{"type":"string","description":"Platform for the device","enum":["ANDROID"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"onboarded_on":{"type":"string","format":"date-time"},"provisioned_on":{"type":"string","format":"date-time"},"hardware_info":{"$ref":"#/components/schemas/device_HardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_SoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_NetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_MemoryInfo"},"network_stats":{"$ref":"#/components/schemas/device_NetworkStats"},"location_stats:":{"$ref":"#/components/schemas/device_LocationStats"},"blueprint_info":{"$ref":"#/components/schemas/device_BlueprintInfo"},"battery_stats":{"type":"object","properties":{"battery_level":{"type":"number","description":"Current battey level of the device"}}},"mqtt_topic":{"type":"string","description":"MQTT topic"},"fcm_id":{"type":"string"},"is_gms":{"type":"boolean"},"policy":{"nullable":true,"description":"Policy associated with the device","type":"object","properties":{"policy_id":{"type":"integer"},"policy_name":{"type":"string"}}},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT","TEMPLATE"]},"template_name":{"nullable":true,"type":"string","description":"Name of the template the device is managed by"},"is_seamless":{"type":"boolean"},"is_esper_managed":{"type":"boolean","nullable":true,"readOnly":true,"description":"Indicates if the device is Esper managed"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_DeviceStateEnumApple":{"id":"components/schemas/device_DeviceStateEnumApple","kind":"json-schema","title":"device_DeviceStateEnumApple","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The following are the device states and their descriptions:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[]}]}],"enum":[0,1,20,70,80,90,100,200]}},"components/schemas/device_AppModeMeta":{"id":"components/schemas/device_AppModeMeta","kind":"json-schema","title":"device_AppModeMeta","data":{"type":"object","nullable":true,"minProperties":1,"description":"App mode configuration for the device (kiosk / multi-app)","properties":{"is_kiosk":{"type":"boolean","nullable":true,"description":"Whether the device is in kiosk mode"},"app_id":{"type":"string","format":"uuid","description":"Application UUID identifier for kiosk mode. For Android, this is the DeviceApp UUID (not available for older DPCs)."},"app_type":{"type":"string","description":"Application type for kiosk mode","enum":["TENANT_IOS","ESPER_IOS","VPP","WEBCLIP","ESPER_ANDROID","ESPER_WINDOWS","TENANT_WINDOWS","ESPER_LINUX","TENANT_WINDOWS_EXE","TENANT_ANDROID","GOOGLE_ANDROID","PRELOADED_ANDROID","TENANT_WINDOWS_UWP"]},"disable_device_rotation":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Disable device rotation sensing while in kiosk mode (iOS only). Only meaningful alongside one of is_kiosk / app_id / app_type — a payload containing only disable_device_rotation is rejected."},"children":[]}]}]}]},"disable_screen_timeout":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Disable screen timeout while in kiosk mode (Apple only). Only meaningful alongside one of is_kiosk / app_id / app_type — a payload containing only disable_screen_timeout is rejected."},"children":[]}]}]}]},"kiosk_mode_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Kiosk configuration mode. Currently only supported on Windows devices. Requires is_kiosk to be true."},"children":[]}]}]}],"enum":["SHELL_LAUNCHER","CONFIGURATION"]},"application_path":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"WIN32 executable path for the kiosk app. Only applicable when kiosk_mode_type is SHELL_LAUNCHER or CONFIGURATION with a WIN32 app."},"children":[]}]}]}]},"application_args":{"type":"string","description":"Command-line arguments for the WIN32 kiosk app."}},"anyOf":[{"required":["is_kiosk"]},{"required":["app_id"]},{"required":["app_type"]}],"allOf":[{"anyOf":[{"not":{"required":["application_path"]}},{"required":["kiosk_mode_type"]}]},{"anyOf":[{"not":{"required":["application_args"]}},{"required":["kiosk_mode_type"]}]}]}},"components/schemas/device_AppleDevice":{"id":"components/schemas/device_AppleDevice","kind":"json-schema","title":"device_AppleDevice","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["iOS","iPadOS","tvOS"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumApple"},"platform":{"type":"string","description":"Platform for the device","enum":["APPLE"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"hardware_info":{"$ref":"#/components/schemas/device_HardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_SoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_NetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_MemoryInfo"},"blueprint_info":{"$ref":"#/components/schemas/device_BlueprintInfo"},"udid":{"type":"string","description":"UDID as provided by apple"},"dep_profile":{"type":"string","description":"DEP profile applied to device"},"dep_profile_push_time":{"type":"string","format":"date-time"},"dep_profile_assign_time":{"type":"string","format":"date-time"},"dep_profile_status":{"type":"string","description":"DEP profile applied to device","enum":["empty","assigned","pushed","removed"]},"enrolment_info":{"type":"object","properties":{"enrolment_id":{"type":"string","description":"The per-enrollment identifier for the device"},"enrolment_user_id":{"type":"string","description":"The per-enrollment identifier for the user"}}},"last_seen":{"type":"string","format":"date-time"},"tokens":{"type":"object","properties":{"push_magic":{"type":"string"},"push_token":{"type":"string"},"device_token":{"type":"string"}}},"device_source":{"type":"string","description":"Source of device onboarding","enum":["ABM","NON_ABM"]},"is_supervised":{"type":"boolean"},"is_ddm_enabled":{"type":"boolean","description":"Whether Declarative Device Management is enabled for this device"},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT"]},"onboarded_on":{"type":"string","format":"date-time"},"provisioned_on":{"type":"string","format":"date-time"},"is_seamless":{"type":"boolean"},"app_mode_meta":{"nullable":true,"$ref":"#/components/schemas/device_AppModeMeta"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_DeviceStateEnumLinux":{"id":"components/schemas/device_DeviceStateEnumLinux","kind":"json-schema","title":"device_DeviceStateEnumLinux","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The following are the device states and their descriptions:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device Wipe in Progress\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device Wipe in Progress\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[]}]}],"enum":[0,1,20,70,80,90,100,200]}},"components/schemas/device_LinuxBlueprintInfo":{"id":"components/schemas/device_LinuxBlueprintInfo","kind":"json-schema","title":"device_LinuxBlueprintInfo","data":{"type":"object","properties":{"assigned_blueprint_id":{"type":"string","description":"Assigned blueprint id of the device"},"current_blueprint_id":{"type":"string","description":"Current blueprint id of the blueprint assigned to the device"},"current_blueprint_version_id":{"type":"string","description":"Current Version id of the blueprint assigned to the device"},"blueprint_upgrade_status":{"type":"string","description":"The status of the blueprint upgrade on the device","enum":["NOT_APPLICABLE"]}}}},"components/schemas/device_LinuxDevice":{"id":"components/schemas/device_LinuxDevice","kind":"json-schema","title":"device_LinuxDevice","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["Ubuntu"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumLinux"},"platform":{"type":"string","description":"Operating system for the device","enum":["LINUX"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"onboarded_on":{"type":"string","format":"date-time"},"provisioned_on":{"type":"string","format":"date-time"},"blueprint_info":{"$ref":"#/components/schemas/device_LinuxBlueprintInfo"},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT"]},"is_seamless":{"type":"boolean"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_DeviceStateEnumWindows":{"id":"components/schemas/device_DeviceStateEnumWindows","kind":"json-schema","title":"device_DeviceStateEnumWindows","data":{"type":"integer","format":"int32","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The following are the device states and their descriptions:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device Wipe in Progress\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* 0 = Device State is Unspecified\n* 1 = Online/Active\n* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)\n* 70 = Device Wipe in Progress\n* 80 = Device Onboarding in Progress\n* 90 = Device Onboarding Failed\n* 100 = Device Onboarded in Esper\n* 200 = Device is Registered\n"},"children":[]}]}],"enum":[0,1,20,70,80,90,100,200]}},"components/schemas/device_WindowsHardwareInfo":{"id":"components/schemas/device_WindowsHardwareInfo","kind":"json-schema","title":"device_WindowsHardwareInfo","data":{"type":"object","properties":{"brand":{"type":"string","description":"Device brand"},"model":{"type":"string","description":"Device model"},"serial":{"type":"string","description":"Device serial number"},"manufacturer":{"type":"string","description":"Device manufacturer"},"hardware":{"type":"string","description":"Hardware information"}}}},"components/schemas/device_WindowsSoftwareInfo":{"id":"components/schemas/device_WindowsSoftwareInfo","kind":"json-schema","title":"device_WindowsSoftwareInfo","data":{"type":"object","properties":{"supported_abi":{"type":"string","description":"Supported ABI"},"os_build_time":{"type":"string","description":"OS build time"},"os_build_number":{"type":"string","description":"OS build number"},"os_version":{"type":"string","description":"OS version"},"os":{"type":"string","description":"OS name"},"os_platform":{"type":"string","description":"OS platform"},"os_distribution":{"type":"string","description":"OS distribution"},"bootloader_version":{"type":"string","description":"Bootloader version"},"kernel_architecture":{"type":"string","description":"Kernel architecture"},"device_kernel_version":{"type":"string","description":"Device kernel version"},"last_boot_time":{"type":"string","description":"Last boot time"},"display_resolution":{"type":"string","description":"Display resolution"},"display_refresh_rate":{"type":"string","description":"Display refresh rate"},"host_name":{"type":"string","description":"Device host name"},"esper_agent_info":{"type":"object","properties":{"version_code":{"type":"string","description":"Esper agent version code"},"version_name":{"type":"string","description":"Esper agent version name"}}}}}},"components/schemas/device_WindowsNetworkInfo":{"id":"components/schemas/device_WindowsNetworkInfo","kind":"json-schema","title":"device_WindowsNetworkInfo","data":{"type":"object","properties":{"wifi_mac_address":{"type":"string","description":"Wi-Fi MAC address"},"ethernet_mac_address":{"type":"string","description":"Ethernet MAC address"}}}},"components/schemas/device_WindowsMemoryInfo":{"id":"components/schemas/device_WindowsMemoryInfo","kind":"json-schema","title":"device_WindowsMemoryInfo","data":{"type":"object","properties":{"total_ram":{"type":"string","description":"Total RAM in bytes"},"total_internal_storage":{"type":"string","description":"Total internal storage in bytes"},"total_swap_memory":{"type":"string","description":"Total swap memory in bytes"},"units":{"type":"string","description":"Units used for the storage capacity"}}}},"components/schemas/device_WindowsDevice":{"id":"components/schemas/device_WindowsDevice","kind":"json-schema","title":"device_WindowsDevice","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"os":{"type":"string","description":"Operating system of the device","enum":["Windows"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumWindows"},"platform":{"type":"string","description":"Operating system of the device","enum":["WINDOWS"]},"serial":{"type":"string","description":"Serial number of the device"},"os_version":{"type":"string","description":"OS version of the device"},"global_device_id":{"type":"string","description":"Windows generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"onboarded_on":{"type":"string","format":"date-time"},"provisioned_on":{"type":"string","format":"date-time"},"blueprint_info":{"$ref":"#/components/schemas/device_BlueprintInfo"},"hardware_info":{"$ref":"#/components/schemas/device_WindowsHardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_WindowsSoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_WindowsNetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_WindowsMemoryInfo"},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT"]},"is_seamless":{"type":"boolean"},"windows_config":{"type":"object","properties":{"channel_uri":{"type":"string","description":"Channel URI for the device"},"channel_updated_at":{"type":"string","format":"date-time","description":"Last updated time of the channel URI"}}},"app_mode_meta":{"nullable":true,"$ref":"#/components/schemas/device_AppModeMeta"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_Error_401_Unauthorized":{"id":"components/schemas/device_Error_401_Unauthorized","kind":"json-schema","title":"device_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_Error_500_Internal_Server_Error":{"id":"components/schemas/device_Error_500_Internal_Server_Error","kind":"json-schema","title":"device_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_Error_400_Bad_Data":{"id":"components/schemas/device_Error_400_Bad_Data","kind":"json-schema","title":"device_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_Error_404_Not_Found":{"id":"components/schemas/device_Error_404_Not_Found","kind":"json-schema","title":"device_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_DeviceSettings":{"id":"components/schemas/device_DeviceSettings","kind":"json-schema","title":"device_DeviceSettings","data":{"type":"object","properties":{"gps_state":{"type":"string","description":"GPS state of the device","enum":["LOCATION_MODE_HIGH_ACCURACY","LOCATION_MODE_SENSORS_ONLY","LOCATION_MODE_BATTERY_SAVING","LOCATION_MODE_OFF","LOCATION_MODE_ON"]},"wifi_state":{"type":"boolean","description":"WiFi state of the device"},"adb_enabled":{"type":"boolean","description":"ADB state of the device"},"adb_timeout":{"type":"integer","description":"ADB timeout value for the device"},"remote_adb_enabled":{"type":"boolean","description":"Remote ADB state for the device"},"remote_adb_ip":{"type":"string","description":"Remote ADB IP for the device"},"remote_adb_port":{"type":"integer","description":"Remote ADB port for the device"},"audio_settings":{"type":"object","description":"Different Audio types and respective values"},"rotation_state":{"type":"string","description":"Display rotation of the device","enum":["AUTO","PORTRAIT_ONLY","LANDSCAPE_ONLY","INVERTED_PORTRAIT_ONLY","INVERTED_LANDSCAPE_ONLY"]},"bluetooth_state":{"type":"boolean","description":"Bluetooth state of device"},"brightness_scale":{"type":"integer","description":"Brightess value for the device it will be in range 0 to 100"},"screen_off_timeout":{"type":"integer","description":"Device screen off timeout"},"use_only_saved_ap":{"type":"boolean","description":"Whether device is allowed to connect to only saved Wifi APs"}}}},"components/schemas/device_NetworkStatsV2":{"id":"components/schemas/device_NetworkStatsV2","kind":"json-schema","title":"device_NetworkStatsV2","data":{"type":"object","properties":{"current_active_connection":{"type":"string","description":"The current active connection type"},"wifi_network_info":{"type":"object","properties":{"wifi_ssid":{"type":"string","description":"The SSID of the WiFi network"},"wifi_signal_strength":{"type":"integer","description":"The signal strength of the WiFi network on a scale of 0 to 5"}}},"cellular_network_info":{"type":"object","properties":{"network_type":{"type":"string","description":"The network type of the cellular network - null, 2G, 3G, 4G LTE"}}},"ip_address":{"type":"array","items":{"type":"string"},"description":"The IP address of the device"}}}},"components/schemas/device_MemoryStats":{"id":"components/schemas/device_MemoryStats","kind":"json-schema","title":"device_MemoryStats","data":{"type":"object","properties":{"available_ram":{"type":"integer","description":"The available memory value"},"available_internal_storage":{"type":"integer","description":"The available internal storage value"},"os_occupied_storage":{"type":"integer","description":"The OS occupied storage value"}}}},"components/schemas/device_AndroidDeviceV2":{"id":"components/schemas/device_AndroidDeviceV2","kind":"json-schema","title":"device_AndroidDeviceV2","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["Android"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumAndroid"},"platform":{"type":"string","description":"Platform for the device","enum":["ANDROID"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"provisioned_on":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Array of UUIDs representing tags associated with the device"},"hardware_info":{"$ref":"#/components/schemas/device_HardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_SoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_NetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_MemoryInfo"},"network_stats":{"$ref":"#/components/schemas/device_NetworkStatsV2"},"location_stats":{"$ref":"#/components/schemas/device_LocationStats"},"memory_stats":{"$ref":"#/components/schemas/device_MemoryStats"},"blueprint_info":{"$ref":"#/components/schemas/device_BlueprintInfo"},"battery_stats":{"type":"object","properties":{"battery_level":{"type":"number","description":"Current battey level of the device"}}},"mqtt_topic":{"type":"string","description":"MQTT topic"},"fcm_id":{"type":"string"},"is_gms":{"type":"boolean"},"dpc_version":{"nullable":true,"type":"string","description":"DPC (Device Policy Controller) version / Esper agent version name"},"eea_version":{"nullable":true,"type":"string","description":"EEA (Esper Enterprise Android) version"},"policy":{"nullable":true,"description":"Policy associated with the device","type":"object","properties":{"policy_id":{"type":"integer"},"policy_name":{"type":"string"}}},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT","TEMPLATE"]},"provisioned_with":{"type":"string","description":"Whether the device was provisioned with blueprint or template","enum":["BLUEPRINT","TEMPLATE"]},"template_name":{"nullable":true,"type":"string","description":"Name of the template the device is managed by"},"is_seamless":{"type":"boolean"},"is_esper_managed":{"type":"boolean","nullable":true,"readOnly":true,"description":"Indicates if the device is Esper managed"},"app_mode_meta":{"nullable":true,"$ref":"#/components/schemas/device_AppModeMeta"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_AppleDeviceV2":{"id":"components/schemas/device_AppleDeviceV2","kind":"json-schema","title":"device_AppleDeviceV2","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["iOS","iPadOS","tvOS"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumApple"},"platform":{"type":"string","description":"Platform for the device","enum":["APPLE"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"tags":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Array of UUIDs representing tags associated with the device"},"hardware_info":{"$ref":"#/components/schemas/device_HardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_SoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_NetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_MemoryInfo"},"blueprint_info":{"$ref":"#/components/schemas/device_BlueprintInfo"},"udid":{"type":"string","description":"UDID as provided by apple"},"dep_profile":{"type":"string","description":"DEP profile applied to device"},"dep_profile_push_time":{"type":"string","format":"date-time"},"dep_profile_assign_time":{"type":"string","format":"date-time"},"dep_profile_status":{"type":"string","description":"DEP profile applied to device","enum":["empty","assigned","pushed","removed"]},"enrolment_info":{"type":"object","properties":{"enrolment_id":{"type":"string","description":"The per-enrollment identifier for the device"},"enrolment_user_id":{"type":"string","description":"The per-enrollment identifier for the user"}}},"last_seen":{"type":"string","format":"date-time"},"tokens":{"type":"object","properties":{"push_magic":{"type":"string"},"push_token":{"type":"string"},"device_token":{"type":"string"}}},"is_supervised":{"type":"boolean"},"device_source":{"type":"string","description":"Source of device onboarding","enum":["ABM","NON_ABM"]},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT"]},"provisioned_with":{"type":"string","description":"Whether the device was provisioned with blueprint or template","enum":["BLUEPRINT"]},"provisioned_on":{"type":"string","format":"date-time"},"is_seamless":{"type":"boolean"},"is_locked_down":{"type":"boolean"},"is_ddm_enabled":{"type":"boolean","description":"Whether Declarative Device Management is enabled for this device"},"app_mode_meta":{"nullable":true,"$ref":"#/components/schemas/device_AppModeMeta"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"memory_stats":{"type":"object","properties":{"total_memory":{"type":"integer","format":"int64","description":"Total memory in bytes"},"total_internal_storage":{"type":"integer","format":"int64","description":"Total internal storage in bytes"},"available_ram":{"type":"integer","format":"int64","description":"Available RAM in bytes"},"available_internal_storage":{"type":"integer","format":"int64","description":"Available internal storage in bytes"}}},"battery_stats":{"type":"object","properties":{"battery_level":{"type":"number","description":"Current battery level of the device"}}},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_LinuxDeviceV2":{"id":"components/schemas/device_LinuxDeviceV2","kind":"json-schema","title":"device_LinuxDeviceV2","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["ubuntu","Ubuntu","Linux"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumLinux"},"platform":{"type":"string","description":"Platform for the device","enum":["LINUX"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Esper generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"provisioned_on":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Array of UUIDs representing tags associated with the device"},"hardware_info":{"type":"object","properties":{"brand":{"type":"string","description":"Device brand"},"model":{"type":"string","description":"Device model"},"serial":{"type":"string","description":"Device serial number"},"manufacturer":{"type":"string","description":"Device manufacturer"},"hardware":{"type":"string","description":"Hardware information"}}},"software_info":{"type":"object","properties":{"supported_abi":{"type":"string","description":"Supported ABI"},"os_build_time":{"type":"integer","format":"int64","description":"OS build time timestamp"},"os_build_number":{"type":"string","description":"OS build number"},"os_version":{"type":"string","description":"OS version"},"os":{"type":"string","description":"OS name"},"os_platform":{"type":"string","description":"OS platform"},"os_distribution":{"type":"string","description":"OS distribution"},"bootloader_version":{"type":"string","description":"Bootloader version"},"kernel_architecture":{"type":"string","description":"Kernel architecture"},"device_kernel_version":{"type":"string","description":"Device kernel version"},"last_boot_time":{"type":"string","description":"Last boot time"},"display_resolution":{"type":"string","description":"Display resolution"},"display_refresh_rate":{"type":"string","description":"Display refresh rate"},"esper_agent_info":{"type":"object","properties":{"version_code":{"type":"string","description":"Esper agent version code"},"version_name":{"type":"string","description":"Esper agent version name"}}}}},"network_info":{"type":"object","properties":{"wifi_mac_address":{"type":"string","description":"Wi-Fi MAC address"},"ethernet_mac_address":{"type":"string","description":"Ethernet MAC address"}}},"memory_info":{"type":"object","properties":{"total_ram":{"type":"string","description":"Total RAM in bytes"},"total_internal_storage":{"type":"string","description":"Total internal storage in bytes"},"total_swap_memory":{"type":"string","description":"Total swap memory in bytes"},"units":{"type":"string","description":"Units used for the storage capacity"}}},"network_stats":{"type":"object","properties":{"dns_servers":{"type":"array","items":{"type":"string"},"description":"DNS servers"},"default_gateway":{"type":"string","description":"Default gateway"},"ethernet_ip_address":{"type":"string","description":"Ethernet IP address"},"current_active_connection":{"type":"string","description":"The current active connection type"},"wifi_network_info":{"type":"object","properties":{"wifi_ssid":{"type":"string","description":"The SSID of the WiFi network"},"wifi_signal_strength":{"type":"integer","description":"The signal strength of the WiFi network"},"wifi_ip_address":{"type":"string","description":"The IP address of the WiFi network"}}},"ip_address":{"type":"array","items":{"type":"string"},"description":"The IP address of the device"}}},"memory_stats":{"type":"object","properties":{"total_memory":{"type":"integer","format":"int64","description":"Total memory in bytes"},"total_internal_storage":{"type":"integer","format":"int64","description":"Total internal storage in bytes"},"total_swap_memory":{"type":"integer","format":"int64","description":"Total swap memory in bytes"},"available_ram":{"type":"integer","format":"int64","description":"The available memory value"},"available_internal_storage":{"type":"integer","format":"int64","description":"The available internal storage value"},"available_swap_memory":{"type":"integer","format":"int64","description":"The available swap memory value"},"units":{"type":"string","description":"The units used for the storage capacity"}}},"cpu_stats":{"type":"object","properties":{"cpu_counts":{"type":"integer","description":"Number of CPU cores"},"cpu_cores":{"type":"array","items":{"type":"number","format":"float"},"description":"CPU core usage percentages"},"cpu_temperature":{"type":"number","format":"float","description":"CPU temperature"},"total_percent":{"type":"number","format":"float","description":"Total CPU usage percentage"}}},"battery_stats":{"type":"object","properties":{"battery_present":{"type":"boolean","description":"Whether battery is present"},"battery_state":{"type":"string","description":"Battery state"},"battery_energy":{"type":"number","format":"float","description":"Battery energy"},"battery_energy_full":{"type":"number","format":"float","description":"Battery full energy"},"battery_energy_full_design":{"type":"number","format":"float","description":"Battery design full energy"},"battery_level":{"type":"number","format":"int32","description":"Battery level"},"battery_technology":{"type":"string","description":"Battery technology"},"battery_voltage":{"type":"number","format":"float","description":"Battery voltage"},"battery_health":{"type":"number","format":"float","description":"Battery health percentage"},"battery_temperature":{"type":"number","format":"float","description":"Battery temperature"}}},"location_stats":{"type":"object","properties":{"latitude":{"type":"number","format":"float","description":"Device latitude"},"longitude":{"type":"number","format":"float","description":"Device longitude"},"altitude":{"type":"number","format":"float","description":"Device altitude"},"accuracy":{"type":"number","format":"float","description":"Location accuracy"}}},"blueprint_info":{"$ref":"#/components/schemas/device_LinuxBlueprintInfo"},"managed_by":{"type":"string","description":"Whether the device is managed by blueprint or template","enum":["BLUEPRINT"]},"provisioned_with":{"type":"string","description":"Whether the device was provisioned with blueprint or template","enum":["BLUEPRINT"]},"is_seamless":{"type":"boolean"},"last_seen":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_WindowsBlueprintInfo":{"id":"components/schemas/device_WindowsBlueprintInfo","kind":"json-schema","title":"device_WindowsBlueprintInfo","data":{"type":"object","properties":{"assigned_blueprint_id":{"type":"string","description":"Assigned blueprint id of the device"},"current_blueprint_id":{"type":"string","description":"Current blueprint id of the blueprint assigned to the device"},"current_blueprint_version_id":{"type":"string","description":"Current Version id of the blueprint assigned to the device"},"blueprint_upgrade_status":{"type":"string","description":"The status of the blueprint upgrade on the device","enum":["NOT_APPLICABLE"]}}}},"components/schemas/device_WindowsDeviceV2":{"id":"components/schemas/device_WindowsDeviceV2","kind":"json-schema","title":"device_WindowsDeviceV2","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","description":"Esper generated name for the device"},"alias":{"type":"string","description":"Alias/alternate name for the device"},"os":{"type":"string","description":"Operating system for the device","enum":["Windows"]},"state":{"$ref":"#/components/schemas/device_DeviceStateEnumWindows"},"platform":{"type":"string","description":"Platform for the device","enum":["WINDOWS"]},"serial":{"type":"string","description":"Serial number the device"},"os_version":{"type":"string","description":"OS version the device"},"global_device_id":{"type":"string","description":"Windows generated unique id for the device"},"tenant_id":{"type":"string","format":"uuid","readOnly":true},"group_id":{"type":"string","format":"uuid","readOnly":true},"provisioned_on":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"type":"string","format":"uuid"},"description":"Array of UUIDs representing tags associated with the device"},"hardware_info":{"$ref":"#/components/schemas/device_WindowsHardwareInfo"},"software_info":{"$ref":"#/components/schemas/device_WindowsSoftwareInfo"},"network_info":{"$ref":"#/components/schemas/device_WindowsNetworkInfo"},"memory_info":{"$ref":"#/components/schemas/device_WindowsMemoryInfo"},"network_stats":{"type":"object","properties":{"dns_servers":{"type":"array","items":{"type":"string"},"description":"DNS servers"},"default_gateway":{"type":"string","description":"Default gateway"},"ethernet_ip_address":{"type":"string","description":"Ethernet IP address"},"current_active_connection":{"type":"string","description":"The current active connection type"},"wifi_network_info":{"type":"object","properties":{"wifi_ssid":{"type":"string","description":"The SSID of the WiFi network"},"wifi_signal_strength":{"type":"integer","description":"The signal strength of the WiFi network"},"wifi_ip_address":{"type":"string","description":"The IP address of the WiFi network"}}},"ip_address":{"type":"array","items":{"type":"string"},"description":"The IP address of the device"}}},"memory_stats":{"type":"object","properties":{"total_memory":{"type":"integer","format":"int64","description":"Total memory in bytes"},"total_internal_storage":{"type":"integer","format":"int64","description":"Total internal storage in bytes"},"available_ram":{"type":"integer","format":"int64","description":"The available memory value"},"available_internal_storage":{"type":"integer","format":"int64","description":"The available internal storage value"},"units":{"type":"string","description":"The units used for the storage capacity"}}},"cpu_stats":{"type":"object","properties":{"cpu_counts":{"type":"integer","description":"Number of CPU cores"},"cpu_cores":{"type":"array","items":{"type":"number","format":"float"},"description":"CPU core usage percentages"},"cpu_temperature":{"type":"number","format":"float","description":"CPU temperature"}}},"last_seen":{"type":"string","format":"date-time","description":"Last time the device was seen"},"blueprint_info":{"$ref":"#/components/schemas/device_WindowsBlueprintInfo"},"battery_stats":{"type":"object","properties":{"battery_level":{"type":"number","description":"Current battery level of the device"}}},"background_scripts_stats":{"type":"object","description":"Telemetry for Windows background scripts; object keys are background script UUIDs","additionalProperties":{"type":"object","properties":{"current_state":{"type":"string","description":"Current execution state of the background script"},"script_output":{"type":"string","description":"Latest script output or logs"},"reason":{"type":"string","description":"Optional human-readable reason (e.g. failure or state change context)"},"updated_at":{"type":"string","format":"date-time","description":"Last updated time of background script state on the device"}}}},"provisioned_with":{"type":"string","description":"Whether the device was provisioned with blueprint or template","enum":["BLUEPRINT"]},"is_seamless":{"type":"boolean"},"windows_config":{"type":"object","properties":{"channel_uri":{"type":"string","description":"Channel URI for the device"},"channel_updated_at":{"type":"string","format":"date-time","description":"Last updated time of the channel URI"}}},"app_mode_meta":{"nullable":true,"$ref":"#/components/schemas/device_AppModeMeta"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_OffsetPaginatedDeviceList":{"id":"components/schemas/device_OffsetPaginatedDeviceList","kind":"json-schema","title":"device_OffsetPaginatedDeviceList","data":{"type":"object","description":"Response format for offset-based pagination","properties":{"count":{"type":"integer","description":"Total number of devices matching the query"},"previous":{"type":"string","nullable":true,"description":"URL to the previous page of results"},"next":{"type":"string","nullable":true,"description":"URL to the next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/device_AndroidDeviceV2"},{"$ref":"#/components/schemas/device_AppleDeviceV2"},{"$ref":"#/components/schemas/device_LinuxDeviceV2"},{"$ref":"#/components/schemas/device_WindowsDeviceV2"}]}}}}},"components/schemas/device_CursorPaginatedDeviceList":{"id":"components/schemas/device_CursorPaginatedDeviceList","kind":"json-schema","title":"device_CursorPaginatedDeviceList","data":{"type":"object","description":"Response format for cursor-based pagination","properties":{"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/device_AndroidDeviceV2"},{"$ref":"#/components/schemas/device_AppleDeviceV2"},{"$ref":"#/components/schemas/device_LinuxDeviceV2"},{"$ref":"#/components/schemas/device_WindowsDeviceV2"}]}},"next_cursor":{"type":"string","nullable":true,"description":"Opaque cursor token for fetching the next page. Null if no more results.","example":"eyJzdiI6W3siYyI6InVwZGF0ZWRfYXQiLCJ2IjoiMjAyNi0wMy0xMVQwNzozNjowMS45NDM3NDlaIiwibyI6IkRFU0MifV0sInV2IjoiMTM5NzQwMjYtYTQzNS00ZDk5LWEyOWItM2E0Y2Y0MTZmODFhIn0="},"prev_cursor":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Opaque cursor token for navigating to the previous page. Pass this value as the "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"cursor"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" query parameter to paginate backward. Null when already on the first page."},"children":[]}]}]}]},"has_more":{"type":"boolean","description":"Indicates if there are more results after the current page"},"has_prev":{"type":"boolean","description":"Indicates if there are results before the current page"}}}},"components/schemas/device_DeviceTagsRequest":{"id":"components/schemas/device_DeviceTagsRequest","kind":"json-schema","title":"device_DeviceTagsRequest","data":{"type":"object","description":"Either 'add' or 'remove' must be non-empty. A tag ID must not appear in both 'add'\nand 'remove' in the same request; this cross-array constraint cannot be expressed\nin OpenAPI 3.0 and is enforced server-side.\n","properties":{"add":{"type":"array","maxItems":5,"uniqueItems":true,"items":{"type":"string","format":"uuid","description":"Tag Ids you want to associate with device"}},"remove":{"type":"array","maxItems":5,"uniqueItems":true,"items":{"type":"string","format":"uuid","description":"Tag Ids you want to remove from device"}}},"anyOf":[{"required":["add"],"properties":{"add":{"minItems":1}}},{"required":["remove"],"properties":{"remove":{"minItems":1}}}]}},"components/schemas/device_DeviceTagsResponse":{"id":"components/schemas/device_DeviceTagsResponse","kind":"json-schema","title":"device_DeviceTagsResponse","data":{"type":"object","properties":{"device_id":{"type":"string","format":"uuid"},"tenant_id":{"type":"string","format":"uuid"},"tag_ids":{"type":"array","items":{"type":"string","format":"uuid"}}}}},"components/schemas/device_EsperDeviceHeartbeat":{"id":"components/schemas/device_EsperDeviceHeartbeat","kind":"json-schema","title":"device_EsperDeviceHeartbeat","data":{"type":"object","properties":{"device_id":{"type":"string","description":"UUID of the device","format":"uuid"},"timestamp":{"type":"string","description":"Last seen time stamp of the device","format":"date-time"},"status":{"type":"integer","description":"Legacy field representing whether the device was last seen in the last 30 minutes (returns 1) or not (returns 0). ","enum":[0,1]}}}},"components/schemas/device_DeviceLastSeen":{"id":"components/schemas/device_DeviceLastSeen","kind":"json-schema","title":"device_DeviceLastSeen","data":{"type":"object","properties":{"count":{"type":"integer"},"prev":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_EsperDeviceHeartbeat"}}}}},"components/schemas/device_DeviceAppsResponse":{"id":"components/schemas/device_DeviceAppsResponse","kind":"json-schema","title":"device_DeviceAppsResponse","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"device_id":{"type":"string","format":"uuid"},"app_id":{"type":"string","format":"uuid"},"app_type":{"type":"string","enum":["TENANT_IOS","ESPER_IOS","ESPER_WINDOWS","TENANT_WINDOWS","TENANT_WINDOWS_EXE","TENANT_WINDOWS_UWP"]},"app_version_id":{"type":"string","format":"uuid"},"base64_app_config":{"type":"string"},"auto_update":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"tenant_id":{"type":"string","format":"uuid"}}}},"components/schemas/device_AutoInstallConstraint":{"id":"components/schemas/device_AutoInstallConstraint","kind":"json-schema","title":"device_AutoInstallConstraint","data":{"type":"object","properties":{"charging_state_constraint":{"type":"string","description":"Constraint on the device's charging state for installation."},"device_idle_state_constraint":{"type":"string","description":"Constraint on the device's idle state for installation."},"network_type_constraint":{"type":"string","description":"Network type required for installation."}}}},"components/schemas/device_AutoInstallPolicy":{"id":"components/schemas/device_AutoInstallPolicy","kind":"json-schema","title":"device_AutoInstallPolicy","data":{"type":"object","properties":{"auto_install_constraint":{"type":"array","items":{"$ref":"#/components/schemas/device_AutoInstallConstraint"},"description":"Constraints for auto-installing the product."},"auto_install_mode":{"type":"string","description":"Mode for auto-installation."},"auto_install_priority":{"type":"integer","description":"Priority of the auto-installation."}}}},"components/schemas/device_VariableSet":{"id":"components/schemas/device_VariableSet","kind":"json-schema","title":"device_VariableSet","data":{"type":"object","properties":{"placeholder":{"type":"string","description":"Placeholder key for configuration variable.","example":"$emailaddress$"},"user_value":{"type":"string","description":"User-provided value for the placeholder.","example":"user@example.com"}}}},"components/schemas/device_ManagedConfiguration":{"id":"components/schemas/device_ManagedConfiguration","kind":"json-schema","title":"device_ManagedConfiguration","data":{"type":"object","properties":{"configuration_variables":{"type":"object","description":"Variables used for managed configurations.","properties":{"mcm_id":{"type":"string","description":"MCM ID required for configuration management.","example":"00982462290877382272"},"variable_set":{"type":"array","description":"Set of configuration variables and their values.","items":{"$ref":"#/components/schemas/device_VariableSet"}}}},"kind":{"type":"string","description":"Type of managed configuration.","example":"androidenterprise#managedConfiguration"}}}},"components/schemas/device_ProductPolicy":{"id":"components/schemas/device_ProductPolicy","kind":"json-schema","title":"device_ProductPolicy","data":{"type":"object","properties":{"auto_update_mode":{"type":"string","description":"Mode of auto-updating the product."},"product_id":{"type":"string","description":"Unique identifier for the product."},"auto_install_policy":{"$ref":"#/components/schemas/device_AutoInstallPolicy"},"managed_configuration":{"$ref":"#/components/schemas/device_ManagedConfiguration"}}}},"components/schemas/device_Policy":{"id":"components/schemas/device_Policy","kind":"json-schema","title":"device_Policy","data":{"type":"object","properties":{"auto_update_policy":{"type":"string","description":"Defines the auto-update policy for the device."},"device_report_policy":{"type":"string","description":"Policy for device report generation."},"product_availability_policy":{"type":"string","description":"Defines the product availability policy."},"product_policy":{"type":"array","items":{"$ref":"#/components/schemas/device_ProductPolicy"}}}}},"components/schemas/device_GoogleEMMDevice":{"id":"components/schemas/device_GoogleEMMDevice","kind":"json-schema","title":"device_GoogleEMMDevice","data":{"type":"object","properties":{"android_id":{"type":"string","description":"Unique identifier for the Android device."},"management_type":{"type":"string","description":"The management type of the device (e.g., managedDevice)."},"policy":{"$ref":"#/components/schemas/device_Policy"}}}},"components/schemas/device_GoogleApplication":{"id":"components/schemas/device_GoogleApplication","kind":"json-schema","title":"device_GoogleApplication","data":{"type":"object","properties":{"product_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique product ID in the format of app:<package_name>."},"children":[]}]}]}],"example":"app:com.android.chrome"},"mcm_id":{"type":"string","description":"The MCM ID if required for configuration management.","example":"mcm_12345"},"app_action":{"type":"string","description":"Action to be performed on the app, either 'install' or 'uninstall'.","enum":["install","uninstall"],"example":"install"}}}},"components/schemas/device_GoogleEMMDevicePolicyRequest":{"id":"components/schemas/device_GoogleEMMDevicePolicyRequest","kind":"json-schema","title":"device_GoogleEMMDevicePolicyRequest","data":{"type":"object","properties":{"applications":{"type":"array","items":{"$ref":"#/components/schemas/device_GoogleApplication"}}}}},"components/schemas/device_GoogleDevice":{"id":"components/schemas/device_GoogleDevice","kind":"json-schema","title":"device_GoogleDevice","data":{"type":"object","properties":{"androidId":{"type":"string","description":"The Google Play Services Android ID for the device encoded as a lowercase hex string. For example, '123456789abcdef0'."},"managementType":{"type":"string","description":"The type of management applied to the device, such as 'enterprise' or 'work'."}}}},"components/schemas/device_DevicesListResponse":{"id":"components/schemas/device_DevicesListResponse","kind":"json-schema","title":"device_DevicesListResponse","data":{"type":"object","properties":{"device":{"type":"array","items":{"$ref":"#/components/schemas/device_GoogleDevice"}}}}},"components/schemas/device_GoogleAccount":{"id":"components/schemas/device_GoogleAccount","kind":"json-schema","title":"device_GoogleAccount","data":{"type":"object","properties":{"tenant_id":{"type":"string","format":"uuid","description":"The ID of the tenant associated with the Google account."},"google_user_id":{"type":"string","description":"The unique identifier for the Google user."},"device_id":{"type":"string","format":"uuid","description":"The ID of the device associated with the Google account."},"google_device_id":{"type":"string","description":"The unique identifier for the Google device."},"account_identifier":{"type":"string","description":"An identifier for the account."},"account_type":{"type":"integer","description":"The type of the Google account."},"google_authentication_token":{"type":"string","description":"The authentication token for the Google account."},"created_at":{"type":"string","format":"date-time","description":"The timestamp when the Google account was created."},"updated_at":{"type":"string","format":"date-time","description":"The timestamp when the Google account was last updated."}},"required":["tenant_id","google_user_id","device_id","account_type"]}},"components/schemas/device_GoogleAccountUpdateRequestBody":{"id":"components/schemas/device_GoogleAccountUpdateRequestBody","kind":"json-schema","title":"device_GoogleAccountUpdateRequestBody","data":{"type":"object","properties":{"google_device_id":{"type":"string","description":"Unique identifier for the Google device."},"google_user_id":{"type":"string","description":"Unique identifier for the Google user."}},"required":["google_device_id","google_user_id"]}},"components/schemas/device_GoogleAccountUpdateResponseBody":{"id":"components/schemas/device_GoogleAccountUpdateResponseBody","kind":"json-schema","title":"device_GoogleAccountUpdateResponseBody","data":{"type":"object","properties":{"device_id":{"type":"string","description":"Unique identifier for the device."},"tenant_id":{"type":"string","description":"Unique identifier for the tenant."}},"required":["device_id","tenant_id"]}},"components/schemas/device_Error_409_Conflict":{"id":"components/schemas/device_Error_409_Conflict","kind":"json-schema","title":"device_Error_409_Conflict","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":409},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_OperationScheduleArgsTimeTypeEnum":{"id":"components/schemas/device_OperationScheduleArgsTimeTypeEnum","kind":"json-schema","title":"device_OperationScheduleArgsTimeTypeEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Time-Type argument, in Schedule args, is to indicate which timezone the Command Framework should utilize when scheduling the command."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule Args for Time-Type are supported:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[]}]}],"enum":["console","device"]}},"components/schemas/device_ScheduleArgs":{"id":"components/schemas/device_ScheduleArgs","kind":"json-schema","title":"device_ScheduleArgs","data":{"type":"object","properties":{"start_datetime":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Start date and time in ISO 8601 format, including timezone (e.g., 2024-08-08T14:30:00Z or 2024-08-08T14:30:00+05:30)."},"children":[]}]}]}]},"end_datetime":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End date and time in ISO 8601 format, including timezone (e.g., 2024-08-08T15:30:00Z or 2024-08-08T15:30:00+05:30)."},"children":[]}]}]}]},"time_type":{"$ref":"#/components/schemas/device_OperationScheduleArgsTimeTypeEnum"},"window_start_time":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is automatically populated by the time field from the request's start_datetime and cannot be injected via the API request body."},"children":[]}]}]}]},"window_end_time":{"type":"string","format":"date-time","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"It is automatically populated by the time field from the request's end_datetime and cannot be injected via the API request body."},"children":[]}]}]}]},"days":{"type":"array","items":{"type":"integer"}}}}},"components/schemas/device_OperationActivity":{"id":"components/schemas/device_OperationActivity","kind":"json-schema","title":"device_OperationActivity","data":{"type":"array","items":{"type":"object","properties":{"operation_state":{"type":"string","enum":["CREATED","QUERY INITIATED","QUERY RESOLVED","DISPATCHING","DISPATCHED","PROCESSING","PROCESSED","SUCCESS","FAILURE","CANCELLED"]},"created_at":{"type":"string","format":"date-time"}}}}},"components/schemas/device_OperationStats":{"id":"components/schemas/device_OperationStats","kind":"json-schema","title":"device_OperationStats","data":{"type":"object","properties":{"device_operation_statuses_count":{"type":"object","properties":{"resolved_device_count":{"type":"integer"},"dispatched_device_count":{"type":"integer"},"dispatch_failed_count":{"type":"integer"},"failed_device_count":{"type":"integer"},"success_device_count":{"type":"integer"},"cancelled_device_count":{"type":"integer"}}}}}},"components/schemas/device_OperationWithStats":{"id":"components/schemas/device_OperationWithStats","kind":"json-schema","title":"device_OperationWithStats","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"operation":{"type":"string","description":"","enum":["CONVERGE"]},"alias":{"type":"string","maxLength":256},"state":{"type":"string","description":"","enum":["CREATED","RESOLVING","RESOLVED","DISPATCHING","COMPLETED","FAILED"]},"schedule_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule types are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n"},"children":[]}]}],"enum":["IMMEDIATE","WINDOW"]},"schedule_args":{"$ref":"#/components/schemas/device_ScheduleArgs"},"operation_device_query":{"type":"object"},"arguments":{"type":"object","properties":{"converge_with_provision":{"type":"boolean"},"geofence_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of geofence UUIDs to apply (APPLY_GEO_FENCE)."},"children":[]}]}]}],"items":{"type":"string","format":"uuid"}}}},"reason":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string","format":"uuid"},"updated_at":{"type":"string","format":"date-time"},"updated_by":{"type":"string","format":"uuid"},"operation_activity":{"$ref":"#/components/schemas/device_OperationActivity"},"operation_stats":{"$ref":"#/components/schemas/device_OperationStats"}}}},"components/schemas/device_Operations_POST":{"id":"components/schemas/device_Operations_POST","kind":"json-schema","title":"device_Operations_POST","data":{"type":"object","properties":{"operation_type":{"type":"string","description":"","enum":["CONVERGE","INSTALL","UNINSTALL","INSTALL_APP","UNINSTALL_APP","REBOOT","LOCK","SHUT_DOWN","WIPE","ADD_EMM_ACCOUNT","ADD_OVERRIDE_APN","ADD_WIFI_AP","REMOVE_WIFI_AP","UPDATE_WIFI_AP","SET_ETHERNET_SETTINGS","SET_STATIC_IP","USE_ONLY_SAVED_WIFI_AP","ADD_TO_WHITELIST","REMOVE_FROM_WHITELIST","ALLOW_BLUETOOTH","ALLOW_CAMERA","ALLOW_FACTORY_RESET","ALLOW_UNENROLLMENT_FROM_DEVICE","DEFER_OS_UPDATES","PAUSE_OS_UPDATES","SET_OS_UPDATE_POLICY","APPLE_APP_UNINSTALL","APPLY_APP_CONFIG","CLEAR_APP_CACHE","CLEAR_APP_DATA","DIRECT_IOS_APP_INSTALL","INSTALL_CERTIFICATE","INSTALL_OTA","NOTIFY_OTA","REFRESH_APPLIST","SET_APP_NOTIFICATIONS","SET_APP_PERMISSION","SET_APP_STATE","SET_KIOSK_APP","SET_MULTI_APP_MODE","SET_NEW_POLICY","SIMPLE_INSTALL","SYNC_CONTENT","UNINSTALL_CERTIFICATE","VPP_APP_INSTALL","INSTALL_PROFILE","INSTALL_PROVISIONING_PROFILE","INSTALL_WEBCLIP","REMOVE_PROVISIONING_PROFILE","UNINSTALL_WEBCLIP","LIST_PROVISIONING_PROFILES","BEEP_DEVICE","CAPTURE_SCREENSHOT","INITIATE_CONFERENCE_CALL","INITIATE_OFFER","NOTIFY_DEVICE","NUDGE_DEVICE","REQUEST_BUGREPORT","REQUEST_DPCLOG","DEPLOY_SYSTEM_OTA","UPDATE_BLUEPRINT","UPDATE_DEVICE_CONFIG","UPDATE_OEM_CONFIG","CLEAR_PASSCODE","RESET_LOCKSCREEN_PASSWORD","SET_ADB_STATE","SET_DEVICE_LOCKDOWN_STATE","DISABLE_LOST_MODE","ENABLE_LOST_MODE","LOST_MODE_DEVICE_LOCATION","PLAY_LOST_MODE_SOUND","SET_BLUETOOTH_STATE","SET_BRIGHTNESS_SCALE","SET_DEVICE_LANGUAGE","SET_GEO_FENCE","SET_GPS_STATE","SET_LOCATION_SERVICE","SET_ROTATION_STATE","SET_SCREEN_OFF_TIMEOUT","SET_STREAM_VOLUME","SET_TIMEZONE","SET_WALLPAPER","SET_WIDGET","SET_WIFI_STATE","RUN_CSP_PAYLOAD","SET_PFN","COLLECT_LOGS","REMOTE_CONNECTION","REMOVE_AGENT","REMOVE_DEVICE","RUN_CUSTOM_ACTION","RUN_SHELL_SCRIPT","DECLARATIVE_MANAGEMENT","APPLY_GEO_FENCE"]},"alias":{"type":"string","maxLength":256,"description":"Human-readable name for the operation"},"schedule_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule types are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n"},"children":[]}]}],"enum":["IMMEDIATE","WINDOW"]},"schedule_args":{"$ref":"#/components/schemas/device_ScheduleArgs"},"operation_device_query":{"type":"object","description":"A flexible JSON object to define device properties and filters.","properties":{}},"arguments":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Operation-specific arguments that mirror the command_args payload for the corresponding command type. Use the same field names and structure as POST /commands/v0/commands/ for that operation_type. For example, pass converge_with_provision for CONVERGE, or package_name and app_version for INSTALL/UNINSTALL operations."},"children":[]}]}]}],"properties":{"converge_with_provision":{"type":"boolean"},"geofence_ids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of geofence UUIDs to apply (APPLY_GEO_FENCE)."},"children":[]}]}]}],"items":{"type":"string","format":"uuid"}}}}}}},"components/schemas/device_DeviceOperationActivity":{"id":"components/schemas/device_DeviceOperationActivity","kind":"json-schema","title":"device_DeviceOperationActivity","data":{"type":"object","properties":{"device_operation_state":{"type":"string","description":"The state of the device operation (e.g., queued, processing).","example":"CREATED"},"created_at":{"type":"string","format":"date-time","description":"The start time of the device operation state."}}}},"components/schemas/device_DeviceOperationWithStats":{"id":"components/schemas/device_DeviceOperationWithStats","kind":"json-schema","title":"device_DeviceOperationWithStats","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"operation_id":{"type":"string","format":"uuid"},"device_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["CREATED","INITIATED","SUCCEDED","FAILED"]},"reason":{"type":"string","example":""},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"device_operation_activity":{"type":"array","items":{"$ref":"#/components/schemas/device_DeviceOperationActivity"}}}}},"components/schemas/device_RemoteViewerSessionsListForTenantResponse":{"id":"components/schemas/device_RemoteViewerSessionsListForTenantResponse","kind":"json-schema","title":"device_RemoteViewerSessionsListForTenantResponse","data":{"type":"object","properties":{"session_id":{"type":"string","format":"uuid"},"device_id":{"type":"string","format":"uuid"},"state":{"type":"string","enum":["INITIATED","ACKNOWLEDGED","ACTIVE","TERMINATED","FAILED"]},"reason":{"type":"string"},"video_quality":{"type":"string","enum":["STANDARD","DATA_SAVER"]},"duration":{"type":"string","format":"duration","description":"Depicts the time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).","example":"PT10M30S"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"device_name":{"type":"string","description":"Name of the device."},"device_alias":{"type":"string","description":"Alias of the device (if any)."},"device_state":{"$ref":"#/components/schemas/device_DeviceStateEnumAndroid"}}}},"components/schemas/apps_management_VPPLicense":{"id":"components/schemas/apps_management_VPPLicense","kind":"json-schema","title":"apps_management_VPPLicense","data":{"type":"object","properties":{"app_id":{"type":"string"},"assigned_count":{"type":"integer"},"available_count":{"type":"integer"},"pricing_param":{"type":"string"},"supported_platforms":{"type":"array","items":{"type":"string"}},"total_count":{"type":"integer"}}}},"components/schemas/apps_management_Error_401_Unauthorized":{"id":"components/schemas/apps_management_Error_401_Unauthorized","kind":"json-schema","title":"apps_management_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_Error_500_Internal_Server_Error":{"id":"components/schemas/apps_management_Error_500_Internal_Server_Error","kind":"json-schema","title":"apps_management_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_ItunesAppInfoV2":{"id":"components/schemas/apps_management_ItunesAppInfoV2","kind":"json-schema","title":"apps_management_ItunesAppInfoV2","data":{"type":"object","properties":{"app_id":{"type":"string","format":"uuid","description":"App ID in UUID format"},"apple_app_id":{"type":"string","description":"App ID from Apple"},"app_version_id":{"type":"string","format":"uuid","description":"current version of the app in UUID format"},"apple_app_version":{"type":"string","description":"current version of the app"},"app_name":{"type":"string","description":"name of the app"},"icon_url":{"type":"string","description":"url of the app's icon"},"developer":{"type":"string","description":"developer of the app"},"itunes_url":{"type":"string","description":"URL for the app on the iTunes store"},"genres":{"type":"array","items":{"type":"string","description":"genre of the app"}},"device_families":{"type":"array","items":{"type":"string","description":"devices the app is compatible with"}},"bundle_id":{"type":"string","description":"bundle ID of the app"},"price":{"type":"number","description":"price of the app"},"app_size":{"type":"integer","description":"size of the app"},"minimum_os_version":{"type":"string","description":"minimum OS version required for the app"},"description":{"type":"string","description":"description of the app"},"last_updated_date":{"type":"string","description":"date the app was last updated"},"pricing_param":{"type":"string","description":"pricing parameter"}}}},"components/schemas/apps_management_Error_400_Bad_Data":{"id":"components/schemas/apps_management_Error_400_Bad_Data","kind":"json-schema","title":"apps_management_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_SetPreferredRegionRequest":{"id":"components/schemas/apps_management_SetPreferredRegionRequest","kind":"json-schema","title":"apps_management_SetPreferredRegionRequest","data":{"type":"object","required":["preferred_region"],"properties":{"preferred_region":{"type":"string","pattern":"^[a-zA-Z]{2}$","description":"ISO 3166-1 alpha-2 country code for the preferred App Store region (e.g., 'US', 'JP')","example":"US"}}}},"components/schemas/apps_management_Error_404_Not_Found":{"id":"components/schemas/apps_management_Error_404_Not_Found","kind":"json-schema","title":"apps_management_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_TenantAppResponse":{"id":"components/schemas/apps_management_TenantAppResponse","kind":"json-schema","title":"apps_management_TenantAppResponse","data":{"type":"object","properties":{"id":{"type":"string"},"platform":{"type":"string","enum":["APPLE","WINDOWS"]},"tenant_id":{"type":"string"},"package_name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"updated_by":{"type":"string"}}}},"components/schemas/apps_management_AppUploadRequestBody":{"id":"components/schemas/apps_management_AppUploadRequestBody","kind":"json-schema","title":"apps_management_AppUploadRequestBody","data":{"type":"object","properties":{"platform":{"type":"string","enum":["APPLE","WINDOWS"]},"file":{"type":"string","format":"binary","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The main app binary (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":".ipa"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":".msi"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":".exe"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":".msix"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":".msixbundle"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":")."},"children":[]}]}]}]}}}},"components/schemas/apps_management_TenantAppUploadResponse":{"id":"components/schemas/apps_management_TenantAppUploadResponse","kind":"json-schema","title":"apps_management_TenantAppUploadResponse","data":{"type":"object","properties":{"id":{"type":"string"},"version_id":{"type":"string"},"app_name":{"type":"string"},"platform":{"type":"string","enum":["APPLE","WINDOWS"]},"tenant_id":{"type":"string"},"package_name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"updated_by":{"type":"string"}}}},"components/schemas/apps_management_Error_403_Forbidden":{"id":"components/schemas/apps_management_Error_403_Forbidden","kind":"json-schema","title":"apps_management_Error_403_Forbidden","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":403},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_WindowsExeRegistryValidationArgs":{"id":"components/schemas/apps_management_WindowsExeRegistryValidationArgs","kind":"json-schema","title":"apps_management_WindowsExeRegistryValidationArgs","data":{"type":"object","required":["registry_path","registry_key","registry_value"],"properties":{"registry_path":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Registry path. e.g. HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\MyApp"},"children":[]}]}]}]},"registry_key":{"type":"string","description":"Registry value name within the path."},"registry_value":{"type":"string","description":"Expected value."}}}},"components/schemas/apps_management_WindowsExeFileValidationArgs":{"id":"components/schemas/apps_management_WindowsExeFileValidationArgs","kind":"json-schema","title":"apps_management_WindowsExeFileValidationArgs","data":{"type":"object","required":["file_path"],"properties":{"file_path":{"type":"string","description":"File path to check."}}}},"components/schemas/apps_management_TenantAppVersionResponse":{"id":"components/schemas/apps_management_TenantAppVersionResponse","kind":"json-schema","title":"apps_management_TenantAppVersionResponse","data":{"type":"object","properties":{"id":{"type":"string"},"app_id":{"type":"string"},"app_type":{"type":"string","enum":["TENANT_IOS","TENANT_WINDOWS","TENANT_WINDOWS_EXE","TENANT_WINDOWS_UWP"]},"tenant_id":{"type":"string"},"app_name":{"type":"string"},"app_icon_url":{"type":"string"},"release_notes":{"type":"string"},"description":{"type":"string"},"file_size_in_kb":{"type":"integer"},"device_family":{"type":"array","items":{"type":"string"}},"version_name":{"type":"string"},"build_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build number of the app. Omitted when legacy_format is false."},"children":[]}]}]}]},"version_code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Version code of the app (same as build_number). Only present when legacy_format is false."},"children":[]}]}]}]},"min_sdk_version":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"is_active":{"type":"boolean","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_EXE. True only when install_script, uninstall_script, and success_criteria are all set. Gates downstream install commands — a version with is_active=false cannot be deployed."},"children":[]}]}]}]},"success_criteria_type":{"type":"string","enum":["REGISTRY_VALIDATION","FILE_VALIDATION"],"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_EXE. Discriminator for the validation check performed after install/uninstall."},"children":[]}]}]}]},"success_criteria":{"nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_EXE. Contains the validation args. Shape depends on success_criteria_type."},"children":[]}]}]}],"oneOf":[{"$ref":"#/components/schemas/apps_management_WindowsExeRegistryValidationArgs"},{"$ref":"#/components/schemas/apps_management_WindowsExeFileValidationArgs"}]}}}},"components/schemas/apps_management_MsixAumid":{"id":"components/schemas/apps_management_MsixAumid","kind":"json-schema","title":"apps_management_MsixAumid","data":{"type":"object","description":"A single Application User Model ID (AUMID) entry exposed by an MSIX package.","properties":{"application_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<Application Id>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the package manifest."},"children":[]}]}]}]},"aumid":{"type":"string","description":"The fully-qualified AUMID, formatted as PackageFamilyName!ApplicationId."},"is_default":{"type":"boolean","description":"True for the first launchable entry, treated as the package default."}}}},"components/schemas/apps_management_AppVersionArtifactMetadata":{"id":"components/schemas/apps_management_AppVersionArtifactMetadata","kind":"json-schema","title":"apps_management_AppVersionArtifactMetadata","data":{"type":"object","description":"Type-specific attributes of an artifact. All fields are optional; only\nthose relevant to the artifact's type are populated.\n","properties":{"package_family_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The dependency package's own package family name (UWP_DEPENDENCY)."},"children":[]}]}]}]},"package_dependency_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<PackageDependency Name>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" declared by the main package manifest (UWP_DEPENDENCY)."},"children":[]}]}]}]},"min_version":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The minimum required version declared by the main package manifest (UWP_DEPENDENCY)."},"children":[]}]}]}]},"version_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The actual version of the uploaded dependency package (UWP_DEPENDENCY)."},"children":[]}]}]}]},"architecture":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The dependency package architecture, e.g. x64, x86, arm64 (UWP_DEPENDENCY)."},"children":[]}]}]}]},"cert_thumbprint":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SHA1 thumbprint of the signing certificate (UWP_CERTIFICATE)."},"children":[]}]}]}]}}}},"components/schemas/apps_management_AppVersionArtifact":{"id":"components/schemas/apps_management_AppVersionArtifact","kind":"json-schema","title":"apps_management_AppVersionArtifact","data":{"type":"object","description":"A generic per-version artifact (e.g. a UWP framework dependency or signing certificate).","properties":{"id":{"type":"string","description":"The artifact row id (UUID)."},"artifact_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The artifact discriminator (e.g. \"UWP_DEPENDENCY\", \"UWP_CERTIFICATE\")."},"children":[]}]}]}]},"file_name":{"type":"string","nullable":true,"description":"The original uploaded filename of the artifact."},"app_sha256_hash":{"type":"string","nullable":true,"description":"SHA256 hash of the uploaded artifact file."},"download_url":{"type":"string","nullable":true,"description":"Presigned S3 URL for downloading the artifact."},"metadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/apps_management_AppVersionArtifactMetadata"}]}}}},"components/schemas/apps_management_TenantAppVersionDetailResponse":{"id":"components/schemas/apps_management_TenantAppVersionDetailResponse","kind":"json-schema","title":"apps_management_TenantAppVersionDetailResponse","data":{"allOf":[{"$ref":"#/components/schemas/apps_management_TenantAppVersionResponse"},{"type":"object","properties":{"app_download_url":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Presigned URL for downloading the app binary. Present for TENANT_IOS (IPA), TENANT_WINDOWS (MSI), and TENANT_WINDOWS_UWP (MSIX/MSIXBundle) app types."},"children":[]}]}]}]},"app_sha256_hash":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"SHA256 hash of the app binary. Present for TENANT_IOS, TENANT_WINDOWS, and TENANT_WINDOWS_UWP app types."},"children":[]}]}]}]},"product_code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"MSI product code. Present only when app_type is TENANT_WINDOWS."},"children":[]}]}]}]},"install_script":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PowerShell install script content. Present only when app_type is TENANT_WINDOWS_EXE. Null if not yet configured."},"children":[]}]}]}]},"uninstall_script":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"PowerShell uninstall script content. Present only when app_type is TENANT_WINDOWS_EXE. Null if not yet configured."},"children":[]}]}]}]},"package_format":{"type":"string","enum":["MSIX","MSIXBUNDLE"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. Indicates whether the package is a single .msix or a .msixbundle."},"children":[]}]}]}]},"package_family_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. The package family name (PFN) derived from the manifest identity and publisher."},"children":[]}]}]}]},"identity_name":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<Identity Name>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the package manifest."},"children":[]}]}]}]},"publisher":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. The "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<Identity Publisher>"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" from the package manifest."},"children":[]}]}]}]},"architecture":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. Package architecture (e.g. x64, x86, arm64, neutral)."},"children":[]}]}]}]},"entry_point_type":{"type":"string","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. The application entry point type from the manifest."},"children":[]}]}]}]},"aumids":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. The Application User Model IDs (AUMIDs) exposed by the package, extracted from the manifest at ingest."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/apps_management_MsixAumid"}},"artifacts":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Present only when app_type is TENANT_WINDOWS_UWP. Per-version artifacts (framework dependencies, signing certificates, etc.), each with a presigned download URL."},"children":[]}]}]}],"items":{"$ref":"#/components/schemas/apps_management_AppVersionArtifact"}}}}]}},"components/schemas/apps_management_WindowsExeSuccessCriteria":{"id":"components/schemas/apps_management_WindowsExeSuccessCriteria","kind":"json-schema","title":"apps_management_WindowsExeSuccessCriteria","data":{"type":"object","required":["type","validation_args"],"properties":{"type":{"type":"string","enum":["REGISTRY_VALIDATION","FILE_VALIDATION"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Discriminator for the validation check performed after install/uninstall."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"REGISTRY_VALIDATION checks a registry key/value; FILE_VALIDATION checks file existence."},"children":[]}]}]}]},"validation_args":{"oneOf":[{"$ref":"#/components/schemas/apps_management_WindowsExeRegistryValidationArgs"},{"$ref":"#/components/schemas/apps_management_WindowsExeFileValidationArgs"}]}}}},"components/schemas/apps_management_WindowsExeConfigRequest":{"id":"components/schemas/apps_management_WindowsExeConfigRequest","kind":"json-schema","title":"apps_management_WindowsExeConfigRequest","data":{"type":"object","description":"EXE configuration. All fields are optional; omitted fields leave\nexisting values unchanged.\n","properties":{"install_script":{"type":"string","description":"PowerShell install script body. Maximum 64 KB."},"uninstall_script":{"type":"string","description":"PowerShell uninstall script body. Maximum 64 KB."},"success_criteria":{"$ref":"#/components/schemas/apps_management_WindowsExeSuccessCriteria"}}}},"components/schemas/apps_management_ArtifactMutationResponse":{"id":"components/schemas/apps_management_ArtifactMutationResponse","kind":"json-schema","title":"apps_management_ArtifactMutationResponse","data":{"type":"object","description":"Identifies the artifact affected by an add/delete (identity-style, like\nthe app upload response) so the caller can refresh its view without a\nfull re-fetch.\n","properties":{"id":{"type":"string","format":"uuid","description":"The affected artifact's id."},"version_id":{"type":"string","format":"uuid","description":"The app version the artifact belongs to."},"tenant_id":{"type":"string","format":"uuid"},"artifact_type":{"type":"string","enum":["UWP_DEPENDENCY","UWP_CERTIFICATE"],"description":"The artifact discriminator."},"file_name":{"type":"string","nullable":true,"description":"The artifact's original filename."},"metadata":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/apps_management_AppVersionArtifactMetadata"}]}}}},"components/schemas/apps_management_AppleAppStoreApp":{"id":"components/schemas/apps_management_AppleAppStoreApp","kind":"json-schema","title":"apps_management_AppleAppStoreApp","data":{"type":"object","properties":{"icon":{"type":"string","format":"uri","description":"URL for the app icon","example":"https://icon-url.com"},"name":{"type":"string","description":"Name of the app","example":"Safari"},"bundle_id":{"type":"string","description":"Bundle identifier for the app","example":"com.apple.mobilesafari"},"file_size_in_bytes":{"type":"string","description":"File size of the app in bytes","example":"100"},"app_store_url":{"type":"string","format":"uri","description":"URL to the app store listing","example":"https://apps.apple.com/us/app/"},"minimum_os":{"type":"string","description":"Minimum OS version required","example":"10.0"},"release_date":{"type":"string","format":"date-time","description":"Release date of the app","example":"2021-10-25T07:00:00.000Z"},"seller_name":{"type":"string","description":"Name of the seller","example":"Apple Inc."}}}},"components/schemas/apps_management_AppInfo":{"id":"components/schemas/apps_management_AppInfo","kind":"json-schema","title":"apps_management_AppInfo","data":{"type":"object","properties":{"app_id":{"type":"string","description":"Unique identifier for the app."},"app_version_id":{"type":"string","description":"Unique identifier for the app version."},"app_type":{"type":"string","description":"Type of the app."},"tenant_id":{"type":"string","description":"Identifier for the tenant."},"name":{"type":"string","description":"Name of the app to show on console."},"label":{"type":"string","description":"Label for the app to show on device."},"icon_url":{"type":"string","format":"uri","description":"URL to the app icon."},"package_name":{"type":"string","description":"Unique identifier for the app bundle."},"is_removable":{"type":"boolean","description":"Indicates if the app can be removed."},"is_full_screen":{"type":"boolean","description":"Indicates if the app runs in full-screen mode."},"url":{"type":"string","format":"uri","description":"URL to access the app."},"file_size_in_kb":{"type":"integer","description":"Size of the app in kilobytes."},"release_notes":{"type":"string","description":"Release notes for the app version."},"description":{"type":"string","description":"Description of the app."},"build_number":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Build number of the app. Omitted when legacy_format is false."},"children":[]}]}]}]},"version_code":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Version code of the app (same as build_number). Only present when legacy_format is false."},"children":[]}]}]}]},"version_name":{"type":"string","description":"Version name of the app."},"min_sdk_version":{"type":"string","description":"Minimum SDK version required to run the app."},"created_at":{"type":"string","format":"date-time","description":"Timestamp when the app was created."},"created_by":{"type":"string","description":"User who created the app entry."},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when the app was last updated."},"updated_by":{"type":"string","description":"User who last updated the app entry."}}}},"components/schemas/apps_management_Webclip":{"id":"components/schemas/apps_management_Webclip","kind":"json-schema","title":"apps_management_Webclip","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the web clip","example":"09811f63-e2ca-4625-97c1-081145195d67"},"tenant_id":{"type":"string","format":"uuid","description":"Tenant identifier","example":"7d5fd1bf-bdf9-490b-9e32-203756a61235"},"label":{"type":"string","description":"Label of the web clip","example":"Google"},"url":{"type":"string","format":"uri","description":"URL associated with the web clip","example":"https://www.google.com/"},"icon_url":{"type":"string","format":"uri","nullable":true,"description":"URL for the icon of the web clip","example":null},"target_bundle_name":{"type":"string","description":"Name of the target bundle","example":"Esper"},"target_bundle_id":{"type":"string","description":"ID of the target bundle","example":"com.esper.io"},"is_full_screen":{"type":"boolean","description":"Indicates if the web clip is full screen","example":false},"is_removable":{"type":"boolean","description":"Indicates if the web clip is removable","example":true},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the web clip was created"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the web clip was last updated"},"created_by":{"type":"string","description":"The user who created the web clip"},"updated_by":{"type":"string","description":"The user who last updated the web clip"}}}},"components/schemas/apps_management_WebclipCreateRequest":{"id":"components/schemas/apps_management_WebclipCreateRequest","kind":"json-schema","title":"apps_management_WebclipCreateRequest","data":{"type":"object","properties":{"icon":{"type":"string","format":"binary","description":"Icon of the webclip"},"label":{"type":"string","description":"Label of the web clip which is displayed on device","example":"Example Label"},"esper_name":{"type":"string","description":"Name of the webclip in Esper","example":"Example Name"},"url":{"type":"string","description":"URL for the webclip","example":"https://example.com"},"target_bundle_id":{"type":"string","description":"Target bundle ID for the webclip","example":"com.example.bundle"},"target_bundle_name":{"type":"string","description":"Target bundle name for the webclip","example":"Example Bundle"},"is_full_screen":{"type":"boolean","description":"Indicates if the webclip is full screen","example":true},"is_removable":{"type":"boolean","description":"Indicates if the webclip is removable","example":false}},"required":["label","esper_name","url","target_bundle_id","target_bundle_name","is_full_screen","is_removable"]}},"components/schemas/apps_management_Error_409_Conflict":{"id":"components/schemas/apps_management_Error_409_Conflict","kind":"json-schema","title":"apps_management_Error_409_Conflict","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":409},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/apps_management_ProvisioningProfileUploadResponse":{"id":"components/schemas/apps_management_ProvisioningProfileUploadResponse","kind":"json-schema","title":"apps_management_ProvisioningProfileUploadResponse","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for the provisioning profile"},"version_id":{"type":"string","format":"uuid","description":"Unique identifier for this specific version of the profile"},"name":{"type":"string","description":"Display name of the provisioning profile"},"team_identifier":{"type":"string","description":"Apple Developer Team identifier"},"app_identifier":{"type":"string","description":"Bundle identifier of the associated app"},"profile_type":{"type":"string","description":"Type of profile (development, distribution, etc.)","enum":["development","ad-hoc","app-store","enterprise"]},"expiration_date":{"type":"string","format":"date-time","description":"When the provisioning profile expires"},"tenant_id":{"type":"string","format":"uuid","description":"Tenant that owns this provisioning profile"},"created_at":{"type":"string","format":"date-time","description":"When the provisioning profile was first created"},"updated_at":{"type":"string","format":"date-time","description":"When this version was last updated"},"created_by":{"type":"string","description":"User who created the provisioning profile"},"updated_by":{"type":"string","description":"User who created this version"}}}},"components/schemas/apps_management_ProvisioningProfileWithDownloadResponse":{"id":"components/schemas/apps_management_ProvisioningProfileWithDownloadResponse","kind":"json-schema","title":"apps_management_ProvisioningProfileWithDownloadResponse","data":{"type":"object","allOf":[{"$ref":"#/components/schemas/apps_management_ProvisioningProfileUploadResponse"},{"type":"object","properties":{"download_url":{"type":"string","format":"uri","description":"Signed URL for downloading the provisioning profile file","example":"https://s3.amazonaws.com/bucket/provisioning-profiles/profile.mobileprovision?signature=abc123"}}}]}},"components/schemas/apps_management_ProvisioningProfileUploadRequest":{"id":"components/schemas/apps_management_ProvisioningProfileUploadRequest","kind":"json-schema","title":"apps_management_ProvisioningProfileUploadRequest","data":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Provisioning profile file (.mobileprovision)"}},"required":["file"]}},"components/schemas/apps_management_ProvisioningProfileVersionWithDownloadResponse":{"id":"components/schemas/apps_management_ProvisioningProfileVersionWithDownloadResponse","kind":"json-schema","title":"apps_management_ProvisioningProfileVersionWithDownloadResponse","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Primary key and unique identifier for this version"},"profile_id":{"type":"string","format":"uuid","description":"Foreign key reference to the parent ProvisioningProfile"},"uuid":{"type":"string","description":"Apple's UUID for this specific provisioning profile version"},"name":{"type":"string","description":"Display name of the provisioning profile version"},"sha256_hash":{"type":"string","description":"SHA256 hash of the provisioning profile file for duplicate detection"},"creation_date":{"type":"string","format":"date-time","description":"When Apple created this provisioning profile (from .mobileprovision file)"},"expiration_date":{"type":"string","format":"date-time","description":"When this provisioning profile expires (from Apple)"},"time_to_live":{"type":"integer","description":"Days until expiration from creation date"},"provisions_all_devices":{"type":"boolean","description":"Whether this profile provisions all devices (enterprise profiles)"},"is_xcode_managed":{"type":"boolean","description":"Whether this profile is managed by Xcode automatically"},"platforms":{"type":"string","description":"JSON array of supported platforms (iOS, macOS, etc.)"},"entitlements":{"type":"string","description":"JSON object of app entitlements and capabilities"},"developer_certificates":{"type":"string","description":"JSON array of developer certificates included in this profile"},"tenant_id":{"type":"string","format":"uuid","description":"Tenant that owns this provisioning profile version"},"created_by":{"type":"string","description":"User identifier who uploaded this version"},"updated_by":{"type":"string","description":"User identifier who last modified this version record"},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this version record was created in the database"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp when this version record was last modified"},"download_url":{"type":"string","format":"uri","description":"Signed URL for downloading the provisioning profile file","example":"https://s3.amazonaws.com/bucket/provisioning-profiles/version.mobileprovision?signature=abc123"}}}},"components/schemas/apps_management_TenantPreferredRegions":{"id":"components/schemas/apps_management_TenantPreferredRegions","kind":"json-schema","title":"apps_management_TenantPreferredRegions","data":{"type":"object","properties":{"tenant_id":{"type":"string","format":"uuid","description":"Unique identifier for the tenant"},"countries":{"type":"array","items":{"type":"string"},"description":"List of preferred country codes","example":["AU","IN","US"]},"created_by":{"type":"string","description":"The user who created the preferred regions"},"created_at":{"type":"string","format":"date-time","description":"Timestamp of when the preferred regions were first created"},"updated_by":{"type":"string","description":"The user who last updated the preferred regions"},"updated_at":{"type":"string","format":"date-time","description":"Timestamp of when the preferred regions were last updated"}}}},"components/schemas/apps_management_SetPreferredRegionsRequest":{"id":"components/schemas/apps_management_SetPreferredRegionsRequest","kind":"json-schema","title":"apps_management_SetPreferredRegionsRequest","data":{"type":"object","required":["countries"],"properties":{"countries":{"type":"array","items":{"type":"string","pattern":"^[A-Z]{2}$"},"description":"List of ISO 3166-1 alpha-2 country codes (2-character uppercase). An empty array clears the tenant's preferred region preference.","example":["AU","IN","US"]}}}},"components/schemas/apps_management_EsperAppVersionResponse":{"id":"components/schemas/apps_management_EsperAppVersionResponse","kind":"json-schema","title":"apps_management_EsperAppVersionResponse","data":{"type":"object","properties":{"id":{"type":"string"},"app_id":{"type":"string"},"app_type":{"type":"string","enum":["TENANT_IOS","ESPER_IOS","ESPER_ANDROID","ESPER_LINUX","ESPER_WINDOWS"]},"app_name":{"type":"string"},"app_icon_url":{"type":"string"},"app_download_url":{"type":"string"},"app_sha256_hash":{"type":"string"},"signature_hash":{"type":"string","description":"SHA-256 fingerprint of the app's public key in uppercase hexadecimal with colon separators (only for Android apps)"},"architecture":{"type":"string"},"release_notes":{"type":"string"},"description":{"type":"string"},"file_size_in_kb":{"type":"integer"},"device_family":{"type":"array","items":{"type":"string"}},"version_name":{"type":"string"},"build_number":{"type":"string"},"min_sdk_version":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_by":{"type":"string"}}}},"components/schemas/apps_management_TenantEsperAppsItem":{"id":"components/schemas/apps_management_TenantEsperAppsItem","kind":"json-schema","title":"apps_management_TenantEsperAppsItem","data":{"type":"object","properties":{"tenant_id":{"type":"string"},"app_version_id":{"type":"string"},"app_id":{"type":"string"},"package_name":{"type":"string","description":"Package name of the app (only shown for Android apps)"},"app_sha256_hash":{"type":"string"},"signature_hash":{"type":"string","description":"Signature hash of the app (only shown for Android apps)"},"architecture":{"type":"string"},"app_download_url":{"type":"string"},"version_code":{"type":"string","description":"Version code of the app (only shown for Android apps)"},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"}}}},"components/schemas/apps_management_OEMConfigSchema":{"id":"components/schemas/apps_management_OEMConfigSchema","kind":"json-schema","title":"apps_management_OEMConfigSchema","data":{"type":"object","description":"OEM config schema metadata and optional JSON schema content parsed from an OEM APK","properties":{"id":{"type":"string","format":"uuid","description":"Unique identifier for this schema record"},"oem_type":{"type":"string","enum":["ZEBRA","HONEYWELL","DATALOGIC","SAMSUNG","SUNMI"],"description":"OEM manufacturer type"},"package_name":{"type":"string","description":"OEM config package name","example":"com.zebra.oemconfig.common"},"version_name":{"type":"string","description":"Human-readable version string from the APK manifest","example":"11.3.3.00"},"version_code":{"type":"string","description":"Integer version code from the APK manifest","example":"10"},"schema_format":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Format of the parsed schema (e.g. MANAGED_CONFIGURATIONS)"},"children":[]}]}]}]},"parser_version":{"type":"string","description":"Version of the internal parser that produced this schema"},"is_latest":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether this is the latest active schema for this oem_type + package_name"},"children":[]}]}]}]},"status":{"type":"string","enum":["ACTIVE","INACTIVE"],"description":"Status of this schema record"},"schema_metadata":{"type":"object","description":"Additional metadata produced by the parser (parser-specific)"},"schema_json":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Full parsed schema JSON. Omitted when include_schema=false."},"children":[]}]}]}]},"created_at":{"type":"string","format":"date-time","description":"Timestamp when this schema was first persisted"}}}},"components/schemas/commands_DeviceCommandEnum":{"id":"components/schemas/commands_DeviceCommandEnum","kind":"json-schema","title":"commands_DeviceCommandEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following commands are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* ADD_TO_WHITELIST: Whitelist an installed sytem app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* ADD_WIFI_AP : Add wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* APPLY_APP_CONFIG : Apply app configuration for an installed app.\n* CLEAR_APP_DATA : Clear data for an installed app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* CLEAR_APP_CACHE : Clear the cache of an installed app without removing its data. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. Supported on Android 6.0+ devices with the supervisor installed.\n* CONVERGE: Converge command for Blueprint\n* INSTALL: Install an app on a device. Requires `app_version` in command arguments where `app_version` is the version id of app uploaded on Esper\n* INSTALL_CERTIFICATE: Install a certificate chain in the system keystore of an android device. Requires `cert_file_type`, `cert_data_base64`, `cert_alias_name` and `cert_storage_type` in command arguments where `cert_file_type` must be set to \"pkcs12\", `cert_data_base64` contains the base64 encoded content of the pkcs12 file, `cert_alias_name` is the alias name with which the certificate chain is supposed to be installed and `cert_storage_type` must be set to \"system\". If the pkcs12 file is password protected, the password should be specified in the optional parameter `cert_password`.\n* LOCK: Lock device screen, Supports Android, iOS and Windows devices.\n* REBOOT: Reboot a device. Supports Android, iOS, and Windows devices.\n* REMOVE_FROM_WHITELIST : Remove an installed system app from whitelist. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* REMOVE_WIFI_AP : Remove Wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* UPDATE_WIFI_AP : Update Wi-Fi access point configuration on device. Requires `wifi_ssid` and `wifi_security_type` in command arguments. Device must be connected to the target SSID. Supports EAP (enterprise) and personal (WPA2/WPA/WEP) networks. On failure, attempts to restore the previous configuration. Android only.\n* SET_APP_PERMISSION : Set permission for an installed app. Requires `package_name`, `grant_state`, `permission` in command arguments where `package_name` is the app package uploaded on Esper, `grant_state` should be \"PERMISSION_GRANT_STATE_DEFAULT\", \"PERMISSION_GRANT_STATE_DENIED\", \"PERMISSION_GRANT_STATE_GRANTED\" and `permission` is a valid permission\n* SET_APP_STATE : Set the state of an app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN. Requries `app_state` and `package_name` in command arguments where `app_state` is the state of app and `package_name` is the app package uploaded on Esper For LAUNCHABLE_BUT_HIDDEN: Hide an app on the home screen but allow it to be launched from other apps. Requires Esper agent 8.5+ and `package_name`. \n* SET_BLUETOOTH_STATE : Set bluetooth state (ON/OFF) for device. Requires `bluetooth_state` in command arguments where `bluetooth_state` is a boolean.\n* SET_BRIGHTNESS_SCALE : Set brightness for device. Requires `brightness_value` in command arguments where `brightness_value` is an integer (1-100).\n* SET_DEVICE_LOCKDOWN_STATE : Set lockdown state for a device. Requires `state` and `message` in command arguments where `state` is LOCKED/UNLOCKED and `message` is the message to be added with command\n* SET_GPS_STATE :Set the GPS state for a device. Requires `gps_state` in command arguments where `gps_state` should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)\n* SET_KIOSK_APP : Command to set the Kiosk app for a device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. For iOS devices, optionally accepts `disable_device_rotation` (boolean, default false) which disables device rotation sensing while in kiosk mode, and `disable_screen_timeout` (boolean, default true) which disables the screen auto-lock/timeout while in kiosk mode.\n\n* SET_MULTI_APP_MODE : Command to set the device back to multi app mode.\n* SET_NEW_POLICY : Apply policy on device. Requires `policy_url` in command arguments where `policy_url` is the URL to the policy\n* SET_ROTATION_STATE : Set screen orientation. Requires `rotate_state` in command arguments where `rotate_state` should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)\n* SET_SCREEN_OFF_TIMEOUT: Set screen off timeout for a device. Requires `screen_off_timeout` in command arguments where `screen_off_timeout` should be either -1 or between 5000 and 1800000\n* SET_STREAM_VOLUME : Set strema volume for a device. Requires `stream` and `volume_level` in command arguments where `stream` should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music) and `volume_level` should be a value from 0 to 100\n* SET_TIMEZONE : Set the timezone for a device. Requires `timezone_string` in command arguments where `timezone_string` is a valid string representing the timezone\n* SET_WIFI_STATE : Set the wifi state (ON/OFF) for a device. Requires `wifi_state` in command arguments where `wifi_state` is a boolean.\n* UNINSTALL: Uninstall an app from device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* UNINSTALL_CERTIFICATE: Uninstall a certificate from an android device's system keystore using the installed certificate's alias name. Requires `cert_alias_name` and `cert_storage_type` in command arguments where `cert_alias_name` is the alias name of the certificate to be uninstalled and `cert_storage_type` must be set to \"system\"\n* UPDATE_DEVICE_CONFIG: Push additional configurations to the Device\n* UPDATE_HEARTBEAT: Ping a device\n* UPDATE_LATEST_DPC : Prompt device to update the DPC app to the latest versions.\n* WIPE : Wipes the device.\n* RESET_LOCKSCREEN_PASSWORD: Change the lockscreen password of the device. Requires `new_lockscreen_password` in command arguments where `new_lockscreen_password` is a valid string.\n* UPDATE_BLUEPRINT: Pushes or reapplies the most current Blueprint version to the device or group.\n* NOTIFY_DEVICE: Allows you to  broadcast message to the device.\n* SET_DEVICE_LANGUAGE: Set language for a device. Requires locale value in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code.\n* SET_ETHERNET_SETTINGS: Set ethernet settings on supported Device\n* SET_STATIC_IP: Set static ip on the deivce. Requires interface, dhcp_dnabled, static_ip, primary_dns, subnet_mask, gateway, secondary_dns (optional)\n* BEEP_DEVICE: Allows you to make the device beep for a specified duration\n* SET_APP_NOTIFICATIONS: Enable/disable app notifications. Requries `app_notifications_state` and `package_name` in command arguments where `app_notifications_state` is a string that has the value `ENABLED` or `DISABLED` and `package_name` is the app package uploaded on Esper.\n* USE_ONLY_SAVED_WIFI_AP: Allow/disallow device to connect to unregistered WiFi APs. Requires boolean `use_only_saved_ap`..\n* DEVICE_INFORMATION: Prompt device to update the device information\n* VPP_APP_INSTALL: Install a vpp app on an iOS device. Requires `app_id` and `bundle_identifier` in command arguments that corresponds to the associate vpp app\n* APPLE_APP_UNINSTALL: Uninstall an app on an iOS device. Requires `app_id` and `bundle_identifier` in command arguments that corresponds to the associated app\n* CLEAR_PASSCODE: Clear the passcode in a device\n* LIST_INSTALLED_PROFILES: Returns a list of all installed profiles on an iOS device.\n* INSTALL_PROFILE: Install a profile on an iOS device.\n* REMOVE_PROFILE: Remove a profile from an iOS device.\n* RUN_SHELL_SCRIPT: Run a shell script on a Linux or Windows device. Requires `script` and `interpreter` in command arguments.\n* RUN_CUSTOM_ACTION: Run a custom action (script) on a Linux device. Requires custom action parameters in command arguments.\n* COLLECT_LOGS: Collect and upload Esper agent logs from a Linux device.\n* SCHEDULE_OS_UPDATE: Schedule an OS update on an Apple device. Requires `product_version` (string) and `install_action` (string, one of \"Default\", \"DownloadOnly\", \"InstallASAP\") in command_args.\n* OS_UPDATE_STATUS: Query the status of pending or in-progress OS updates on an Apple device.\n* SCAN_OS_UPDATES: Query available OS updates on an Apple device.\n* ENFORCE_OS_UPDATE_SETTINGS: Configure software update settings on an Apple device via DDM (Declarative Device Management). Maps to Apple's `com.apple.configuration.softwareupdate.settings` declaration. Supports `allow_standard_user_os_updates` (boolean), `automatic_actions` (object with `download`, `install_os_updates`, `install_security_update` — each \"allowed\", \"always_on\", or \"always_off\"), `deferrals` (object — must specify EITHER `combined_period_in_days` alone OR all three of `major_period_in_days`, `minor_period_in_days`, `system_period_in_days`; each value 1-90 days; mixing combined with any individual field is rejected), `notifications` (boolean), `rapid_security_response` (object with `enable`, `enable_rollback` — both boolean), and `recommended_cadence` (\"all\", \"oldest\", or \"newest\"). Requires iOS/iPadOS 18.0+ or tvOS 18.4+.\n* ENFORCE_SOFTWARE_UPDATE: Enforce software update on an Apple device. Requires `target_os_version` and `target_local_date_time` in command arguments where `target_os_version` is the OS version to update to and `target_local_date_time` is local date time value that specifies when to force install the software update. Use the format yyyy-mm-ddThh:mm:ss, which is derived from RFC3339 but doesn’t include a time zone offset. If the user doesn’t trigger the software update before this time, the device force installs it. Applicable for iOS/iPadOS 17+ and tvOS 18.4+ after enabling Declarative Device Management (DDM) on the device.\n* SET_OS_UPDATE_POLICY: Allow, disable or schedule automatic updates on a Windows device. Requires `auto_update_type` in command arguments. `auto_update_type` supports \"NOTIFY_DOWNLOAD\", \"AUTO_INSTALL_AND_NOTIFY_RESTART\", \"DEFAULT\", \"SCHEDULED_INSTALL_AND_RESTART\", \"AUTO_INSTALL_AND_RESTART_FORCED\" or \"OFF\".\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* ADD_TO_WHITELIST: Whitelist an installed sytem app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* ADD_WIFI_AP : Add wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* APPLY_APP_CONFIG : Apply app configuration for an installed app.\n* CLEAR_APP_DATA : Clear data for an installed app. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* CLEAR_APP_CACHE : Clear the cache of an installed app without removing its data. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. Supported on Android 6.0+ devices with the supervisor installed.\n* CONVERGE: Converge command for Blueprint\n* INSTALL: Install an app on a device. Requires `app_version` in command arguments where `app_version` is the version id of app uploaded on Esper\n* INSTALL_CERTIFICATE: Install a certificate chain in the system keystore of an android device. Requires `cert_file_type`, `cert_data_base64`, `cert_alias_name` and `cert_storage_type` in command arguments where `cert_file_type` must be set to \"pkcs12\", `cert_data_base64` contains the base64 encoded content of the pkcs12 file, `cert_alias_name` is the alias name with which the certificate chain is supposed to be installed and `cert_storage_type` must be set to \"system\". If the pkcs12 file is password protected, the password should be specified in the optional parameter `cert_password`.\n* LOCK: Lock device screen, Supports Android, iOS and Windows devices.\n* REBOOT: Reboot a device. Supports Android, iOS, and Windows devices.\n* REMOVE_FROM_WHITELIST : Remove an installed system app from whitelist. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* REMOVE_WIFI_AP : Remove Wifi access points for device. Requires `wifi_access_points` in command arguments where `wifi_access_points` is the data with access points\n* UPDATE_WIFI_AP : Update Wi-Fi access point configuration on device. Requires `wifi_ssid` and `wifi_security_type` in command arguments. Device must be connected to the target SSID. Supports EAP (enterprise) and personal (WPA2/WPA/WEP) networks. On failure, attempts to restore the previous configuration. Android only.\n* SET_APP_PERMISSION : Set permission for an installed app. Requires `package_name`, `grant_state`, `permission` in command arguments where `package_name` is the app package uploaded on Esper, `grant_state` should be \"PERMISSION_GRANT_STATE_DEFAULT\", \"PERMISSION_GRANT_STATE_DENIED\", \"PERMISSION_GRANT_STATE_GRANTED\" and `permission` is a valid permission\n* SET_APP_STATE : Set the state of an app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN. Requries `app_state` and `package_name` in command arguments where `app_state` is the state of app and `package_name` is the app package uploaded on Esper For LAUNCHABLE_BUT_HIDDEN: Hide an app on the home screen but allow it to be launched from other apps. Requires Esper agent 8.5+ and `package_name`. \n* SET_BLUETOOTH_STATE : Set bluetooth state (ON/OFF) for device. Requires `bluetooth_state` in command arguments where `bluetooth_state` is a boolean.\n* SET_BRIGHTNESS_SCALE : Set brightness for device. Requires `brightness_value` in command arguments where `brightness_value` is an integer (1-100).\n* SET_DEVICE_LOCKDOWN_STATE : Set lockdown state for a device. Requires `state` and `message` in command arguments where `state` is LOCKED/UNLOCKED and `message` is the message to be added with command\n* SET_GPS_STATE :Set the GPS state for a device. Requires `gps_state` in command arguments where `gps_state` should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)\n* SET_KIOSK_APP : Command to set the Kiosk app for a device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper. For iOS devices, optionally accepts `disable_device_rotation` (boolean, default false) which disables device rotation sensing while in kiosk mode, and `disable_screen_timeout` (boolean, default true) which disables the screen auto-lock/timeout while in kiosk mode.\n\n* SET_MULTI_APP_MODE : Command to set the device back to multi app mode.\n* SET_NEW_POLICY : Apply policy on device. Requires `policy_url` in command arguments where `policy_url` is the URL to the policy\n* SET_ROTATION_STATE : Set screen orientation. Requires `rotate_state` in command arguments where `rotate_state` should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)\n* SET_SCREEN_OFF_TIMEOUT: Set screen off timeout for a device. Requires `screen_off_timeout` in command arguments where `screen_off_timeout` should be either -1 or between 5000 and 1800000\n* SET_STREAM_VOLUME : Set strema volume for a device. Requires `stream` and `volume_level` in command arguments where `stream` should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music) and `volume_level` should be a value from 0 to 100\n* SET_TIMEZONE : Set the timezone for a device. Requires `timezone_string` in command arguments where `timezone_string` is a valid string representing the timezone\n* SET_WIFI_STATE : Set the wifi state (ON/OFF) for a device. Requires `wifi_state` in command arguments where `wifi_state` is a boolean.\n* UNINSTALL: Uninstall an app from device. Requires `package_name` in command arguments where `package_name` is the app package uploaded on Esper\n* UNINSTALL_CERTIFICATE: Uninstall a certificate from an android device's system keystore using the installed certificate's alias name. Requires `cert_alias_name` and `cert_storage_type` in command arguments where `cert_alias_name` is the alias name of the certificate to be uninstalled and `cert_storage_type` must be set to \"system\"\n* UPDATE_DEVICE_CONFIG: Push additional configurations to the Device\n* UPDATE_HEARTBEAT: Ping a device\n* UPDATE_LATEST_DPC : Prompt device to update the DPC app to the latest versions.\n* WIPE : Wipes the device.\n* RESET_LOCKSCREEN_PASSWORD: Change the lockscreen password of the device. Requires `new_lockscreen_password` in command arguments where `new_lockscreen_password` is a valid string.\n* UPDATE_BLUEPRINT: Pushes or reapplies the most current Blueprint version to the device or group.\n* NOTIFY_DEVICE: Allows you to  broadcast message to the device.\n* SET_DEVICE_LANGUAGE: Set language for a device. Requires locale value in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code.\n* SET_ETHERNET_SETTINGS: Set ethernet settings on supported Device\n* SET_STATIC_IP: Set static ip on the deivce. Requires interface, dhcp_dnabled, static_ip, primary_dns, subnet_mask, gateway, secondary_dns (optional)\n* BEEP_DEVICE: Allows you to make the device beep for a specified duration\n* SET_APP_NOTIFICATIONS: Enable/disable app notifications. Requries `app_notifications_state` and `package_name` in command arguments where `app_notifications_state` is a string that has the value `ENABLED` or `DISABLED` and `package_name` is the app package uploaded on Esper.\n* USE_ONLY_SAVED_WIFI_AP: Allow/disallow device to connect to unregistered WiFi APs. Requires boolean `use_only_saved_ap`..\n* DEVICE_INFORMATION: Prompt device to update the device information\n* VPP_APP_INSTALL: Install a vpp app on an iOS device. Requires `app_id` and `bundle_identifier` in command arguments that corresponds to the associate vpp app\n* APPLE_APP_UNINSTALL: Uninstall an app on an iOS device. Requires `app_id` and `bundle_identifier` in command arguments that corresponds to the associated app\n* CLEAR_PASSCODE: Clear the passcode in a device\n* LIST_INSTALLED_PROFILES: Returns a list of all installed profiles on an iOS device.\n* INSTALL_PROFILE: Install a profile on an iOS device.\n* REMOVE_PROFILE: Remove a profile from an iOS device.\n* RUN_SHELL_SCRIPT: Run a shell script on a Linux or Windows device. Requires `script` and `interpreter` in command arguments.\n* RUN_CUSTOM_ACTION: Run a custom action (script) on a Linux device. Requires custom action parameters in command arguments.\n* COLLECT_LOGS: Collect and upload Esper agent logs from a Linux device.\n* SCHEDULE_OS_UPDATE: Schedule an OS update on an Apple device. Requires `product_version` (string) and `install_action` (string, one of \"Default\", \"DownloadOnly\", \"InstallASAP\") in command_args.\n* OS_UPDATE_STATUS: Query the status of pending or in-progress OS updates on an Apple device.\n* SCAN_OS_UPDATES: Query available OS updates on an Apple device.\n* ENFORCE_OS_UPDATE_SETTINGS: Configure software update settings on an Apple device via DDM (Declarative Device Management). Maps to Apple's `com.apple.configuration.softwareupdate.settings` declaration. Supports `allow_standard_user_os_updates` (boolean), `automatic_actions` (object with `download`, `install_os_updates`, `install_security_update` — each \"allowed\", \"always_on\", or \"always_off\"), `deferrals` (object — must specify EITHER `combined_period_in_days` alone OR all three of `major_period_in_days`, `minor_period_in_days`, `system_period_in_days`; each value 1-90 days; mixing combined with any individual field is rejected), `notifications` (boolean), `rapid_security_response` (object with `enable`, `enable_rollback` — both boolean), and `recommended_cadence` (\"all\", \"oldest\", or \"newest\"). Requires iOS/iPadOS 18.0+ or tvOS 18.4+.\n* ENFORCE_SOFTWARE_UPDATE: Enforce software update on an Apple device. Requires `target_os_version` and `target_local_date_time` in command arguments where `target_os_version` is the OS version to update to and `target_local_date_time` is local date time value that specifies when to force install the software update. Use the format yyyy-mm-ddThh:mm:ss, which is derived from RFC3339 but doesn’t include a time zone offset. If the user doesn’t trigger the software update before this time, the device force installs it. Applicable for iOS/iPadOS 17+ and tvOS 18.4+ after enabling Declarative Device Management (DDM) on the device.\n* SET_OS_UPDATE_POLICY: Allow, disable or schedule automatic updates on a Windows device. Requires `auto_update_type` in command arguments. `auto_update_type` supports \"NOTIFY_DOWNLOAD\", \"AUTO_INSTALL_AND_NOTIFY_RESTART\", \"DEFAULT\", \"SCHEDULED_INSTALL_AND_RESTART\", \"AUTO_INSTALL_AND_RESTART_FORCED\" or \"OFF\".\n"},"children":[]}]}],"enum":["ADD_TO_WHITELIST","ADD_WIFI_AP","APPLY_APP_CONFIG","CLEAR_APP_CACHE","CLEAR_APP_DATA","CONVERGE","INSTALL","INSTALL_CERTIFICATE","LIST_INSTALLED_PROFILES","LOCK","REBOOT","REMOVE_FROM_WHITELIST","REMOVE_PROFILE","REMOVE_WIFI_AP","SET_APP_PERMISSION","SET_APP_STATE","SET_BLUETOOTH_STATE","SET_BRIGHTNESS_SCALE","SET_DEVICE_LOCKDOWN_STATE","SET_GPS_STATE","SET_KIOSK_APP","SET_MULTI_APP_MODE","SET_NEW_POLICY","SET_ROTATION_STATE","SET_SCREEN_OFF_TIMEOUT","SET_STREAM_VOLUME","SET_TIMEZONE","SET_WIFI_STATE","UNINSTALL","UNINSTALL_CERTIFICATE","UPDATE_DEVICE_CONFIG","UPDATE_HEARTBEAT","UPDATE_LATEST_DPC","UPDATE_WIFI_AP","WIPE","RESET_LOCKSCREEN_PASSWORD","UPDATE_BLUEPRINT","NOTIFY_DEVICE","SET_DEVICE_LANGUAGE","SET_ETHERNET_SETTINGS","SET_STATIC_IP","BEEP_DEVICE","SET_APP_NOTIFICATIONS","USE_ONLY_SAVED_WIFI_AP","DEVICE_INFORMATION","VPP_APP_INSTALL","APPLE_APP_UNINSTALL","CLEAR_PASSCODE","INSTALL_PROFILE","RUN_SHELL_SCRIPT","RUN_CUSTOM_ACTION","COLLECT_LOGS","SCAN_OS_UPDATES","SCHEDULE_OS_UPDATE","OS_UPDATE_STATUS","ENFORCE_OS_UPDATE_SETTINGS","ENFORCE_SOFTWARE_UPDATE","SET_OS_UPDATE_POLICY"]}},"components/schemas/commands_CommandArgs":{"id":"components/schemas/commands_CommandArgs","kind":"json-schema","title":"Command args","data":{"title":"Command args","type":"object","properties":{"device_alias_name":{"type":"string","description":"Alternate human-readable name for your Device"},"custom_settings_config":{"type":"object","properties":{},"description":"Managed configurations for your device (passed as JSON object)"},"app_version":{"type":"string","description":"The version id of app uploaded on Esper"},"package_name":{"type":"string","description":"The app package name uploaded on Esper"},"policy_url":{"type":"string","description":"The URL to the policy"},"wifi_access_points":{"type":"object","properties":{},"description":"Wifi access points for the device (passed as JSON object)"},"wifi_ssid":{"type":"string","description":"The Wi-Fi network SSID to update (must be currently connected)"},"wifi_security_type":{"type":"string","enum":["NONE","WEP","WPA","WPA2","SAE","EAP"],"description":"Security type of the Wi-Fi network"},"wifi_password":{"type":"string","description":"Network password (required for WEP/WPA/WPA2)"},"wifi_eap_method":{"type":"string","enum":["PEAP","TLS","TTLS","PWD","SIM","AKA","AKA_PRIME"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EAP method (required when wifi_security_type is EAP)"},"children":[]}]}]}]},"wifi_phase2_auth":{"type":"string","description":"Phase 2 authentication (required for PEAP/TTLS)"},"certificate_file_path":{"type":"string","description":"Path to .pfx or .p12 certificate on device (EAP/TLS)"},"certificate_file_password":{"type":"string","description":"Certificate file password if encrypted"},"identity":{"type":"string","description":"EAP identity or username"},"anonymous_identity":{"type":"string","description":"Outer identity for tunneled EAP methods"},"domain":{"type":"string","description":"Authentication server domain (EAP)"},"hidden":{"type":"boolean","description":"Whether the network is hidden (default false)"},"state":{"type":"string","description":"LOCKED/UNLOCKED"},"message":{"type":"string","description":"Message to be added with command to notify device."},"title":{"type":"string","description":"Message title  to be added with command to notify device."},"url":{"type":"string","description":"(Optional) Link to notify device."},"app_state":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The state of app - SHOW/HIDE/DISABLE/LAUNCHABLE_BUT_HIDDEN"},"children":[]}]}]}]},"bluetooth_state":{"type":"boolean","description":"The state of bluetooth - ON/OFF"},"brightness_value":{"type":"integer","description":"The brightness value of a device(1-100)"},"gps_state":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The GPS state of a device. Should be either 0, 1, 2, 3 or 4 (LOCATION_MODE_HIGH_ACCURACY = 0, LOCATION_MODE_SENSORS_ONLY = 1, LOCATION_MODE_BATTERY_SAVING = 2, LOCATION_MODE_OFF = 3, LOCATION_MODE_ON = 4)"},"children":[]}]}]}]},"rotate_state":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The screen orientation of a device. Should be either 0, 1 or 2 (0 = AUTO, 1 = PORTRAIT_ONLY, 2 = LANDSCAPE_ONLY)"},"children":[]}]}]}]},"screen_off_timeout":{"type":"integer","description":"The value for screen timeout of a device. Should be either -1 or between 5000 and 1800000"},"stream":{"type":"integer","description":"The value of the volume stream. Should be either 0(Ring), 1(Notification), 2(Alarm) or 3(Music)"},"volume_level":{"type":"integer","description":"The level of volume. Should be a value from 0 to 100"},"timezone_string":{"type":"integer","description":"The timezone of a device. Should be a valid timezone string"},"wifi_state":{"type":"boolean","description":"The state of WIFI - ON/OFF"},"wifi_revert_timeout":{"type":"integer","description":"The WIFI revert timeout. Should be greater than or equal to 1"},"locale":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Language and country code in xx[_Zzzz]_yy where xx is language code, Zzzz is script (optional) and yy is country code."},"children":[]}]}]}]},"ethernet_auth_mode":{"type":"string","description":"Chosen mode of authentication","enum":["NONE","EAP_TLS"]},"ethernet_ca_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"CA certificate alias. It is mandatory with Auth Mode EAP_TLS"},"children":[]}]}]}]},"ethernet_client_cert_alias":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Client certificate alias. It is mandatory with Auth Mode EAP_TLS"},"children":[]}]}]}]},"ethernet_eap_identity":{"type":"string","description":"EAP identity"},"interface":{"type":"string","description":"The network interface of the device - wlan/eth"},"dhcp_enabled":{"type":"string","description":"The dhcp state on the device - true/false"},"static_ip":{"type":"string","description":"The static ip to set on the device. Should be a valid ipv4"},"primary_dns":{"type":"string","description":"The primary dns to set on the device. Should be a valid ipv4"},"subnet_mask":{"type":"string","description":"The subnet mask set on the device. Should between 1-32 both inclusive"},"secondary_dns":{"type":"string","description":"The secondary dns to set on the device. Should be a valid ipv4"},"gateway":{"type":"string","description":"The gateway to set on the device. Should be a valid ipv4"},"duration":{"type":"string","description":"The beep duration specified in seconds. Value must be between 10 and 300, both inclusive."},"video_quality":{"type":"string","default":"HIGH","description":"The video quality of the respective Remote Viewer session. Options are \"LOW\", \"MEDIUM\" and \"HIGH\"."},"enable_debug_mode":{"type":"boolean","default":false,"description":"The flag to determine whether device must go into Debug Mode, in order to retreive bug report when the device is already in Kiosk Mode."},"app_id":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier for VPP application in Apple’s ecosystem"},"children":[]}]}]}]},"bundle_identifier":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The unique identifier for an application in Apple’s ecosystem"},"children":[]}]}]}]},"managed_only":{"type":"boolean","description":"If true, list outs only the profiles that was installed via MDM."},"profile_identifier":{"type":"string","description":"The identifier of the profile to remove."},"profile":{"type":"string","description":"Base 64 encoded profile plist to be installed on the device."},"is_converge":{"type":"boolean","description":"This value indicates that the command belongs to a converge action."},"disable_device_rotation":{"type":"boolean","default":false,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Disable device rotation sensing while in kiosk mode (iOS only). Used by SET_KIOSK_APP."},"children":[]}]}]}]},"disable_screen_timeout":{"type":"boolean","default":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Disable screen auto-lock/timeout while in kiosk mode (iOS only). Used by SET_KIOSK_APP. Defaults to true when omitted."},"children":[]}]}]}]},"script":{"type":"string","description":"A complete shell script to execute on Linux or Windows devices."},"interpreter":{"type":"string","description":"Type of interpreter to use for executing the script. e.g. For Linux use bash, zsh, or sh. For Windows use powershell. This field is mandatory."},"execute_as":{"type":"string","description":"User to execute the script as root or Esper (default user) - Optional, default is Esper if not specified. Supports Linux devices."},"arguments":{"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Optional named dynamic arguments supplied at command dispatch time for RUN_CUSTOM_ACTION on Linux devices. When present, command-and-control prepends "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"set -u"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" plus one "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"name='value'"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" bash assignment per entry (in order, single-quote escaped) to the script before it is dispatched. Existing callers that do not set this field are unaffected."},"children":[]}]}]}],"maxItems":20,"items":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Variable name exposed to the script. Must match "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"^[A-Za-z_][A-Za-z0-9_]*$"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}],"minLength":1,"maxLength":64,"pattern":"^[A-Za-z_][A-Za-z0-9_]*$"},"value":{"type":"string","description":"Literal value assigned to the variable. Bash-escaped by the server.","maxLength":10240}}}},"cert_file_type":{"type":"string","description":"Certificate file type. Currently file type of \"pkcs12\" is supported"},"cert_data_base64":{"type":"string","description":"Base64 encoded content of the certificate file"},"cert_alias_name":{"type":"string","description":"Alias name of the certificate to be used during installation or uninstallation"},"cert_storage_type":{"type":"string","description":"Refers to the keystore type to be used for certificate installation or uninstallation. Currently storage type of \"system\" is supported"},"cert_password":{"type":"string","description":"Provides the password if the pkcs12 file is password protected - Optional"},"is_factory_reset":{"type":"boolean","description":"If true, performs factory reset and unenrolls the device. If false, only unenrolls the device without wiping data. Required for WIPE command on Windows devices."},"product_version":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The target OS version to schedule for update on an Apple device (e.g., \"17.4\", \"18.0.1\"). Required for SCHEDULE_OS_UPDATE command."},"children":[]}]}]}]},"install_action":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The install action for the OS update on an Apple device. Required for SCHEDULE_OS_UPDATE command. \"Default\" - Download or install the update depending on the current state. \"DownloadOnly\" - Download the update without installing it. \"InstallASAP\" - Install an already downloaded update immediately."},"children":[]}]}]}],"enum":["Default","DownloadOnly","InstallASAP"]},"allow_standard_user_os_updates":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Allow standard (non-admin) users to accept and install OS updates. For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]}]}]}]},"automatic_actions":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Controls automatic download and install behavior for OS and security updates. For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]}]}]}],"properties":{"download":{"type":"string","description":"Automatic download behavior.","enum":["allowed","always_on","always_off"]},"install_os_updates":{"type":"string","description":"Automatic OS update install behavior.","enum":["allowed","always_on","always_off"]},"install_security_update":{"type":"string","description":"Automatic security update install behavior.","enum":["allowed","always_on","always_off"]}}},"deferrals":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Deferral periods for OS updates (1-90 days each). For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Must specify EITHER "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"combined_period_in_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" alone OR all three of "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"major_period_in_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"minor_period_in_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":", and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"system_period_in_days"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" together. Mixing combined with any individual field is rejected."},"children":[]}]}]}],"oneOf":[{"required":["combined_period_in_days"],"not":{"anyOf":[{"required":["major_period_in_days"]},{"required":["minor_period_in_days"]},{"required":["system_period_in_days"]}]}},{"required":["major_period_in_days","minor_period_in_days","system_period_in_days"],"not":{"required":["combined_period_in_days"]}}],"properties":{"combined_period_in_days":{"type":"integer","description":"Combined deferral period in days (1-90).","minimum":1,"maximum":90},"major_period_in_days":{"type":"integer","description":"Major OS update deferral period in days (1-90).","minimum":1,"maximum":90},"minor_period_in_days":{"type":"integer","description":"Minor OS update deferral period in days (1-90).","minimum":1,"maximum":90},"system_period_in_days":{"type":"integer","description":"System update deferral period in days (1-90).","minimum":1,"maximum":90}}},"notifications":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Whether to show OS update notifications to the user. For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]}]}]}]},"rapid_security_response":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Rapid Security Response settings. For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]}]}]}],"properties":{"enable":{"type":"boolean","description":"Enable Rapid Security Responses (default true)."},"enable_rollback":{"type":"boolean","description":"Enable rollback of Rapid Security Responses (default true)."}}},"recommended_cadence":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Which OS updates to recommend to users. For ENFORCE_OS_UPDATE_SETTINGS command on Apple devices."},"children":[]}]}]}],"enum":["all","oldest","newest"]},"target_os_version":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The target OS version to enforce update to on an Apple device (e.g., \"17.4\", \"18.0.1\"). Required for ENFORCE_SOFTWARE_UPDATE command."},"children":[]}]}]}]},"target_local_date_time":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The local date and time to enforce the software update on an Apple device. Required for ENFORCE_SOFTWARE_UPDATE command. Use the format yyyy-mm-ddThh:mm:ss, which is derived from RFC3339 but doesn’t include a time zone offset."},"children":[]}]}]}]},"auto_update_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The type of auto update behaviour to apply on a Windows device, mapped to the CSP Update/AllowAutoUpdate. Required for SET_OS_UPDATE_POLICY command. NOTIFY_DOWNLOAD notifies before downloading; AUTO_INSTALL_AND_NOTIFY_RESTART auto-installs and notifies to schedule a restart; DEFAULT auto-installs and restarts (system default); SCHEDULED_INSTALL_AND_RESTART auto-installs and restarts at a scheduled time; AUTO_INSTALL_AND_RESTART_FORCED auto-installs and restarts without end-user control; OFF disables automatic updates."},"children":[]}]}]}],"enum":["NOTIFY_DOWNLOAD","AUTO_INSTALL_AND_NOTIFY_RESTART","DEFAULT","SCHEDULED_INSTALL_AND_RESTART","AUTO_INSTALL_AND_RESTART_FORCED","OFF"]}}}},"components/schemas/commands_CommandScheduleEnum":{"id":"components/schemas/commands_CommandScheduleEnum","kind":"json-schema","title":"commands_CommandScheduleEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule types are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n* RECURRING: Schedule the command to execute during the scheduled time until it succeeds or expires. After executing successfully, it will not fire again.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* IMMEDIATE: Schedule the command to execcute Immediately\n* WINDOW: Schedule the command to execute within the given window\n* RECURRING: Schedule the command to execute during the scheduled time until it succeeds or expires. After executing successfully, it will not fire again.\n"},"children":[]}]}],"enum":["IMMEDIATE","WINDOW","RECURRING"]}},"components/schemas/commands_CommandScheduleArgsTimeTypeEnum":{"id":"components/schemas/commands_CommandScheduleArgsTimeTypeEnum","kind":"json-schema","title":"commands_CommandScheduleArgsTimeTypeEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The Time-Type argument, in Schedule args, is to indicate which timezone the Command Framework should utilize when scheduling the command."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule Args for Time-Type are supported:"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* CONSOLE: Use the local timezone of the user creating the schedule.\n* DEVICE: Use the local timezone of the device, to which the command is issued, wherever it may be.\n"},"children":[]}]}],"enum":["console","device"]}},"components/schemas/commands_CommandScheduleArgs":{"id":"components/schemas/commands_CommandScheduleArgs","kind":"json-schema","title":"Command Schedule Arguments","data":{"title":"Command Schedule Arguments","type":"object","properties":{"name":{"type":"string"},"start_datetime":{"type":"string","format":"date-time"},"end_datetime":{"type":"string","format":"date-time"},"time_type":{"$ref":"#/components/schemas/commands_CommandScheduleArgsTimeTypeEnum"},"window_start_time":{"type":"string"},"window_end_time":{"type":"string"},"days":{"type":"array","items":{"type":"string"}}}}},"components/schemas/commands_CommandRequest":{"id":"components/schemas/commands_CommandRequest","kind":"json-schema","title":"commands_CommandRequest","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique command request identifier","format":"uuid","readOnly":true},"command_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifies the type of command"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[]}]}],"enum":["DEVICE","GROUP","DYNAMIC"]},"devices":{"maxItems":1000,"minItems":0,"type":"array","description":"list of devices to run commands","items":{"type":"string","format":"uuid"}},"groups":{"maxItems":500,"minItems":0,"type":"array","description":"list of groups to run commands","items":{"type":"string","format":"uuid"}},"device_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering by device_type is not supported currently and applies to 'all' devices. If 'active' or 'inactive' is specified, it will be ignored."},"children":[]}]}]}],"default":"active","enum":["active","inactive","all"]},"command":{"$ref":"#/components/schemas/commands_DeviceCommandEnum"},"command_args":{"$ref":"#/components/schemas/commands_CommandArgs"},"schedule":{"$ref":"#/components/schemas/commands_CommandScheduleEnum"},"schedule_args":{"$ref":"#/components/schemas/commands_CommandScheduleArgs"},"reason":{"type":"string","description":"details briefing the reason for current command request processing stage"},"created_by":{"type":"string","description":"user id of the user","readOnly":true},"created_at":{"type":"string","description":"Timestamp of command request","format":"date-time","readOnly":true}}}},"components/schemas/commands_Error_401_Unauthorized":{"id":"components/schemas/commands_Error_401_Unauthorized","kind":"json-schema","title":"commands_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/commands_Error_500_Internal_Server_Error":{"id":"components/schemas/commands_Error_500_Internal_Server_Error","kind":"json-schema","title":"commands_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/commands_CommandRequest_POST":{"id":"components/schemas/commands_CommandRequest_POST","kind":"json-schema","title":"commands_CommandRequest_POST","data":{"type":"object","properties":{"command_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Identifies the type of command"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* DEVICE: command request is meant for devices\n* GROUP: command request is meant for groups\n* DYNAMIC: command request is meant for dynamic set of devices\n  i.e subset of devices from different groups or otherwise.\n"},"children":[]}]}],"enum":["DEVICE","GROUP","DYNAMIC"]},"alias":{"type":"string","description":"Another name for the command, provided by the user or Console."},"devices":{"maxItems":1000,"minItems":0,"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of devices to run commands. Required if command_type is 'DEVICE' or 'DYNAMIC'"},"children":[]}]}]}],"items":{"type":"string","format":"uuid"}},"groups":{"maxItems":500,"minItems":0,"type":"array","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"List of groups to run commands. Required if command_type is 'GROUP' or 'DYNAMIC'"},"children":[]}]}]}],"items":{"type":"string","format":"uuid"}},"device_type":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Filtering by device_type is currently not supported. Please specify 'all'."},"children":[]}]}]}],"enum":["all"]},"command":{"$ref":"#/components/schemas/commands_DeviceCommandEnum"},"command_args":{"$ref":"#/components/schemas/commands_CommandArgs"},"schedule":{"$ref":"#/components/schemas/commands_CommandScheduleEnum"},"schedule_args":{"$ref":"#/components/schemas/commands_CommandScheduleArgs"}}}},"components/schemas/commands_Error_400_Bad_Data":{"id":"components/schemas/commands_Error_400_Bad_Data","kind":"json-schema","title":"commands_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/commands_Error_404_Not_Found":{"id":"components/schemas/commands_Error_404_Not_Found","kind":"json-schema","title":"commands_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/commands_CommandRequestStats":{"id":"components/schemas/commands_CommandRequestStats","kind":"json-schema","title":"commands_CommandRequestStats","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"status":{"type":"array","description":"List of each command status associated to its count.","items":{"type":"object","properties":{"state":{"type":"string","description":"State of the command","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"total":{"type":"number","description":"Count of the devices that are in the corresponding command state"}}}}}}},"components/schemas/commands_CommandStatus":{"id":"components/schemas/commands_CommandStatus","kind":"json-schema","title":"commands_CommandStatus","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique command identifier","format":"uuid","readOnly":true},"request":{"title":"Request Id","type":"string","description":"Request Id associated with this command","format":"uuid","readOnly":true},"device":{"title":"Device","type":"string","description":"Device associated with this command","format":"uuid","readOnly":true},"state":{"type":"string","description":"Current state of the command","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"reason":{"type":"string","description":"details briefing the reason for current command state"},"created_at":{"type":"string","description":"Timestamp of command creation","format":"date-time","readOnly":true},"updated_at":{"type":"string","description":"Last updated timestamp of command","format":"date-time","readOnly":true},"command_meta":{"type":"object","nullable":true,"description":"Optional metadata associated with the command execution result. Present only for commands that return structured data from the device.\n","properties":{"result":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Command-specific result data. Structure varies by command type. For OS_UPDATE_STATUS, result is an object with fields: product_key, is_downloaded, download_percent_complete, status, product_version. For SCAN_OS_UPDATES, result is an array of objects with fields: product_key, product_version, build, human_readable_name, is_critical, download_size."},"children":[]}]}]}],"nullable":true}}}}}},"components/schemas/commands_CommandStatus_PUT":{"id":"components/schemas/commands_CommandStatus_PUT","kind":"json-schema","title":"commands_CommandStatus_PUT","data":{"type":"object","properties":{"state":{"type":"string","description":"Command state to update","enum":["Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"reason":{"type":"string","description":"State change reason to update"}}}},"components/schemas/commands_CommandInbox":{"id":"components/schemas/commands_CommandInbox","kind":"json-schema","title":"commands_CommandInbox","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique command identifier","format":"uuid","readOnly":true},"command":{"type":"string","description":"The command to be executed"},"command_args":{"type":"object","description":"Arguments for the command","properties":{"script":{"type":"string","description":"The script to be executed"}}},"device_meta":{"type":"object","description":"Metadata about the device","properties":{"platform":{"type":"string","description":"The platform of the device"}}},"state":{"type":"string","description":"Current state of the command","enum":["Command Queued"]},"created_on":{"type":"string","description":"Timestamp of command creation","format":"date-time","readOnly":true},"updated_on":{"type":"string","description":"Last updated timestamp of command","format":"date-time","readOnly":true}}}},"components/schemas/drift_BlueprintsInfo":{"id":"components/schemas/drift_BlueprintsInfo","kind":"json-schema","title":"drift_BlueprintsInfo","data":{"type":"object","properties":{"blueprint_id":{"type":"string","description":"Unique blueprint ID","format":"uuid"},"blueprint_version_id":{"type":"string","description":"Version ID of blueprint","format":"uuid"}}}},"components/schemas/drift_ScheduleEnum":{"id":"components/schemas/drift_ScheduleEnum","kind":"json-schema","title":"drift_ScheduleEnum","data":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Following Schedule types are supported"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"* WINDOW: Schedule the command to execute within the given window ```\n"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"* WINDOW: Schedule the command to execute within the given window ```\n"},"children":[]}]}],"enum":["IMMEDIATE","WINDOW"]}},"components/schemas/drift_Converge":{"id":"components/schemas/drift_Converge","kind":"json-schema","title":"drift_Converge","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique converge identifier","format":"uuid","readOnly":true},"device_id":{"type":"string","description":"ID of the device","format":"uuid"},"converge_with_provision_option":{"type":"boolean"},"blueprint_info":{"type":"object","$ref":"#/components/schemas/drift_BlueprintsInfo"},"schedule_type":{"$ref":"#/components/schemas/drift_ScheduleEnum"},"schedule_args":{"type":"object"},"status":{"type":"string","description":"Current aggregrated status of the converge action","enum":["QUEUED","PROCESSING","IN_PROGRESS","SUCCESS","FAILURE"]},"reason":{"type":"string","description":"details briefing the reason for current converge status"},"created_by":{"type":"string","description":"user id of the user","readOnly":true},"created_at":{"type":"string","description":"Creation timestamp of converge","format":"date-time","readOnly":true},"updated_at":{"type":"string","description":"Updation timestamp of converge","format":"date-time","readOnly":true}}}},"components/schemas/drift_Error_401_Unauthorized":{"id":"components/schemas/drift_Error_401_Unauthorized","kind":"json-schema","title":"drift_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/drift_Error_500_Internal_Server_Error":{"id":"components/schemas/drift_Error_500_Internal_Server_Error","kind":"json-schema","title":"drift_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/drift_Converge_POST":{"id":"components/schemas/drift_Converge_POST","kind":"json-schema","title":"drift_Converge_POST","data":{"type":"object","properties":{"device_id":{"type":"string","description":"ID of the device","format":"uuid"},"converge_with_provision_option":{"type":"boolean"},"schedule_type":{"$ref":"#/components/schemas/drift_ScheduleEnum"},"schedule_args":{"type":"object"}},"required":["device_id","converge_with_provision_option"]}},"components/schemas/drift_Error_400_Bad_Data":{"id":"components/schemas/drift_Error_400_Bad_Data","kind":"json-schema","title":"drift_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/drift_Error_404_Not_Found":{"id":"components/schemas/drift_Error_404_Not_Found","kind":"json-schema","title":"drift_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/drift_ConvergeCommand":{"id":"components/schemas/drift_ConvergeCommand","kind":"json-schema","title":"drift_ConvergeCommand","data":{"type":"object","properties":{"command_request_id":{"type":"string","description":"ID of the command request","format":"uuid"},"command_state":{"type":"string","description":"Current state of the command","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"reason":{"type":"string","description":"Details briefing the reason for current command state."},"created_at":{"type":"string","description":"Creation timestamp of converge command","format":"date-time","readOnly":true},"updated_at":{"type":"string","description":"Updation timestamp of converge command","format":"date-time","readOnly":true}}}},"components/schemas/drift_BlueprintDriftSummaryResponse":{"id":"components/schemas/drift_BlueprintDriftSummaryResponse","kind":"json-schema","title":"drift_BlueprintDriftSummaryResponse","data":{"type":"object","properties":{"drifted_total":{"type":"integer","description":"Devices with drifted settings (highest severity shown in breakdown fields)"},"compliant_total":{"type":"integer","description":"Devices with no drifted settings"},"critical_total":{"type":"integer","description":"Drifted devices whose highest severity is critical"},"major_total":{"type":"integer","description":"Drifted devices whose highest severity is major"},"minor_total":{"type":"integer","description":"Drifted devices whose highest severity is minor"},"log_only_total":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Drifted devices whose highest severity is log_only"},"children":[]}]}]}]}},"required":["drifted_total","compliant_total","critical_total","major_total","minor_total","log_only_total"]}},"components/schemas/drift_BlueprintDriftStatusItem":{"id":"components/schemas/drift_BlueprintDriftStatusItem","kind":"json-schema","title":"drift_BlueprintDriftStatusItem","data":{"type":"object","properties":{"device_id":{"type":"string","format":"uuid","description":"Device identifier"},"state":{"type":"string","description":"Blueprint Drift status (drifted, compliant, unknown)","enum":["drifted","compliant","unknown"]},"critical_drift_count":{"type":"integer","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Number of drifted settings with severity = 40 (CRITICAL)"},"children":[]}]}]}]}},"required":["device_id","state","critical_drift_count"]}},"components/schemas/drift_BlueprintDriftStatusResponse":{"id":"components/schemas/drift_BlueprintDriftStatusResponse","kind":"json-schema","title":"drift_BlueprintDriftStatusResponse","data":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/drift_BlueprintDriftStatusItem"}}},"required":["results"]}},"components/schemas/drift_BlueprintDriftDeviceSetting":{"id":"components/schemas/drift_BlueprintDriftDeviceSetting","kind":"json-schema","title":"drift_BlueprintDriftDeviceSetting","data":{"type":"object","properties":{"setting":{"type":"string","description":"Setting identifier"},"display_name":{"type":"string","description":"Display name for the setting"},"section":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprint section this setting belongs to (e.g., \"Connectivity\", \"Apps & Configuration\")"},"children":[]}]}]}]},"device_state":{"type":"string","nullable":true,"description":"Current device value (if reported)"},"desired_state":{"type":"string","nullable":true,"description":"Desired state defined by blueprint"},"state":{"type":"string","description":"Blueprint Drift status for the setting","enum":["drifted","compliant"]},"severity":{"type":"string","description":"Blueprint Drift severity","enum":["ignore","critical"]},"drift_calculated_at":{"type":"string","format":"date-time","description":"Timestamp when drift was calculated"},"desired_state_reported_at":{"type":"string","format":"date-time","description":"Timestamp when desired state was reported"},"device_state_reported_at":{"type":"string","format":"date-time","description":"Timestamp when device state was reported"}},"required":["setting","state","severity","drift_calculated_at","desired_state_reported_at","device_state_reported_at"]}},"components/schemas/drift_BlueprintDriftDeviceSettingsResponse":{"id":"components/schemas/drift_BlueprintDriftDeviceSettingsResponse","kind":"json-schema","title":"drift_BlueprintDriftDeviceSettingsResponse","data":{"type":"object","properties":{"device_id":{"type":"string","format":"uuid","description":"Device identifier"},"settings":{"type":"array","items":{"$ref":"#/components/schemas/drift_BlueprintDriftDeviceSetting"}}},"required":["device_id","settings"]}},"components/schemas/device_onboarding_SeamlessRequest":{"id":"components/schemas/device_onboarding_SeamlessRequest","kind":"json-schema","title":"device_onboarding_SeamlessRequest","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"assigned_blueprint_id":{"type":"string","format":"uuid"},"group_id":{"type":"string","format":"uuid","nullable":true},"alias":{"type":"string","nullable":true},"tags":{"type":"array","nullable":true,"maxItems":5,"items":{"type":"string"}},"unique_ids":{"type":"string"},"unique_id_type":{"type":"integer"},"tenant_id":{"type":"string"}}}},"components/schemas/device_onboarding_Error_400_Bad_Data":{"id":"components/schemas/device_onboarding_Error_400_Bad_Data","kind":"json-schema","title":"device_onboarding_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_onboarding_Error_401_Unauthorized":{"id":"components/schemas/device_onboarding_Error_401_Unauthorized","kind":"json-schema","title":"device_onboarding_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_onboarding_Error_500_Internal_Server_Error":{"id":"components/schemas/device_onboarding_Error_500_Internal_Server_Error","kind":"json-schema","title":"device_onboarding_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/device_onboarding_SeamlessInfo":{"id":"components/schemas/device_onboarding_SeamlessInfo","kind":"json-schema","title":"device_onboarding_SeamlessInfo","data":{"type":"object","properties":{"unique_ids":{"type":"string","example":"3e41fd18-d53d-4673-a10a-23089cbb6b73"},"unique_id_type":{"type":"integer","example":2}}}},"components/schemas/device_onboarding_SeamlessRequestBody":{"id":"components/schemas/device_onboarding_SeamlessRequestBody","kind":"json-schema","title":"device_onboarding_SeamlessRequestBody","data":{"type":"object","properties":{"assigned_blueprint_id":{"type":"string","format":"uuid","example":"3e41fd18-d53d-4673-a10a-23089cbb6b73"},"group_id":{"type":"string","format":"uuid","example":"3e41fd18-d53d-4673-a10a-23089cbb6b73"},"alias":{"type":"string","nullable":true,"example":"front-desk-ipad"},"tags":{"type":"array","nullable":true,"maxItems":5,"items":{"type":"string"},"example":["warehouse-a","kiosk"]},"seamless_info":{"$ref":"#/components/schemas/device_onboarding_SeamlessInfo"}}}},"components/schemas/device_onboarding_DEPSyncDeviceStatus":{"id":"components/schemas/device_onboarding_DEPSyncDeviceStatus","kind":"json-schema","title":"device_onboarding_DEPSyncDeviceStatus","data":{"type":"object","properties":{"serial":{"type":"string"},"reason":{"type":"string"}}}},"components/schemas/device_onboarding_DEPSyncRequestForGetResponse":{"id":"components/schemas/device_onboarding_DEPSyncRequestForGetResponse","kind":"json-schema","title":"device_onboarding_DEPSyncRequestForGetResponse","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique DEP sync request identifier","format":"uuid","readOnly":true},"status":{"type":"string","description":"Status of the DEP sync request","enum":["QUEUED","INPROGRESS","COMPLETE","FAILURE","SUCCESS"]},"failure_reason":{"type":"string","description":"Reason for DEP Sync failure. If this field is included in the response, a list of devices with which failed to process DEP sync will also be returned in the API response."},"devices":{"type":"object","properties":{"failure":{"type":"array","items":{"$ref":"#/components/schemas/device_onboarding_DEPSyncDeviceStatus"}}}},"created_by":{"type":"string","description":"user id of the user"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_onboarding_DEPSyncRequest":{"id":"components/schemas/device_onboarding_DEPSyncRequest","kind":"json-schema","title":"device_onboarding_DEPSyncRequest","data":{"type":"object","properties":{"id":{"type":"string","description":"Unique DEP sync request identifier","format":"uuid","readOnly":true},"status":{"type":"string","description":"Status of the DEP sync request","enum":["QUEUED","INPROGRESS","COMPLETE","FAILURE","SUCCESS"]},"created_by":{"type":"string","description":"user id of the user"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/device_onboarding_Error_404_Not_Found":{"id":"components/schemas/device_onboarding_Error_404_Not_Found","kind":"json-schema","title":"device_onboarding_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_APNSCertInfo":{"id":"components/schemas/tenant_APNSCertInfo","kind":"json-schema","title":"tenant_APNSCertInfo","data":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"apple_id":{"type":"string"},"meta":{"type":"object","properties":{"topic":{"type":"string"},"cert_created_at":{"type":"string","format":"date-time"},"cert_expiry_on":{"type":"string","format":"date-time"}}},"state":{"type":"string","description":"state of APNs certificate upload","enum":["CSR_GENERATED","COMPLETED"]},"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"}}}},"components/schemas/tenant_Error_401_Unauthorized":{"id":"components/schemas/tenant_Error_401_Unauthorized","kind":"json-schema","title":"tenant_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_Error_500_Internal_Server_Error":{"id":"components/schemas/tenant_Error_500_Internal_Server_Error","kind":"json-schema","title":"tenant_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_Error_400_Bad_Data":{"id":"components/schemas/tenant_Error_400_Bad_Data","kind":"json-schema","title":"tenant_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_Error_404_Not_Found":{"id":"components/schemas/tenant_Error_404_Not_Found","kind":"json-schema","title":"tenant_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_APNSCert_PUT":{"id":"components/schemas/tenant_APNSCert_PUT","kind":"json-schema","title":"tenant_APNSCert_PUT","data":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"apple_id":{"type":"string"}},"required":["file","apple_id"]}},"components/schemas/tenant_VPPToken":{"id":"components/schemas/tenant_VPPToken","kind":"json-schema","title":"tenant_VPPToken","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"tenant_id":{"type":"string","maxLength":64},"key":{"type":"string","maxLength":256},"meta":{"type":"object"},"created_by":{"type":"string","maxLength":64},"updated_by":{"type":"string","maxLength":64},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["tenant_id","created_by","updated_by"]}},"components/schemas/tenant_DEP_Token_GET":{"id":"components/schemas/tenant_DEP_Token_GET","kind":"json-schema","title":"tenant_DEP_Token_GET","data":{"type":"object","properties":{"id":{"type":"string","format":"UUID","description":"id of DEP token"},"token_name":{"type":"string","description":"name of DEP Token"},"meta":{"type":"object","description":"meta information about the DEP token","properties":{"token_expiry_on":{"type":"string"}}},"state":{"type":"string","description":"state of DEP token upload","enum":["CSR_GENERATED","COMPLETED"]},"created_by":{"type":"string","description":"user id of the user"},"updated_by":{"type":"string","description":"user id of the user"},"created_at":{"type":"string","description":"Timestamp of DEP token creation","readOnly":true},"updated_at":{"type":"string","description":"Timestamp of DEP token creation","readOnly":true}}}},"components/schemas/tenant_DEP_Token_POST":{"id":"components/schemas/tenant_DEP_Token_POST","kind":"json-schema","title":"tenant_DEP_Token_POST","data":{"type":"object"}},"components/schemas/tenant_DEPProfile":{"id":"components/schemas/tenant_DEPProfile","kind":"json-schema","title":"tenant_DEPProfile","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"profile_uuid":{"type":"string"},"show_setup_items":{"type":"array","items":{"type":"string"},"description":"List of setup items to show during device enrollment"},"auto_advance_setup":{"type":"boolean","description":"Whether to automatically advance through setup screens, only applicable to TvOS devices"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/tenant_DEPProfileCreateRequest":{"id":"components/schemas/tenant_DEPProfileCreateRequest","kind":"json-schema","title":"tenant_DEPProfileCreateRequest","data":{"type":"object","properties":{"show_setup_items":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["AccessibilityAppearance","ActionButton","Android","Appearance","AppleID","AppStore","Biometric","CameraButton","DeviceToDeviceMigration","Diagnostics","DisplayTone","EnableLockdownMode","HomeButtonSensitivity","iMessageAndFaceTime","Intelligence","Keyboard","LiquidGlass","Location","MessagingActivationUsingPhoneNumber","Multitasking","OnBoarding","OSShowcase","Passcode","Payment","Privacy","Restore","RestoreCompleted","Safety","SafetyAndHandling","ScreenTime","ScreenSaver","SIMSetup","Siri","SoftwareUpdate","SpokenLanguage","TapToSetup","TermsOfAddress","TOS","TVHomeScreenSync","TVProviderSignIn","TVRoom","UpdateCompleted","WatchMigration","Welcome","Zoom"]},"description":"List of setup items to show during device enrollment. If not provided or empty, all items will be skipped (default behavior)."},"auto_advance_setup":{"type":"boolean","default":true,"description":"Whether to automatically advance through setup screens. Defaults to true if not specified. Only applicable to TvOS devices."}}}},"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest":{"id":"components/schemas/tenant_BeginGoogleEMMEnrollmentRequest","kind":"json-schema","title":"tenant_BeginGoogleEMMEnrollmentRequest","data":{"type":"object","properties":{"callback_url":{"type":"string"}},"required":["callback_url"]}},"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse":{"id":"components/schemas/tenant_BeginGoogleEMMEnrollmentResponse","kind":"json-schema","title":"tenant_BeginGoogleEMMEnrollmentResponse","data":{"type":"object","properties":{"signup_url":{"type":"string"},"completion_token":{"type":"string"}}}},"components/schemas/tenant_Error_409_Conflict":{"id":"components/schemas/tenant_Error_409_Conflict","kind":"json-schema","title":"tenant_Error_409_Conflict","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":409},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/tenant_GoogleEnterpriseDetails":{"id":"components/schemas/tenant_GoogleEnterpriseDetails","kind":"json-schema","title":"tenant_GoogleEnterpriseDetails","data":{"type":"object","properties":{"id":{"type":"integer"},"google_enterprise_id":{"type":"string"},"name":{"type":"string"},"state":{"type":"integer"},"callback_url":{"type":"string"},"signup_url":{"type":"string"},"completion_token":{"type":"string"},"enterprise_token":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"tenant_id":{"type":"string"}}}},"components/schemas/tenant_CreateWebTokenRequest":{"id":"components/schemas/tenant_CreateWebTokenRequest","kind":"json-schema","title":"tenant_CreateWebTokenRequest","data":{"type":"object","properties":{"google_enterprise_id":{"type":"string","description":"The ID of the Google enterprise. It is required and cannot be empty.","example":"test","minLength":1},"parent_url":{"type":"string","description":"The parent URL. It must be a valid URL with the https scheme.","format":"uri","example":"https://valid.url","pattern":"^https://"}},"required":["google_enterprise_id","parent_url"]}},"components/schemas/tenant_CreateWebTokenResponse":{"id":"components/schemas/tenant_CreateWebTokenResponse","kind":"json-schema","title":"tenant_CreateWebTokenResponse","data":{"type":"object","properties":{"token":{"type":"string","description":"The generated token.","example":"test_1245"}}}},"components/schemas/tenant_GoogleServiceAccountDetails":{"id":"components/schemas/tenant_GoogleServiceAccountDetails","kind":"json-schema","title":"tenant_GoogleServiceAccountDetails","data":{"type":"object","properties":{"tenant_id":{"type":"string"},"google_enterprise_id":{"type":"string"},"name":{"type":"string"},"key_id":{"type":"string"},"type":{"type":"integer"},"is_set":{"type":"boolean"},"is_active":{"type":"boolean"},"data":{"type":"string"},"public_data":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}}},"components/schemas/foundation_Build_V1":{"id":"components/schemas/foundation_Build_V1","kind":"json-schema","title":"foundation_Build_V1","data":{"type":"object","properties":{"build_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"deprecated_on":{"type":"string","format":"date-time"},"created_by":{"type":"string"},"updated_by":{"type":"string"},"ab_update":{"type":"boolean"},"android_major_version":{"type":"integer"},"android_minimum_sdk_level":{"type":"integer"},"android_minor_version":{"type":"string"},"android_sdk_level":{"type":"integer"},"build_arch":{"type":"string"},"build_flavor":{"type":"string"},"build_hash":{"type":"string"},"build_ota_hash":{"type":"string"},"build_job_url":{"type":"string"},"build_job_id":{"type":"integer"},"build_fingerprint_hash":{"type":"string"},"build_type":{"type":"string"},"build_url":{"type":"string","format":"url"},"build_update_meta_data":{"type":"string","format":"json"},"build_update_url":{"type":"string","format":"url"},"file_size_kb":{"type":"integer"},"foundation_build_number":{"type":"integer"},"foundation_major_number":{"type":"integer"},"foundation_minor_number":{"type":"integer"},"foundation_name":{"type":"string"},"model_display_name":{"type":"string"},"build_job_params":{"type":"string","format":"json"},"prebuilt_app_info":{"type":"string","format":"json"},"release_notes":{"type":"string","format":"json"},"release_rating":{"type":"string"},"source_build_id":{"type":"string"},"build_state":{"type":"string","enum":["released","to_be_deprecated","unavailable"]},"device_model_id":{"type":"string"},"approved":{"type":"boolean"}}}},"components/schemas/foundation_Error_401_Unauthorized":{"id":"components/schemas/foundation_Error_401_Unauthorized","kind":"json-schema","title":"foundation_Error_401_Unauthorized","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":401},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/foundation_Error_500_Internal_Server_Error":{"id":"components/schemas/foundation_Error_500_Internal_Server_Error","kind":"json-schema","title":"foundation_Error_500_Internal_Server_Error","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":500},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/foundation_Error_404_Not_Found":{"id":"components/schemas/foundation_Error_404_Not_Found","kind":"json-schema","title":"foundation_Error_404_Not_Found","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":404},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/foundation_Foundry_Build_PUT_Request_V1":{"id":"components/schemas/foundation_Foundry_Build_PUT_Request_V1","kind":"json-schema","title":"foundation_Foundry_Build_PUT_Request_V1","data":{"type":"object","properties":{"approve":{"type":"boolean"},"user_remarks":{"type":"string"}}}},"components/schemas/foundation_Error_400_Bad_Data":{"id":"components/schemas/foundation_Error_400_Bad_Data","kind":"json-schema","title":"foundation_Error_400_Bad_Data","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":400},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/foundation_Device_Model_V1":{"id":"components/schemas/foundation_Device_Model_V1","kind":"json-schema","title":"foundation_Device_Model_V1","data":{"type":"object","properties":{"model_display_name":{"type":"string","example":"Motorola Edge 20 - T2E20"},"manufacturer":{"type":"string","example":"Motorola"},"model":{"type":"string","example":"Edge 20"},"profile_name":{"type":"string","example":"Tacobell"},"profile_variant":{"type":"string","example":"T2E20"},"update_compatible_android_api_level_begin":{"type":"integer","example":11},"device_model_id":{"type":"string","format":"uuid","example":"eb566c45-f841-41e5-a0af-435e90a96cae"},"auto_update":{"type":"boolean","example":false},"latest":{"type":"boolean","example":false},"locked_build_id":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time","example":"2023-12-07T17:14:46.419449+05:30"},"updated_at":{"type":"string","format":"date-time","example":"2023-12-07T17:14:46.419449+05:30"},"created_by":{"type":"string","example":"FoundryAdmin"},"updated_by":{"type":"string","example":"FoundryAdmin"}}}},"components/schemas/foundation_Device_Model_PUT_Request_V1":{"id":"components/schemas/foundation_Device_Model_PUT_Request_V1","kind":"json-schema","title":"foundation_Device_Model_PUT_Request_V1","data":{"type":"object","properties":{"auto_update":{"type":"boolean","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Enables/disables automatic updates for the device model. The other properties (latest and locked_build_id) are processed only if autoupdate is set to true."},"children":[]}]}]}]},"latest":{"type":"boolean","description":"Configures Foundry service to automatically lock to the latest approved build (whenever available) if set to true."},"locked_build_id":{"type":"string","description":"Specifies the UUID of the build which needs to be locked for automatic updates."}}}},"components/schemas/foundation_Error_403_Forbidden":{"id":"components/schemas/foundation_Error_403_Forbidden","kind":"json-schema","title":"foundation_Error_403_Forbidden","data":{"type":"object","properties":{"code":{"type":"integer","format":"int32","default":403},"message":{"type":"string"},"content":{"type":"object"}},"required":["code","message"]}},"components/schemas/foundation_Foundry_Event_V1":{"id":"components/schemas/foundation_Foundry_Event_V1","kind":"json-schema","title":"foundation_Foundry_Event_V1","data":{"type":"object","properties":{"stack":{"type":"string"},"tenant":{"type":"string"},"enterprise_id":{"type":"string"},"actor":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}}},"event_message":{"type":"string"},"event_type":{"type":"string"},"resource":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"}}},"meta":{"type":"object","properties":{"user_remarks":{"type":"string"},"change_type":{"type":"string"},"device_model":{"type":"string"}}},"created_timestamp":{"type":"integer"}}}},"components/schemas/reports_GetReportTypesResponse":{"id":"components/schemas/reports_GetReportTypesResponse","kind":"json-schema","title":"reports_GetReportTypesResponse","data":{"type":"object","properties":{"content":{"type":"object","properties":{"report_types":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"display_name":{"type":"string"},"description":{"type":"string"},"last_generated_at":{"type":"string"},"available_from":{"type":"string"}}}}}}}}},"components/schemas/reports_ReportsErrorResponse":{"id":"components/schemas/reports_ReportsErrorResponse","kind":"json-schema","title":"reports_ReportsErrorResponse","data":{"type":"object","properties":{"status":{"type":"integer"},"error":{"type":"string"},"message":{"type":"string"}}}},"components/schemas/reports_DeviceAppsFilter":{"id":"components/schemas/reports_DeviceAppsFilter","kind":"json-schema","title":"reports_DeviceAppsFilter","data":{"type":"object","properties":{"date":{"type":"string","format":"date","example":"2024-08-28","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date of report. If provided, this value will override start_time and end_time values. Example: \"2024-08-28\". Must be a date later than July 1st, 2024."},"children":[]}]}]}]},"package_name":{"type":"array","nullable":true,"items":{"type":"string"},"example":["com.android.chrome"]},"app_state":{"type":"array","nullable":true,"items":{"type":"string","enum":["SHOW","HIDE","DISABLE","LAUNCHABLE_BUT_HIDDEN"]},"example":["SHOW"]},"device_os":{"type":"array","nullable":true,"items":{"type":"string","enum":["Android","iOS"]},"example":["Android"]},"platform":{"type":"array","nullable":true,"items":{"type":"string","enum":["Android","Apple","Linux","Windows"]},"example":["Android"]}}}},"components/schemas/reports_DeviceFilter":{"id":"components/schemas/reports_DeviceFilter","kind":"json-schema","title":"reports_DeviceFilter","data":{"type":"object","properties":{"date":{"type":"string","format":"date","example":"2025-03-17","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Date of report. If provided, this value will override start_time and end_time values. Example: \"2025-03-17\". Must be a date later than May 17th, 2025."},"children":[]}]}]}]},"platform":{"type":"array","nullable":true,"items":{"type":"string","enum":["Android","Apple","Linux","Windows"]},"example":["Android"]}}}},"components/schemas/reports_Report":{"id":"components/schemas/reports_Report","kind":"json-schema","title":"reports_Report","data":{"type":"object","properties":{"report_type":{"type":"string","enum":["device_apps","device"],"example":"device_apps"},"start_time":{"description":"Start time of the report in UTC format. Example: \"2024-08-28T00:00:00Z\". Must be a date and time later than July 1st, 2024.","type":"string","format":"date-time","example":"2024-08-28T00:00:00Z"},"end_time":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"End time of the report in UTC format. Example: \"2024-08-29T00:00:00Z\". Must be a date and time later than July 1st, 2024 and equal to the start_time."},"children":[]}]}]}],"type":"string","format":"date-time","example":"2024-08-28T00:00:00Z"},"is_download":{"type":"boolean"},"filters":{"type":"object","nullable":true,"oneOf":[{"$ref":"#/components/schemas/reports_DeviceAppsFilter"},{"$ref":"#/components/schemas/reports_DeviceFilter"}]}},"required":["report_type"]}},"components/schemas/reports_CreateReportResponse":{"id":"components/schemas/reports_CreateReportResponse","kind":"json-schema","title":"reports_CreateReportResponse","data":{"type":"object","properties":{"content":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED","CLOSED"]}}}}}},"components/schemas/reports_GetReportResponsePreview":{"id":"components/schemas/reports_GetReportResponsePreview","kind":"json-schema","title":"reports_GetReportResponsePreview","data":{"type":"object","properties":{"content":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED","CLOSED"]},"schema":{"type":"object","properties":{"column_count":{"type":"integer"},"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":"integer"},"type_name":{"type":"string"},"type_text":{"type":"string"}}}}}},"data_array":{"type":"array","items":{"type":"array","items":{"type":"string"}}}}}}}},"components/schemas/reports_GetReportResponseDownload":{"id":"components/schemas/reports_GetReportResponseDownload","kind":"json-schema","title":"reports_GetReportResponseDownload","data":{"type":"object","properties":{"content":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["PENDING","RUNNING","SUCCEEDED","FAILED","CANCELED","CLOSED"]},"schema":{"type":"object","properties":{"column_count":{"type":"integer"},"columns":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"position":{"type":"integer"},"type_name":{"type":"string"},"type_text":{"type":"string"}}}}}},"external_link":{"type":"string"}}}}}},"components/schemas/geofence_PolygonGeometry":{"id":"components/schemas/geofence_PolygonGeometry","kind":"json-schema","title":"geofence_PolygonGeometry","data":{"type":"object","description":"Polygon geometry with coordinates as array of coordinate objects","required":["type","coordinates"],"properties":{"type":{"type":"string","enum":["polygon"],"example":"polygon"},"coordinates":{"type":"array","description":"Array of coordinate objects, each containing latitude and longitude","items":{"type":"object","description":"Coordinate object with latitude and longitude","required":["latitude","longitude"],"properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude coordinate","example":41.8902},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude coordinate","example":12.4924}}},"minItems":3,"maxItems":100,"example":[{"latitude":41.8902,"longitude":12.4924},{"latitude":41.8903,"longitude":12.4925},{"latitude":41.8904,"longitude":12.4926}]}}}},"components/schemas/geofence_CircleGeometry":{"id":"components/schemas/geofence_CircleGeometry","kind":"json-schema","title":"geofence_CircleGeometry","data":{"type":"object","description":"Circle geometry with center coordinates and radius","required":["type","coordinates","radius"],"properties":{"type":{"type":"string","enum":["circle"],"example":"circle"},"coordinates":{"type":"array","description":"Array with single coordinate object containing latitude and longitude","minItems":1,"maxItems":1,"items":{"type":"object","description":"Coordinate object with latitude and longitude","required":["latitude","longitude"],"properties":{"latitude":{"type":"number","minimum":-90,"maximum":90,"description":"Latitude coordinate","example":41.8902},"longitude":{"type":"number","minimum":-180,"maximum":180,"description":"Longitude coordinate","example":12.4924}}},"example":[{"latitude":41.8902,"longitude":12.4924}]},"radius":{"type":"number","minimum":0.1,"description":"Radius in meters","example":100}}}},"components/schemas/geofence_GeofenceResponse":{"id":"components/schemas/geofence_GeofenceResponse","kind":"json-schema","title":"geofence_GeofenceResponse","data":{"type":"object","properties":{"id":{"type":"string","format":"uuid","example":"11111111-1111-1111-1111-111111111111","description":"Unique identifier for the geofence"},"name":{"type":"string","example":"Warehouse Perimeter","description":"Name of the geofence"},"description":{"type":"string","example":"A polygon-shaped geofence","description":"Description of the geofence"},"actions":{"type":"array","items":{"type":"string","enum":["lockdown","beep"]},"minItems":0,"maxItems":2,"example":["lockdown","beep"],"description":"Actions configured for this geofence. Empty array means no actions."},"geometry":{"oneOf":[{"$ref":"#/components/schemas/geofence_PolygonGeometry"},{"$ref":"#/components/schemas/geofence_CircleGeometry"}],"discriminator":{"propertyName":"type"}},"created_at":{"type":"string","format":"date-time","example":"2024-06-24T14:00:00Z","description":"When the geofence was created"},"updated_at":{"type":"string","format":"date-time","example":"2024-06-24T15:00:00Z","description":"When the geofence was last updated"}},"required":["id","name","actions","geometry","created_at","updated_at"]}},"components/schemas/geofence_DeviceSummaryResponse":{"id":"components/schemas/geofence_DeviceSummaryResponse","kind":"json-schema","title":"geofence_DeviceSummaryResponse","data":{"type":"object","description":"Summary statistics of devices in relation to a geofence","properties":{"total_devices":{"type":"integer","minimum":0,"description":"Total number of devices associated with the geofence","example":100},"inside_count":{"type":"integer","minimum":0,"description":"Number of devices currently inside the geofence","example":60},"outside_count":{"type":"integer","minimum":0,"description":"Number of devices currently outside the geofence","example":35},"unknown_count":{"type":"integer","minimum":0,"description":"Number of devices with unknown state (neither inside nor outside)","example":5}},"required":["total_devices","inside_count","outside_count","unknown_count"]}},"components/schemas/geofence_BlueprintUsageItem":{"id":"components/schemas/geofence_BlueprintUsageItem","kind":"json-schema","title":"geofence_BlueprintUsageItem","data":{"type":"object","description":"Statistics about blueprint usage within a geofence","properties":{"blueprint_id":{"type":"string","format":"uuid","description":"UUID of the blueprint","example":"550e8400-e29b-41d4-a716-446655440000"},"blueprint_version_number":{"type":"integer","description":"Blueprint version number","example":1},"device_count":{"type":"integer","minimum":0,"description":"Number of devices using this blueprint revision","example":25}},"required":["blueprint_id","blueprint_version_number","device_count"]}},"components/schemas/geofence_GeofenceListResponse":{"id":"components/schemas/geofence_GeofenceListResponse","kind":"json-schema","title":"geofence_GeofenceListResponse","data":{"type":"object","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Geofence response for list operations. Extends GeofenceResponse with optional summary fields when includeSummary=true."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/geofence_GeofenceResponse"},{"type":"object","properties":{"device_summary":{"$ref":"#/components/schemas/geofence_DeviceSummaryResponse","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device statistics for this geofence. Only included when include_summary=true."},"children":[]}]}]}]},"blueprints":{"type":"array","items":{"$ref":"#/components/schemas/geofence_BlueprintUsageItem"},"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Blueprint usage statistics for this geofence (top 5). Only included when include_summary=true."},"children":[]}]}]}]}}}]}},"components/schemas/geofence_ErrorResponse":{"id":"components/schemas/geofence_ErrorResponse","kind":"json-schema","title":"geofence_ErrorResponse","data":{"type":"object","properties":{"message":{"type":"string","description":"Error message","example":"Invalid input"},"content":{"type":"object","description":"Additional error details","example":{}}},"required":["message","content"]}},"components/schemas/geofence_GeofenceRequest":{"id":"components/schemas/geofence_GeofenceRequest","kind":"json-schema","title":"geofence_GeofenceRequest","data":{"type":"object","description":"Request payload for creating a geofence. Specify either a Polygon or Circular geofence.","required":["name","geometry"],"properties":{"name":{"type":"string","minLength":1,"maxLength":255,"example":"Geofence 1","description":"Name of the geofence"},"description":{"type":"string","maxLength":1000,"example":"A geofence that is either polygonal or circular.","description":"Optional description of the geofence"},"actions":{"type":"array","items":{"type":"string","enum":["lockdown","beep"]},"minItems":0,"maxItems":2,"example":["lockdown","beep"],"description":"Actions to trigger when geofence conditions are met. Empty array means no actions."},"geometry":{"oneOf":[{"$ref":"#/components/schemas/geofence_PolygonGeometry"},{"$ref":"#/components/schemas/geofence_CircleGeometry"}],"discriminator":{"propertyName":"type"}}}}},"components/schemas/geofence_DeviceListingItem":{"id":"components/schemas/geofence_DeviceListingItem","kind":"json-schema","title":"geofence_DeviceListingItem","data":{"type":"object","description":"Information about a device and its state within a geofence","properties":{"device_id":{"type":"string","format":"uuid","description":"UUID of the device","example":"660e8400-e29b-41d4-a716-446655440000"},"blueprint_id":{"type":"string","format":"uuid","description":"UUID of the blueprint used by this device","example":"550e8400-e29b-41d4-a716-446655440000"},"blueprint_version_number":{"type":"integer","description":"Blueprint version number used by this device","example":1},"inside":{"type":"boolean","nullable":true,"description":"Whether the device is currently inside the geofence. Null means unknown state.","example":true},"state_changed_at":{"type":"string","format":"date-time","nullable":true,"description":"When the device's geofence state was last changed. Null means unknown time.","example":"2025-07-24T09:00:00Z"},"latitude":{"type":"number","format":"double","nullable":true,"description":"Last known latitude for the device, rounded to 4 decimal places.","example":37.7749},"longitude":{"type":"number","format":"double","nullable":true,"description":"Last known longitude for the device, rounded to 4 decimal places.","example":-122.4194},"location_updated_at":{"type":"string","format":"date-time","nullable":true,"description":"Timestamp when the device location was last updated.","example":"2025-07-24T09:05:00Z"}},"required":["device_id","blueprint_id","blueprint_version_number"]}},"schema_322":{"kind":"json-schema","data":{"type":"string","format":"uuid"},"id":"schema_322"},"schema_323":{"kind":"json-schema","data":{"type":"string"},"id":"schema_323"},"schema_324":{"kind":"json-schema","data":{"type":"boolean"},"id":"schema_324"},"schema_325":{"kind":"json-schema","data":{"type":"integer"},"id":"schema_325"},"schema_326":{"kind":"json-schema","data":{"type":"boolean","default":false},"id":"schema_326"},"schema_327":{"kind":"json-schema","data":{"type":"string","format":"datetime"},"id":"schema_327"},"schema_328":{"kind":"json-schema","data":{"type":"integer","default":20},"id":"schema_328"},"schema_329":{"kind":"json-schema","data":{"type":"integer","default":0},"id":"schema_329"},"schema_330":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Application"}}}},"id":"schema_330"},"schema_331":{"kind":"json-schema","data":{"type":"string","enum":["AVAILABLE","ACCEPTED","APPROVED","REJECTED"]},"id":"schema_331"},"schema_332":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AppVersion"}}}},"id":"schema_332"},"schema_333":{"kind":"json-schema","data":{"type":"object","properties":{"release_name":{"title":"Release name","type":"string","description":"Name of the Release"},"release_comments":{"title":"Release comments","type":"string","description":"Additional comments about the release"},"release_track":{"title":"Release track","type":"string","description":"Description of the content","enum":["Alpha","Beta","Production"]},"is_enabled":{"title":"Is Enabled","type":"boolean","description":"Is the app version enabled"},"min_sdk_version":{"title":"Minimum SDK version","type":"string","description":"Version number of minimum SDK version that supports this app version"},"target_sdk_version":{"title":"Target SDK version","type":"string","description":"Target SDK version that supports this app version"},"build_number":{"title":"Build Number","type":"string","description":"Build number of this app version"},"version_code":{"title":"Version Code","type":"string","description":"Verion code of this app version"},"approval_status":{"title":"Approval Status","type":"string","description":"Approval status of this app version","enum":["AVAILABLE","ACCEPTED","APPROVED","REJECTED"]},"is_default":{"title":"Is default","type":"boolean","description":"Is the app version default"}}},"id":"schema_333"},"schema_334":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_InstallDevices"}}}},"id":"schema_334"},"schema_335":{"kind":"json-schema","data":{"required":["app_file"],"properties":{"app_file":{"type":"string","description":"Valid APK file","format":"binary"}}},"id":"schema_335"},"schema_336":{"kind":"json-schema","data":{"type":"object","properties":{"application":{"$ref":"#/components/schemas/esper_cloud_api_Application"}}},"id":"schema_336"},"schema_337":{"kind":"json-schema","data":{"required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GoogleEnterprise"}}}},"id":"schema_337"},"schema_338":{"kind":"json-schema","data":{"required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GoogleWebToken"}}}},"id":"schema_338"},"schema_339":{"kind":"json-schema","data":{"type":"string","format":"date-time"},"id":"schema_339"},"schema_340":{"kind":"json-schema","data":{"required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GoogleProduct"}}}},"id":"schema_340"},"schema_341":{"kind":"json-schema","data":{"type":"object","properties":{"icon_url":{"type":"string","format":"url"},"is_active":{"title":"Is Active","type":"boolean"},"updated_on":{"type":"string","format":"date-time"},"min_sdk_version":{"title":"Minimum SDK Version","type":"integer"},"unapproved":{"type":"boolean","title":"Unapproving an app deletes it"}}},"id":"schema_341"},"schema_342":{"kind":"json-schema","data":{"type":"object","properties":{"icon_url":{"type":"string","format":"url"},"is_active":{"title":"Is Active","type":"boolean"},"updated_on":{"type":"string","format":"date-time"},"min_sdk_version":{"title":"Minimum SDK Version","type":"integer"}}},"id":"schema_342"},"schema_343":{"kind":"json-schema","data":{"required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GoogleProductInstall"}}}},"id":"schema_343"},"schema_344":{"kind":"json-schema","data":{"required":["count","results"],"properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"properties":{"id":{"type":"string","format":"uuid"},"package_name":{"type":"string"}}}}}},"id":"schema_344"},"schema_345":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_ApplicationV1"}}}},"id":"schema_345"},"schema_346":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AppVersionV1"}}}},"id":"schema_346"},"schema_347":{"kind":"json-schema","data":{"type":"object","properties":{"release_name":{"title":"Release name","type":"string","description":"Name of the Release"},"is_default":{"title":"Is Default","type":"boolean","description":"Is the app version the deafult"},"min_sdk_version":{"title":"Minimum SDK version","type":"string","description":"Version number of minimum SDK version that supports this app version"},"build_number":{"title":"Build Number","type":"string","description":"Build number of this app version"},"version_code":{"title":"Version Code","type":"string","description":"Verion code of this app version"},"approval_status":{"title":"Approval Status","type":"string","description":"Approval status of this app version","enum":["AVAILABLE","ACCEPTED","APPROVED","REJECTED"]}}},"id":"schema_347"},"schema_348":{"kind":"json-schema","data":{"$ref":"#/components/schemas/esper_cloud_api_DeviceStateEnum"},"id":"schema_348"},"schema_349":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"next":{"type":"string","format":"url"},"previous":{"type":"string","format":"url"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceInfo"}}}},"id":"schema_349"},"schema_350":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceApp"}}}},"id":"schema_350"},"schema_351":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AppInstall"}}}},"id":"schema_351"},"schema_352":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceStatus"}}}},"id":"schema_352"},"schema_353":{"kind":"json-schema","data":{"type":"integer","default":250},"id":"schema_353"},"schema_354":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_EventFeed"}}}},"id":"schema_354"},"schema_355":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandRequest"}}}},"id":"schema_355"},"schema_356":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceGroup"}}}},"id":"schema_356"},"schema_357":{"kind":"json-schema","data":{"type":"object","properties":{"image_file":{"type":"string","format":"binary"}}},"id":"schema_357"},"schema_358":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GroupThumbnail"}}}},"id":"schema_358"},"schema_359":{"kind":"json-schema","data":{"required":["content"],"type":"object","properties":{"content":{"items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceSubGroup"}}}},"id":"schema_359"},"schema_360":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"next":{"type":"string","format":"url"},"previous":{"type":"string","format":"url"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandRequest"}}}},"id":"schema_360"},"schema_361":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"next":{"type":"string","format":"url"},"previous":{"type":"string","format":"url"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandStatus1"}}}},"id":"schema_361"},"schema_362":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer","format":"int64"},"next":{"type":"string","format":"url"},"previous":{"type":"string","format":"url"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_V0CommandStatus"}}}},"id":"schema_362"},"schema_363":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_EnterprisePolicy"}}}},"id":"schema_363"},"schema_364":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Geofence"}}}},"id":"schema_364"},"schema_365":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Content"}}}},"id":"schema_365"},"schema_366":{"kind":"json-schema","data":{"type":"object","properties":{"tags":{"title":"Tags","type":"array","description":"Tags for the content","items":{"maxLength":255,"type":"string"}},"description":{"title":"Description","type":"string","description":"Description of the content"}}},"id":"schema_366"},"schema_367":{"kind":"json-schema","data":{"required":["key"],"properties":{"key":{"type":"string","description":"Valid file to upload","format":"binary"}}},"id":"schema_367"},"schema_368":{"kind":"json-schema","data":{"required":["file"],"properties":{"file":{"type":"string","description":"The file to upload (max 50MB)","format":"binary"},"filename":{"type":"string","description":"Custom filename (optional, defaults to uploaded file name)"},"content_type":{"type":"string","description":"MIME type of the file (optional, auto-detected)"}}},"id":"schema_368"},"schema_369":{"kind":"json-schema","data":{"type":"object","properties":{"file_key":{"type":"string","description":"Unique storage key for the file","example":"123/files/document_abc123.pdf"},"bucket":{"type":"string","description":"Storage bucket name","example":"REMOTE_FILE_MANAGER"},"file_size":{"type":"integer","description":"Size of uploaded file in bytes","example":1048576},"content_type":{"type":"string","description":"Detected/validated MIME type","example":"application/pdf"},"auto_delete_after_minutes":{"type":"integer","description":"When file will be auto-deleted","example":1440},"download_url":{"type":"string","description":"Pre-signed URL for downloading the file","example":"https://s3.amazonaws.com/REMOTE_FILE_MANAGER/123/files/document_abc123.pdf?AWSAccessKeyId=..."},"download_expires_in":{"type":"integer","description":"Download URL expiration time in seconds","example":3600}}},"id":"schema_369"},"schema_370":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"No file provided"}}},"id":"schema_370"},"schema_371":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"File size exceeds maximum allowed size of 52428800 bytes"}}},"id":"schema_371"},"schema_372":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"Failed to upload file"}}},"id":"schema_372"},"schema_373":{"kind":"json-schema","data":{"required":["file_key"],"properties":{"file_key":{"type":"string","description":"The storage key of the file to download","example":"123/files/document_abc123.pdf"},"expires_in":{"type":"integer","description":"URL expiration time in seconds (optional, default 3600)","default":3600,"minimum":60,"maximum":86400}}},"id":"schema_373"},"schema_374":{"kind":"json-schema","data":{"type":"object","properties":{"file_key":{"type":"string","description":"The storage key of the file","example":"123/files/document_abc123.pdf"},"download_url":{"type":"string","description":"Pre-signed URL for downloading the file","example":"https://s3.amazonaws.com/REMOTE_FILE_MANAGER/123/files/document_abc123.pdf?AWSAccessKeyId=..."},"expires_in":{"type":"integer","description":"URL expiration time in seconds","example":3600}}},"id":"schema_374"},"schema_375":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"file_key is required"}}},"id":"schema_375"},"schema_376":{"kind":"json-schema","data":{"type":"object","properties":{"error":{"type":"string","example":"Failed to generate download URL"}}},"id":"schema_376"},"schema_377":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"userinvites":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_TenantUserInviteResponse"}}}},"id":"schema_377"},"schema_378":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_UserList"}}}},"id":"schema_378"},"schema_379":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string"},"previous":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Blueprint"}}}},"id":"schema_379"},"schema_380":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string"},"previous":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_BlueprintRevision"}}}},"id":"schema_380"},"schema_381":{"kind":"json-schema","data":{"type":"object","properties":{"revision_id":{"type":"string","format":"uuid"}}},"id":"schema_381"},"schema_382":{"kind":"json-schema","data":{"type":"object","properties":{"file":{"type":"string","format":"binary"}}},"id":"schema_382"},"schema_383":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DirectoryRecord"}}}},"id":"schema_383"},"schema_384":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_TileIcon"}}}},"id":"schema_384"},"schema_385":{"kind":"json-schema","data":{"required":["icon_file","device_model","enterprise"],"properties":{"icon_file":{"type":"string","description":"Valid file to upload","format":"path"},"device_model":{"type":"string","description":"Device model"},"enterprise":{"type":"string","format":"uuid","description":"UUID string representing enterprise of tile icon"}}},"id":"schema_385"},"schema_386":{"kind":"json-schema","data":{"required":["model"],"properties":{"model":{"type":"string","description":"Model of device"}}},"id":"schema_386"},"schema_387":{"kind":"json-schema","data":{"properties":{"model":{"type":"string","description":"Model of device"}}},"id":"schema_387"},"schema_388":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AlertChannelsV1"}}}},"id":"schema_388"},"schema_389":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_AlarmRule"}}}},"id":"schema_389"},"schema_390":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Wallpaper"}}}},"id":"schema_390"},"schema_391":{"kind":"json-schema","data":{"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"}}},"id":"schema_391"},"schema_392":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceLocations"}}}},"id":"schema_392"},"schema_393":{"kind":"json-schema","data":{"type":"number","format":"double"},"id":"schema_393"},"schema_394":{"kind":"json-schema","data":{"$ref":"#/components/schemas/esper_cloud_api_SecurityStatesEnum"},"id":"schema_394"},"schema_395":{"kind":"json-schema","data":{"type":"string","description":"Add group names to filter by comma separating"},"id":"schema_395"},"schema_396":{"kind":"json-schema","data":{"type":"string","format":"uuid","description":"Add group UUID to filter by comma separating"},"id":"schema_396"},"schema_397":{"kind":"json-schema","data":{"type":"string","format":"boolean","description":"Allowed values are True, False, true, false, 1, 0."},"id":"schema_397"},"schema_398":{"kind":"json-schema","data":{"type":"integer","description":"List of android versions- comma separated."},"id":"schema_398"},"schema_399":{"kind":"json-schema","data":{"type":"string","description":"List of network types, comma separated."},"id":"schema_399"},"schema_400":{"kind":"json-schema","data":{"type":"string","description":"List of templates, comma separated."},"id":"schema_400"},"schema_401":{"kind":"json-schema","data":{"type":"string","description":"List of policy names, comma separated."},"id":"schema_401"},"schema_402":{"kind":"json-schema","data":{"type":"string","description":"City or state can be used to filter location."},"id":"schema_402"},"schema_403":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceTiles"}}}},"id":"schema_403"},"schema_404":{"kind":"json-schema","data":{"type":"object","properties":{"reportAvailabilityFrom":{"type":"string","format":"date-time"},"enableReports**Workflow**":{"type":"boolean"}}},"id":"schema_404"},"schema_405":{"kind":"json-schema","data":{"type":"boolean","default":true},"id":"schema_405"},"schema_406":{"kind":"json-schema","data":{"type":"array","items":{"properties":{"group_id":{"type":"string","format":"uuid"},"group_name":{"type":"string"},"group_path":{"type":"string"},"active_devices":{"type":"integer"},"inactive_devices":{"type":"integer"},"registered_devices":{"type":"integer"},"new_devices":{"type":"integer"},"disabled_devices":{"type":"integer"},"device_status_reports":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_DeviceStatusReport"}}}}},"id":"schema_406"},"schema_407":{"kind":"json-schema","data":{"type":"object","properties":{"peak_active_devices":{"type":"integer"},"provisioned_devices":{"type":"integer"},"registered_devices":{"type":"integer"}}},"id":"schema_407"},"schema_408":{"kind":"json-schema","data":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_GroupReport"}},"id":"schema_408"},"schema_409":{"kind":"json-schema","data":{"required":["count","results"],"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string","format":"url","nullable":true},"previous":{"type":"string","format":"url","nullable":true},"results":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_Subscription"}}}},"id":"schema_409"},"schema_410":{"kind":"json-schema","data":{"required":["email_ids"],"properties":{"email_ids":{"type":"array","items":{"type":"string","format":"email"}}}},"id":"schema_410"},"schema_411":{"kind":"json-schema","data":{"required":["email_ids"],"properties":{"email_ids":{"type":"array","items":{"type":"string","format":"email"}},"is_subscribed":{"type":"boolean"}}},"id":"schema_411"},"schema_412":{"kind":"json-schema","data":{"properties":{"email_ids":{"type":"array","items":{"type":"string","format":"email"}},"is_subscribed":{"type":"boolean"}}},"id":"schema_412"},"schema_413":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"connections":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_CustomConnectionsListResponse"}}}},"id":"schema_413"},"schema_414":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"roles":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_RoleResponse"}}}},"id":"schema_414"},"schema_415":{"kind":"json-schema","data":{"type":"object","properties":{"scope_ids":{"type":"array","items":{"type":"string"}},"scope_names":{"type":"array","items":{"type":"string","enum":["read:device","read:group","read:blueprint","read:directory_record","create:device_command:SET_DEVICE_LOCKDOWN_STATE","create:device_command:REBOOT","create:device_command:BEEP_DEVICE","create:device_command:WIPE","create:device_command:UPDATE_HEARTBEAT","create:device_command:NOTIFY_DEVICE","create:device_command:LOCK","create:device_command:SET_KIOSK_APP","update:device:group","create:device:tag","update:device:tag","delete:device:tag","update:device:alias","create:template_upgrade","create:device_command:SET_STREAM_VOLUME","create:device_command:SET_BRIGHTNESS_SCALE","create:device_command:SET_ROTATION_STATE","create:device_command:SET_SCREEN_OFF_TIMEOUT","create:device_command:SET_WALLPAPER","create:device_command:SET_WIFI_STATE","create:device_command:ADD_WIFI_AP","create:device_command:REMOVE_WIFI_AP","create:device_command:UPDATE_WIFI_AP","create:device_command:SET_STATIC_IP","create:device_command:SET_ETHERNET_SETTINGS","create:device_command:SET_GPS_STATE","create:device_command:SET_BLUETOOTH_STATE","create:device_command:SET_TIMEZONE","create:device_command:SET_ADB_STATE","create:device_command:UPDATE_DEVICE_CONFIG","create:device_command:UPDATE_BLUEPRINT","create:device_command:SHUT_DOWN","create:device_command:CLEAR_PASSCODE","create:device_command:LOST_MODE","read:device_app","create:device_command:REFRESH_APPLIST","create:device_command:INSTALL","create:device_command:INSTALL_APP","create:device_command:UNINSTALL","create:device_command:UNINSTALL_APP","create:device_command:SET_APP_STATE","create:device_command:CLEAR_APP_DATA","create:device_command:CLEAR_APP_CACHE","create:device_command:SET_APP_PERMISSION","create:device_command:REQUEST_BUGREPORT","create:device_command:SET_NEW_POLICY","create:group_command:SET_NEW_POLICY","create:group","create:group_command:REBOOT","create:group_command:LOCK","create:group_command:UPDATE_HEARTBEAT","create:group_command:WIPE","create:group_command:NOTIFY_DEVICE","create:group_command:SET_KIOSK_APP","create:group_command:SET_STREAM_VOLUME","create:group_command:SET_BRIGHTNESS_SCALE","create:group_command:SET_ROTATION_STATE","create:group_command:SET_SCREEN_OFF_TIMEOUT","create:group_command:SET_WALLPAPER","create:group_command:SET_WIFI_STATE","create:group_command:ADD_WIFI_AP","create:group_command:REMOVE_WIFI_AP","create:group_command:UPDATE_WIFI_AP","create:group_command:SET_STATIC_IP","create:group_command:SET_ETHERNET_SETTINGS","create:group_command:SET_GPS_STATE","create:group_command:SET_BLUETOOTH_STATE","create:group_command:SET_TIMEZONE","create:group_command:SET_ADB_STATE","create:group_command:UPDATE_DEVICE_CONFIG","create:group_command:UPDATE_BLUEPRINT","create:group_command:INSTALL","create:group_command:INSTALL_APP","create:group_command:UNINSTALL","create:group_command:UNINSTALL_APP","create:group_command:SET_APP_STATE","create:device_command:INITIATE_OFFER","read:device_screenshot","create:device_command:CAPTURE_SCREENSHOT","create:device_screenshot","read:device_graph","read:event_feed","create:blueprint","update:blueprint","delete:blueprint","create:device_command:CONVERGE","update:device:blueprint","update:group:blueprint","provision:device","read:compliance_policy","create:compliance_policy","update:compliance_policy","delete:compliance_policy","read:provisioning_template","create:provisioning_template","update:provisioning_template","delete:provisioning_template","create:provisioning_template:imei_serial","update:provisioning_template:imei_serial","delete:provisioning_template:imei_serial","update:provisioning_template:wifi_management","read:app","read:emm","create:emm","update:emm","create:app:esper_android","update:app:esper_android","delete:app:esper_android","read:alert","read:pipeline","read:geofence","read:report","create:report","read:personal_access_token","create:personal_access_token","update:personal_access_token","delete:personal_access_token","read:foundation_build","read:foundation_device_model","update:foundation_build","update:foundation_device_model","read:foundry_event","update:command","read:user:group","create:app:esper_ios","update:app:esper_ios","delete:app:esper_ios","create:operation:CONVERGE","create:operation:REBOOT","create:operation:INSTALL","create:operation:UNINSTALL","create:operation:APP_INSTALL","create:operation:APP_UNINSTALL","read:operation","update:operation","read:operation:devices","read:device:operations","update:operation:devices","create:device_command:RUN_SHELL_SCRIPT","create:remote_terminal","read:report:query","create:report:query","read:report:saved_query","create:report:saved_query","update:report:saved_query","delete:report:saved_query","create:device_command:REMOVE_DEVICE","read:report:ingest","create:report:ingest","read:esper_apps","create:device_command:RUN_CUSTOM_ACTION","create:device_command:LIST_RESTRICTED_PROFILES","create:device_command:LIST_PROVISIONING_PROFILES","create:group_command:SYNC_CONTENT","create:device_command:SYNC_CONTENT"]}}}},"id":"schema_415"},"schema_416":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"scopes":{"type":"array","items":{"$ref":"#/components/schemas/esper_cloud_api_ScopeResponse"}}}},"id":"schema_416"},"schema_417":{"kind":"json-schema","data":{"type":"object","properties":{"name":{"type":"string","description":"name for the token."},"description":{"type":"string","description":"description for the token."},"expiry_at":{"type":"integer","description":"exipy date for token."}},"required":["name","description","expiry_at"]},"id":"schema_417"},"schema_418":{"kind":"json-schema","data":{"type":"object","properties":{"expiry_at":{"type":"integer","description":"exipy date for token."}},"required":["expiry_at"]},"id":"schema_418"},"schema_419":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","format":"int64","description":"The number of objects in the result set"},"next":{"type":"string","description":"The link to retrieve the next set of objects in the result set"},"previous":{"type":"string","description":"The link to retrieve the previous set of objects in the result set"},"results":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_BlueprintV2"}},"message":{"type":"string"},"code":{"type":"integer"}}}}},"id":"schema_419"},"schema_420":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_BlueprintV2"},"message":{"type":"string"},"code":{"type":"integer","enum":[201]}}},"id":"schema_420"},"schema_421":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"string"},"message":{"type":"string"},"code":{"type":"integer","enum":[400]}}},"id":"schema_421"},"schema_422":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object"},"message":{"type":"string"},"code":{"type":"integer","enum":[404]}}},"id":"schema_422"},"schema_423":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_BlueprintV2"},"message":{"type":"string"},"code":{"type":"string","enum":[201]}}},"id":"schema_423"},"schema_424":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"string"},"message":{"type":"string"},"code":{"type":"string","enum":[3456]}}},"id":"schema_424"},"schema_425":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object"},"message":{"type":"string"},"code":{"type":"string","enum":[3456]}}},"id":"schema_425"},"schema_426":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object"},"message":{"type":"string"},"code":{"type":"string","enum":[201]}}},"id":"schema_426"},"schema_427":{"kind":"json-schema","data":{"type":"integer","minimum":1,"maximum":100,"default":10},"id":"schema_427"},"schema_428":{"kind":"json-schema","data":{"type":"integer","minimum":0,"default":0},"id":"schema_428"},"schema_429":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","format":"int64","description":"The total number of custom actions"},"next":{"type":"string","nullable":true,"description":"The link to retrieve the next set of objects in the result set"},"previous":{"type":"string","nullable":true,"description":"The link to retrieve the previous set of objects in the result set"},"results":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_CustomActionRead"}}}},"message":{"type":"string"},"code":{"type":"integer"}}},"id":"schema_429"},"schema_430":{"kind":"json-schema","data":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"string"}},"message":{"type":"string"},"code":{"type":"integer","enum":[400]}}},"id":"schema_430"},"schema_431":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_CustomActionRead"},"message":{"type":"string"},"code":{"type":"integer","enum":[201]}}},"id":"schema_431"},"schema_432":{"kind":"json-schema","data":{"type":"object","properties":{"errors":{"type":"array","items":{"type":"object"}},"message":{"type":"string"},"code":{"type":"integer","enum":[400]}}},"id":"schema_432"},"schema_433":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[409]}}},"id":"schema_433"},"schema_434":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[500]}}},"id":"schema_434"},"schema_435":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_CustomActionRead"},"message":{"type":"string"},"code":{"type":"integer","enum":[200]}}},"id":"schema_435"},"schema_436":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[404]}}},"id":"schema_436"},"schema_437":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[400]}}},"id":"schema_437"},"schema_438":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[200]}}},"id":"schema_438"},"schema_439":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_platformScript"},"message":{"type":"string"},"code":{"type":"integer","enum":[200]}}},"id":"schema_439"},"schema_440":{"kind":"json-schema","data":{"type":"object","properties":{"message":{"type":"string"},"code":{"type":"integer","enum":[403]}}},"id":"schema_440"},"schema_441":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_BackgroundScriptRead"},"message":{"type":"string"},"code":{"type":"integer","enum":[201]}}},"id":"schema_441"},"schema_442":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","format":"int64","description":"The total number of background scripts"},"next":{"type":"string","nullable":true,"description":"The link to retrieve the next set of objects in the result set"},"previous":{"type":"string","nullable":true,"description":"The link to retrieve the previous set of objects in the result set"},"results":{"type":"array","items":{"$ref":"#/components/schemas/blueprints_BackgroundScriptRead"}}}},"message":{"type":"string"},"code":{"type":"integer"}}},"id":"schema_442"},"schema_443":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/blueprints_BackgroundScriptDetailRead"},"message":{"type":"string"},"code":{"type":"integer","enum":[200]}}},"id":"schema_443"},"schema_444":{"kind":"json-schema","data":{"type":"boolean","enum":[true,false]},"id":"schema_444"},"schema_445":{"kind":"json-schema","data":{"type":"string","enum":["name","-name"]},"id":"schema_445"},"schema_446":{"kind":"json-schema","data":{"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_Pipeline"}}}}}},"id":"schema_446"},"schema_447":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_Pipeline"}}},"id":"schema_447"},"schema_448":{"kind":"json-schema","data":{"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_Stage"}}}}}},"id":"schema_448"},"schema_449":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_Stage"}}},"id":"schema_449"},"schema_450":{"kind":"json-schema","data":{"type":"string","enum":["groups","devices","collections"]},"id":"schema_450"},"schema_451":{"kind":"json-schema","data":{"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_TargetList"}}}}}},"id":"schema_451"},"schema_452":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_TargetList"}}},"id":"schema_452"},"schema_453":{"kind":"json-schema","data":{"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"}}}}}},"id":"schema_453"},"schema_454":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_Target"}}},"id":"schema_454"},"schema_455":{"kind":"json-schema","data":{"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":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Device alias (optional, stored in device_meta)"},"children":[]}]}]}]},"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)"}}}}]},"id":"schema_455"},"schema_456":{"kind":"json-schema","data":{"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":[]}}}}},"id":"schema_456"},"schema_457":{"kind":"json-schema","data":{"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_TargetListDeviceGroup"}}}}}},"id":"schema_457"},"schema_458":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"type":"array","items":{"type":"string","format":"uuid"}}}},"id":"schema_458"},"schema_459":{"kind":"json-schema","data":{"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_Device"}}}}}},"id":"schema_459"},"schema_460":{"kind":"json-schema","data":{"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_OperationList"}}}}}},"id":"schema_460"},"schema_461":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_OperationList"}}},"id":"schema_461"},"schema_462":{"kind":"json-schema","data":{"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_Operation"}}}}}},"id":"schema_462"},"schema_463":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_Operation"}}},"id":"schema_463"},"schema_464":{"kind":"json-schema","data":{"type":"string","enum":["pending","queued","processing","running","waiting","complete","success","failure","cancelled","invalid","timeout"]},"id":"schema_464"},"schema_465":{"kind":"json-schema","data":{"type":"string","enum":["run_number","-run_number","status","-status","pipeline__name","-pipeline__name","started_at","-started_at","ended_at","-ended_at"]},"id":"schema_465"},"schema_466":{"kind":"json-schema","data":{"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"}}}}}},"id":"schema_466"},"schema_467":{"kind":"json-schema","data":{"type":"string","enum":["run_number","-run_number","status","-status","started_at","-started_at","ended_at","-ended_at"]},"id":"schema_467"},"schema_468":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_PipelineRun"}}},"id":"schema_468"},"schema_469":{"kind":"json-schema","data":{"type":"string","enum":["pending","queued","processing","running","complete","success","failure","cancelled","invalid","timeout"]},"id":"schema_469"},"schema_470":{"kind":"json-schema","data":{"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_StageRun"}}}}}},"id":"schema_470"},"schema_471":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_StageRun"}}},"id":"schema_471"},"schema_472":{"kind":"json-schema","data":{"type":"object","properties":{"status":{"type":"string","enum":["pending","queued","processing","running","complete","success","failure","cancelled","invalid","timeout"]}}},"id":"schema_472"},"schema_473":{"kind":"json-schema","data":{"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_StageRunOperation"}}}}}},"id":"schema_473"},"schema_474":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_StageRunOperation"}}},"id":"schema_474"},"schema_475":{"kind":"json-schema","data":{"type":"string","enum":["pending","queued","processing","dispatched","running","complete","success","failure","cancelled","invalid","timeout"]},"id":"schema_475"},"schema_476":{"kind":"json-schema","data":{"type":"string","enum":["status","-status"]},"id":"schema_476"},"schema_477":{"kind":"json-schema","data":{"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_TargetRun"}}}}}},"id":"schema_477"},"schema_478":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"type":"array","items":{"$ref":"#/components/schemas/pipelines_TargetRun"}}}},"id":"schema_478"},"schema_479":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_TargetRun"}}},"id":"schema_479"},"schema_480":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/pipelines_CommandResponse"}}},"id":"schema_480"},"schema_481":{"kind":"json-schema","data":{"type":"string","enum":["alias","created_at","last_seen","model","os_version","name","onboarded_on","serial","provisioned_on","battery_level","dpc_version","eea_version","is_gms","security_state","wifi_ssid","platform","template_name"]},"id":"schema_481"},"schema_482":{"kind":"json-schema","data":{"type":"string","enum":["ANDROID","APPLE","LINUX","WINDOWS"]},"id":"schema_482"},"schema_483":{"kind":"json-schema","data":{"type":"string","enum":["iOS","iPadOS","tvOS","Android","Linux","Windows"]},"id":"schema_483"},"schema_484":{"kind":"json-schema","data":{"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":{"oneOf":[{"$ref":"#/components/schemas/device_AndroidDevice"},{"$ref":"#/components/schemas/device_AppleDevice"},{"$ref":"#/components/schemas/device_LinuxDevice"},{"$ref":"#/components/schemas/device_WindowsDevice"}]}}}}}},"id":"schema_484"},"schema_485":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"oneOf":[{"$ref":"#/components/schemas/device_AppleDevice"},{"$ref":"#/components/schemas/device_AndroidDevice"},{"$ref":"#/components/schemas/device_LinuxDevice"},{"$ref":"#/components/schemas/device_WindowsDevice"}]}}},"id":"schema_485"},"schema_486":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"oneOf":[{"$ref":"#/components/schemas/device_AppleDevice"},{"$ref":"#/components/schemas/device_LinuxDevice"},{"$ref":"#/components/schemas/device_WindowsDevice"}]}}},"id":"schema_486"},"schema_487":{"kind":"json-schema","data":{"type":"object","required":["device_settings"],"properties":{"event_ts":{"type":"number","description":"Event timestamp in milliseconds since epoch"},"device_settings":{"type":"object","description":"Partial settings payload containing only changed keys (sparse object)","additionalProperties":true}},"additionalProperties":true},"id":"schema_487"},"schema_488":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object"}}},"id":"schema_488"},"schema_489":{"kind":"json-schema","data":{"type":"integer","default":10,"maximum":1000},"id":"schema_489"},"schema_490":{"kind":"json-schema","data":{"type":"string","example":"start"},"id":"schema_490"},"schema_491":{"kind":"json-schema","data":{"type":"string","enum":["alias","created_at","last_seen","model","os_version","name","serial","provisioned_on","battery_level","dpc_version","eea_version","is_gms","security_state","wifi_ssid","platform","template_name","policy_name","state"]},"id":"schema_491"},"schema_492":{"kind":"json-schema","data":{"type":"string","enum":["BLUEPRINT","TEMPLATE"]},"id":"schema_492"},"schema_493":{"kind":"json-schema","data":{"type":"string","example":"id,name,created_at"},"id":"schema_493"},"schema_494":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"oneOf":[{"$ref":"#/components/schemas/device_OffsetPaginatedDeviceList"},{"$ref":"#/components/schemas/device_CursorPaginatedDeviceList"}]}}},"id":"schema_494"},"schema_495":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"oneOf":[{"$ref":"#/components/schemas/device_AppleDeviceV2"},{"$ref":"#/components/schemas/device_AndroidDeviceV2"},{"$ref":"#/components/schemas/device_LinuxDeviceV2"},{"$ref":"#/components/schemas/device_WindowsDeviceV2"}]}}},"id":"schema_495"},"schema_496":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_DeviceTagsResponse"}}},"id":"schema_496"},"schema_497":{"kind":"json-schema","data":{"type":"integer","default":10},"id":"schema_497"},"schema_498":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of distinct foundation versions"},"prev":{"type":"string","description":"URL to the previous page of results"},"next":{"type":"string","description":"URL to the next page of results"},"results":{"type":"array","items":{"type":"object","properties":{"foundation_version":{"type":"string","description":"The foundation version string"}}}}}},"id":"schema_498"},"schema_499":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/device_EsperDeviceHeartbeat"}}},"id":"schema_499"},"schema_500":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-08-29T00:00:00Z"},"id":"schema_500"},"schema_501":{"kind":"json-schema","data":{"type":"string","format":"date-time","example":"2023-08-30T00:00:00Z"},"id":"schema_501"},"schema_502":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/device_DeviceLastSeen"}}},"id":"schema_502"},"schema_503":{"kind":"json-schema","data":{"type":"string","enum":["VPP","TENANT_IOS","ESPER_IOS","WEBCLIP","ESPER_WINDOWS","TENANT_WINDOWS","TENANT_WINDOWS_EXE","TENANT_WINDOWS_UWP"]},"id":"schema_503"},"schema_504":{"kind":"json-schema","data":{"type":"object","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/device_DeviceAppsResponse"}}}},"id":"schema_504"},"schema_505":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"prev":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"type":"object","properties":{"device_id":{"type":"string","format":"uuid"}}}}}},"id":"schema_505"},"schema_506":{"kind":"json-schema","data":{"type":"string","default":"false"},"id":"schema_506"},"schema_507":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_GoogleEMMDevice"}}},"id":"schema_507"},"schema_508":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_GoogleAccount"}}}}}},"id":"schema_508"},"schema_509":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_GoogleAccountUpdateResponseBody"}}},"id":"schema_509"},"schema_510":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_GoogleAccount"}}},"id":"schema_510"},"schema_511":{"kind":"json-schema","data":{"type":"string","enum":["created_at","state","updated_at"]},"id":"schema_511"},"schema_512":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_OperationWithStats"}}}}}},"id":"schema_512"},"schema_513":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_OperationWithStats"}}},"id":"schema_513"},"schema_514":{"kind":"json-schema","data":{"type":"string","example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed"},"id":"schema_514"},"schema_515":{"kind":"json-schema","data":{"type":"object","properties":{"state":{"type":"string","enum":["CANCELLED"],"description":"The new status of the operation. Only CANCELLED is supported for user-initiated updates."},"reason":{"type":"string","description":"Free text explaining the state change. Required."}},"required":["state","reason"]},"id":"schema_515"},"schema_516":{"kind":"json-schema","data":{"type":"object","properties":{"operationId":{"type":"string","description":"The ID of the updated operation"},"status":{"type":"string","description":"The updated status of the operation"}}},"id":"schema_516"},"schema_517":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_DeviceOperationWithStats"}}}}}},"id":"schema_517"},"schema_518":{"kind":"json-schema","data":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_OperationWithStats"}}}},"id":"schema_518"},"schema_519":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"5743470f-7dcc-4a92-8a4b-f41b1cea69ed"},"id":"schema_519"},"schema_520":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"17d384d3-29bd-4dd4-af64-d02b9d6d54ee"},"id":"schema_520"},"schema_521":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/device_DeviceOperationWithStats"}}},"id":"schema_521"},"schema_522":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"0aae03d2-32b4-4cab-b733-6919b84bb2ac"},"id":"schema_522"},"schema_523":{"kind":"json-schema","data":{"type":"string","format":"uuid","example":"550e8400-e29b-41d4-a716-446655440000"},"id":"schema_523"},"schema_524":{"kind":"json-schema","data":{"type":"object","required":["state"],"properties":{"operation_type":{"type":"string","example":"CONVERGE","description":"Optional; resolved from the database if not provided.","deprecated":true},"state":{"type":"string","enum":["CANCELLATION_REQUESTED"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The new state for the device operation. Only CANCELLATION_REQUESTED is supported for user-initiated updates. Cancellation is not guaranteed and depends on the command's current execution state on the device."},"children":[]}]}]}],"example":"CANCELLATION_REQUESTED"},"service_id":{"type":"string","example":"drift-service"},"reason":{"type":"string","example":"test"}}},"id":"schema_524"},"schema_525":{"kind":"json-schema","data":{"type":"string","enum":["INITIATED","ACKNOWLEDGED","ACTIVE","TERMINATED","FAILED"],"description":"List API supports comma separated states."},"id":"schema_525"},"schema_526":{"kind":"json-schema","data":{"type":"string","enum":["STANDARD","DATA_SAVER"],"description":"To allow filtering sessions list by comma separated video qualities"},"id":"schema_526"},"schema_527":{"kind":"json-schema","data":{"type":"string","description":"To allow searching sessions list by reason"},"id":"schema_527"},"schema_528":{"kind":"json-schema","data":{"type":"string","description":"To allow filtering sessions list by created by"},"id":"schema_528"},"schema_529":{"kind":"json-schema","data":{"type":"string","description":"To allow searching sessions list by device name"},"id":"schema_529"},"schema_530":{"kind":"json-schema","data":{"type":"string","default":"-created_at","enum":["created_at","updated_at","device_name","duration","state","reason","video_quality","created_by"],"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"To allow ordering sessions list by created_at, updated_at, device_name, duration, state, reason, video_quality and created_by."},"children":[]}]}]}]},"id":"schema_530"},"schema_531":{"kind":"json-schema","data":{"type":"string","format":"duration","description":"Duration less than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).","example":"duration_lt=PT10M30S"},"id":"schema_531"},"schema_532":{"kind":"json-schema","data":{"type":"string","format":"duration","description":"Duration less than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).","example":"duration_lte=PT10M30S"},"id":"schema_532"},"schema_533":{"kind":"json-schema","data":{"type":"string","format":"duration","description":"Duration greater than filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).","example":"duration_gt=PT10M30S"},"id":"schema_533"},"schema_534":{"kind":"json-schema","data":{"type":"string","format":"duration","description":"Duration greater than or equal to filter. The time duration (in ISO 8601 duration format) of only a valid elapsed session, i.e., sessions that have moved from ACTIVE state (where session start-time can be captured) to TERMINATED or FAILED state (where the session end-time can be captured).","example":"duration_gte=PT10M30S"},"id":"schema_534"},"schema_535":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Created at less than filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"created_at_lt=2023-10-01T12:00:00Z"},"id":"schema_535"},"schema_536":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Created at greater than filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"created_at_gt=2023-10-01T12:00:00Z"},"id":"schema_536"},"schema_537":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Created at less than or equal to filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"created_at_lte=2023-10-01T12:00:00Z"},"id":"schema_537"},"schema_538":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Created at greater than or equal to filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"created_at_gte=2023-10-01T12:00:00Z"},"id":"schema_538"},"schema_539":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Updated at less than filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"updated_at_lt=2023-10-01T12:00:00Z"},"id":"schema_539"},"schema_540":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Updated at greater than filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"updated_at_gt=2023-10-01T12:00:00Z"},"id":"schema_540"},"schema_541":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Updated at less than or equal to filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"updated_at_lte=2023-10-01T12:00:00Z"},"id":"schema_541"},"schema_542":{"kind":"json-schema","data":{"type":"string","format":"date-time","description":"Updated at greater than or equal to filter. Datetime format must be in \"YY-MM-DDTHH:mm:ss.fffffffffZ\".","example":"updated_at_gte=2023-10-01T12:00:00Z"},"id":"schema_542"},"schema_543":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/device_RemoteViewerSessionsListForTenantResponse"}}}}}},"id":"schema_543"},"schema_544":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","description":"response code","default":200},"message":{"type":"string","description":"response message"},"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_VPPLicense"}]}}}}}},"id":"schema_544"},"schema_545":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","description":"response code","default":200},"message":{"type":"string","description":"response message"},"content":{"$ref":"#/components/schemas/apps_management_VPPLicense"}}},"id":"schema_545"},"schema_546":{"kind":"json-schema","data":{"type":"string","pattern":"^[a-zA-Z]{2}$","example":"us"},"id":"schema_546"},"schema_547":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_ItunesAppInfoV2"}]}}}}}},"id":"schema_547"},"schema_548":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"message":{"type":"string","example":"Preferred region updated successfully"}}}}},"id":"schema_548"},"schema_549":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_ItunesAppInfoV2"}}},"id":"schema_549"},"schema_550":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_TenantAppUploadResponse"}}},"id":"schema_550"},"schema_551":{"kind":"json-schema","data":{"type":"number"},"id":"schema_551"},"schema_552":{"kind":"json-schema","data":{"type":"string","enum":["APPLE","WINDOWS"]},"id":"schema_552"},"schema_553":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_TenantAppResponse"}]}}}}}},"id":"schema_553"},"schema_554":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_TenantAppResponse"}}},"id":"schema_554"},"schema_555":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_TenantAppVersionResponse"}]}}}}}},"id":"schema_555"},"schema_556":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_TenantAppVersionDetailResponse"}}},"id":"schema_556"},"schema_557":{"kind":"json-schema","data":{"type":"object","minProperties":1,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"At least one field must be provided. All fields are optional"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"(omitted = leave unchanged). "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"version_name"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" and "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"exe_config"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"are only accepted for EXE app versions; rejected with 400 otherwise."},"children":[]}]}]}],"properties":{"description":{"type":"string"},"version_name":{"type":"string","maxLength":64,"description":"Version name. Only valid for EXE app versions."},"exe_config":{"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"EXE configuration. Only valid for TENANT_WINDOWS_EXE app versions; rejected with 400 otherwise."},"children":[]}]}]}],"allOf":[{"$ref":"#/components/schemas/apps_management_WindowsExeConfigRequest"}]}}},"id":"schema_557"},"schema_558":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_TenantAppVersionResponse"}}},"id":"schema_558"},"schema_559":{"kind":"json-schema","data":{"type":"object","required":["artifact_type","file"],"properties":{"artifact_type":{"type":"string","enum":["UWP_DEPENDENCY","UWP_CERTIFICATE"],"description":"The kind of artifact being uploaded."},"file":{"type":"string","format":"binary","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"The artifact file. For UWP_DEPENDENCY a .msix/.appx package;"},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"for UWP_CERTIFICATE a .cer signing certificate."},"children":[]}]}]}]}}},"id":"schema_559"},"schema_560":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_ArtifactMutationResponse"}}},"id":"schema_560"},"schema_561":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"$ref":"#/components/schemas/apps_management_AppleAppStoreApp"}}}}}},"id":"schema_561"},"schema_562":{"kind":"json-schema","data":{"type":"string","enum":["name","created_at","updated_at"]},"id":"schema_562"},"schema_563":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_AppInfo"}]}}}}}},"id":"schema_563"},"schema_564":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_Webclip"}}},"id":"schema_564"},"schema_565":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_Webclip"}]}}}}}},"id":"schema_565"},"schema_566":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_ProvisioningProfileUploadResponse"}}},"id":"schema_566"},"schema_567":{"kind":"json-schema","data":{"type":"number","description":"Maximum number of provisioning profiles to return","default":10},"id":"schema_567"},"schema_568":{"kind":"json-schema","data":{"type":"number","description":"Number of provisioning profiles to skip","default":0},"id":"schema_568"},"schema_569":{"kind":"json-schema","data":{"type":"string","description":"Filter by bundle identifier of the associated app"},"id":"schema_569"},"schema_570":{"kind":"json-schema","data":{"type":"string","description":"Filter by profile type","enum":["development","ad-hoc","app-store","enterprise"]},"id":"schema_570"},"schema_571":{"kind":"json-schema","data":{"type":"string","description":"Filter by Apple Developer Team identifier"},"id":"schema_571"},"schema_572":{"kind":"json-schema","data":{"type":"string","description":"Search in provisioning profile names and identifiers"},"id":"schema_572"},"schema_573":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of provisioning profiles"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"$ref":"#/components/schemas/apps_management_ProvisioningProfileWithDownloadResponse"}}}}}},"id":"schema_573"},"schema_574":{"kind":"json-schema","data":{"type":"string","format":"uuid","description":"Unique identifier for the provisioning profile"},"id":"schema_574"},"schema_575":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_ProvisioningProfileWithDownloadResponse"}}},"id":"schema_575"},"schema_576":{"kind":"json-schema","data":{"type":"number","description":"Maximum number of provisioning profile versions to return","default":10},"id":"schema_576"},"schema_577":{"kind":"json-schema","data":{"type":"number","description":"Number of provisioning profile versions to skip","default":0},"id":"schema_577"},"schema_578":{"kind":"json-schema","data":{"type":"string","description":"Search in provisioning profile version names"},"id":"schema_578"},"schema_579":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"Total number of provisioning profile versions"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"$ref":"#/components/schemas/apps_management_ProvisioningProfileVersionWithDownloadResponse"}}}}}},"id":"schema_579"},"schema_580":{"kind":"json-schema","data":{"type":"string","format":"uuid","description":"Unique identifier for the specific version of the provisioning profile"},"id":"schema_580"},"schema_581":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_ProvisioningProfileVersionWithDownloadResponse"}}},"id":"schema_581"},"schema_582":{"kind":"json-schema","data":{"type":"string","format":"uuid","description":"Unique identifier for the specific version of the provisioning profile to delete"},"id":"schema_582"},"schema_583":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_TenantPreferredRegions"}}},"id":"schema_583"},"schema_584":{"kind":"json-schema","data":{"type":"string","enum":["ZEBRA","HONEYWELL","DATALOGIC","SAMSUNG","SUNMI"]},"id":"schema_584"},"schema_585":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","default":200},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/apps_management_OEMConfigSchema"}}},"id":"schema_585"},"schema_586":{"kind":"json-schema","data":{"type":"object","properties":{"Cache-Control":{"type":"string","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"When version_code is specified: public, max-age=3600 (response is immutable for that version). When version_code is omitted (latest lookup): not immutable — a newer upload can change the result; do not apply long-lived public caching."},"children":[]}]}]}]}}},"id":"schema_586"},"schema_587":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/apps_management_EsperAppVersionResponse"}}},"id":"schema_587"},"schema_588":{"kind":"json-schema","data":{"type":"string","enum":["created_at (ascending)","-created_at (descending)","version_code (ascending)","-version_code (descending)"]},"id":"schema_588"},"schema_589":{"kind":"json-schema","data":{"type":"string","enum":["x86","x86_64","armeabi","arm64_v8a","armeabi_v7a","universal"]},"id":"schema_589"},"schema_590":{"kind":"json-schema","data":{"type":"string","description":"Filter by version code"},"id":"schema_590"},"schema_591":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer","description":"number of results returned"},"prev":{"type":"string","description":"URL for previous page of results"},"next":{"type":"string","description":"URL for next page of results"},"results":{"type":"array","items":{"oneOf":[{"$ref":"#/components/schemas/apps_management_TenantEsperAppsItem"}]}}}}}},"id":"schema_591"},"schema_592":{"kind":"json-schema","data":{"type":"string","enum":["IMMEDIATE","WINDOW","RECURRING"]},"id":"schema_592"},"schema_593":{"kind":"json-schema","data":{"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/commands_CommandRequest"}}}}}},"id":"schema_593"},"schema_594":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/commands_CommandRequest"}}},"id":"schema_594"},"schema_595":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/commands_CommandRequestStats"}}},"id":"schema_595"},"schema_596":{"kind":"json-schema","data":{"type":"string","enum":["Command Queued","Command Initiated","Command Acknowledged","Command In Progress","Command TimeOut","Command Success","Command Failure","Command Scheduled","Command Cancelled"]},"id":"schema_596"},"schema_597":{"kind":"json-schema","data":{"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/commands_CommandStatus"}}}}}},"id":"schema_597"},"schema_598":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/commands_CommandStatus"}}},"id":"schema_598"},"schema_599":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/commands_CommandInbox"}}},"id":"schema_599"},"schema_600":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/drift_Converge"}}}}}},"id":"schema_600"},"schema_601":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/drift_Converge"}}},"id":"schema_601"},"schema_602":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/drift_ConvergeCommand"}}}}}},"id":"schema_602"},"schema_603":{"kind":"json-schema","data":{"type":"string","maxLength":10000,"pattern":"^([0-9a-fA-F\\\\-]{36})(,([0-9a-fA-F\\\\-]{36}))*$"},"id":"schema_603"},"schema_604":{"kind":"json-schema","data":{"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/device_onboarding_DEPSyncRequestForGetResponse"}}}}}},"id":"schema_604"},"schema_605":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/device_onboarding_DEPSyncRequest"}}},"id":"schema_605"},"schema_606":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/device_onboarding_DEPSyncRequestForGetResponse"}}},"id":"schema_606"},"schema_607":{"kind":"json-schema","data":{"type":"object","properties":{"csv_file":{"type":"string","format":"binary"}}},"id":"schema_607"},"schema_608":{"kind":"json-schema","data":{"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/device_onboarding_SeamlessRequest"}}}}}},"id":"schema_608"},"schema_609":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/device_onboarding_SeamlessRequest"}}},"id":"schema_609"},"schema_610":{"kind":"json-schema","data":{"type":"string","enum":["CSR_GENERATED","COMPLETED"]},"id":"schema_610"},"schema_611":{"kind":"json-schema","data":{"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/tenant_APNSCertInfo"}}}}}},"id":"schema_611"},"schema_612":{"kind":"json-schema","data":{"type":"string","format":"binary"},"id":"schema_612"},"schema_613":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/tenant_APNSCertInfo"}}},"id":"schema_613"},"schema_614":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"type":"object"}}},"id":"schema_614"},"schema_615":{"kind":"json-schema","data":{"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/tenant_DEPProfile"}}}}}},"id":"schema_615"},"schema_616":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/tenant_DEPProfile"}}},"id":"schema_616"},"schema_617":{"kind":"json-schema","data":{"type":"string","properties":{"content":{"type":"string"}},"example":"-----BEGIN PUBLIC KEY----- MIGeMA0GCSqGSIb3DQEBAQUAA4GMADCBiAKBgE7FsxhVgAauNzV2S+B2O2TVpcKc /aPylhD8Abq0/5swcu3XFseP/GVttTH7JzSLLKdpyculA/DWfc73OP+r4LeswbAc pyvI8uDVCexU7YsND00Vs/L1i9RZXpCBk0oNECjIKQ6ex7ccI6VzZaTH6DallGkY eUcBApaAiL5QILTlAgMBAAE= -----END PUBLIC KEY-----"},"id":"schema_617"},"schema_618":{"kind":"json-schema","data":{"type":"object","properties":{"Content-Disposition":{"type":"string","example":"attachment; filename=\"Esper_Public_Key.pem\""}}},"id":"schema_618"},"schema_619":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"type":"object","properties":{"count":{"type":"integer"},"next":{"type":"string"},"prev":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/tenant_DEP_Token_GET"}}}}}},"id":"schema_619"},"schema_620":{"kind":"json-schema","data":{"type":"string","format":"UUID"},"id":"schema_620"},"schema_621":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer"},"message":{"type":"string"},"content":{"type":"object","properties":{"schema":{"$ref":"#/components/schemas/tenant_DEP_Token_GET"}}}}},"id":"schema_621"},"schema_622":{"kind":"json-schema","data":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":".p7m file from abm console"},"token_name":{"type":"string"}},"required":["file","token_name"]},"id":"schema_622"},"schema_623":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","default":200},"message":{"type":"string"},"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/tenant_VPPToken"}}}}}},"id":"schema_623"},"schema_624":{"kind":"json-schema","data":{"type":"object","properties":{"filename":{"type":"string","format":"binary"}}},"id":"schema_624"},"schema_625":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","default":201},"message":{"type":"string"},"content":{"$ref":"#/components/schemas/tenant_VPPToken"}}},"id":"schema_625"},"schema_626":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","description":"response code","default":204},"message":{"type":"string","description":"response message"},"content":{"type":"object"}}},"id":"schema_626"},"schema_627":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/tenant_GoogleEnterpriseDetails"}}}}}},"id":"schema_627"},"schema_628":{"kind":"json-schema","data":{"type":"object","properties":{"completion_token":{"type":"string"},"enterprise_token":{"type":"string"}},"required":["completion_token","enterprise_token"]},"id":"schema_628"},"schema_629":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"count":{"type":"integer"},"previous":{"type":"string"},"next":{"type":"string"},"results":{"type":"array","items":{"$ref":"#/components/schemas/tenant_GoogleServiceAccountDetails"}}}}}},"id":"schema_629"},"schema_630":{"kind":"json-schema","data":{"type":"object","properties":{"dep_enrollment_url":{"type":"string"},"dep_anchor_certs_url":{"type":"string"}}},"id":"schema_630"},"schema_631":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","description":"returned response code"},"content":{"properties":{"count":{"type":"integer","description":"counter of number of builds retrieved"},"next":{"type":"string","format":"url","description":"url of the next ten builds"},"previous":{"type":"string","format":"url","description":"url of the previous ten builds"},"results":{"items":{"$ref":"#/components/schemas/foundation_Build_V1"}}}}}},"id":"schema_631"},"schema_632":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/foundation_Build_V1"}}},"id":"schema_632"},"schema_633":{"kind":"json-schema","data":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/foundation_Build_V1"}}},"id":"schema_633"},"schema_634":{"kind":"json-schema","data":{"type":"object","properties":{"code":{"type":"integer","description":"returned response code"},"content":{"properties":{"count":{"type":"integer","description":"counter of number of device models retrieved"},"next":{"type":"string","format":"url","description":"url of the next ten device models"},"previous":{"type":"string","format":"url","description":"url of the previous ten device models"},"results":{"items":{"$ref":"#/components/schemas/foundation_Device_Model_V1"}}}}}},"id":"schema_634"},"schema_635":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"properties":{"count":{"type":"integer","description":"counter of number of events retrieved"},"next":{"type":"string","format":"url","description":"url of the next ten events"},"previous":{"type":"string","format":"url","description":"url of the previous ten events"},"results":{"items":{"$ref":"#/components/schemas/foundation_Foundry_Event_V1"}}}}}},"id":"schema_635"},"schema_636":{"kind":"json-schema","data":{"oneOf":[{"$ref":"#/components/schemas/reports_CreateReportResponse"},{"$ref":"#/components/schemas/reports_GetReportResponsePreview"},{"$ref":"#/components/schemas/reports_GetReportResponseDownload"}]},"id":"schema_636"},"schema_637":{"kind":"json-schema","data":{"type":"string","minLength":1,"maxLength":255},"id":"schema_637"},"schema_638":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/geofence_GeofenceResponse"}}},"id":"schema_638"},"schema_639":{"kind":"json-schema","data":{"type":"string","pattern":"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(,[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})*$"},"id":"schema_639"},"schema_640":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"next":{"type":"string","nullable":true,"example":"/v1/geofences?offset=10&limit=10"},"previous":{"type":"string","nullable":true,"example":null},"count":{"type":"integer","nullable":true,"description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Total count of geofences matching the filters. Only included when include_count=true."},"children":[]}]}]}],"example":42},"results":{"type":"array","items":{"$ref":"#/components/schemas/geofence_GeofenceListResponse"}}}}}},"id":"schema_640"},"schema_641":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"$ref":"#/components/schemas/geofence_DeviceSummaryResponse"}}},"id":"schema_641"},"schema_642":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"next":{"type":"string","nullable":true,"example":"/v1/geofences/f5316a75-f186-4769-970e-28d6a1a0e110/blueprints?offset=10&limit=10"},"previous":{"type":"string","nullable":true,"example":null},"results":{"type":"array","items":{"$ref":"#/components/schemas/geofence_BlueprintUsageItem"}}}}}},"id":"schema_642"},"schema_643":{"kind":"json-schema","data":{"type":"object","properties":{"content":{"type":"object","properties":{"next":{"type":"string","nullable":true,"example":"/v1/geofences/f5316a75-f186-4769-970e-28d6a1a0e110/devices?offset=10&limit=10"},"previous":{"type":"string","nullable":true,"example":null},"results":{"type":"array","items":{"$ref":"#/components/schemas/geofence_DeviceListingItem"}}}}}},"id":"schema_643"}},"exampleStore":{"components/examples/device_example_devices":{"id":"components/examples/device_example_devices","value":{"operation_type":"CONVERGE","schedule_type":"IMMEDIATE","operation_device_query":{"device_ids":"460a4c28-b974-4c20-99b5-29aa6f10054f,560a4c28-b974-4c20-99b5-29aa6f10054e"},"arguments":{"converge_with_provision":true}},"summary":"An example where the query specifies a list of devices.","description":"An example where the query specifies a list of devices with specific values."},"components/examples/device_example_filters":{"id":"components/examples/device_example_filters","value":{"operation_type":"CONVERGE","schedule_type":"IMMEDIATE","operation_device_query":{"device_request":{"group_multi":"460a4c28-b974-4c20-99b5-29aa6f10054f,760a4c28-b974-4c20-99b5-29aa6f10054e","state":"1"}},"arguments":{"converge_with_provision":true}},"summary":"An example with devices filters."},"paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices":{"value":{"operation_type":"CONVERGE","schedule_type":"IMMEDIATE","operation_device_query":{"device_ids":"460a4c28-b974-4c20-99b5-29aa6f10054f,560a4c28-b974-4c20-99b5-29aa6f10054e"},"arguments":{"converge_with_provision":true}},"key":"devices","summary":"An example where the query specifies a list of devices.","description":"An example where the query specifies a list of devices with specific values.","id":"paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/devices"},"paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters":{"value":{"operation_type":"CONVERGE","schedule_type":"IMMEDIATE","operation_device_query":{"device_request":{"group_multi":"460a4c28-b974-4c20-99b5-29aa6f10054f,760a4c28-b974-4c20-99b5-29aa6f10054e","state":"1"}},"arguments":{"converge_with_provision":true}},"key":"filters","summary":"An example with devices filters.","id":"paths/~1v0~1operations~1/post/requestBody/content/application~1json/examples/filters"},"paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1":{"value":{"state":"CANCELLED","reason":"User requested"},"key":"example-1","summary":"Update status to CANCELLED","id":"paths/~1v0~1operations~1{operationId}~1/put/requestBody/content/application~1json/examples/example-1"},"paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example":{"value":{"operationId":"12345","status":"SUCCEEDED"},"id":"paths/~1v0~1operations~1{operationId}~1/put/responses/200/content/application~1json/example"},"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample":{"value":{"name":"Warehouse Perimeter","description":"A polygon-shaped geofence","actions":["lockdown"],"geometry":{"type":"polygon","coordinates":[{"latitude":41.8902,"longitude":12.4924},{"latitude":41.8903,"longitude":12.4925},{"latitude":41.8904,"longitude":12.4926}]}},"key":"polygonExample","summary":"Polygon Geofence","id":"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/polygonExample"},"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample":{"value":{"name":"Restricted Area","description":"A circle-shaped geofence","actions":["beep","lockdown"],"geometry":{"type":"circle","coordinates":[{"latitude":41.8902,"longitude":12.4924}],"radius":100}},"key":"circleExample","summary":"Circular Geofence","id":"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/circleExample"},"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample":{"value":{"name":"Monitoring Zone","description":"A geofence for monitoring only","actions":[],"geometry":{"type":"circle","coordinates":[{"latitude":41.8902,"longitude":12.4924}],"radius":50}},"key":"noActionsExample","summary":"Geofence with No Actions","id":"paths/~1geofence~1v1~1geofences/post/requestBody/content/application~1json/examples/noActionsExample"},"paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example":{"value":{"content":{"next":"/v1/geofences?offset=10&limit=10","previous":null,"results":[{"id":"11111111-1111-1111-1111-111111111111","name":"Sample Polygon Geofence","description":"A polygon shaped zone","actions":["lockdown"],"geometry":{"type":"polygon","coordinates":[{"latitude":41.8902,"longitude":12.4924},{"latitude":41.8903,"longitude":12.4925},{"latitude":41.8904,"longitude":12.4926}]},"created_at":"2024-06-24T14:00:00Z","updated_at":"2024-06-24T15:00:00Z"},{"id":"22222222-2222-2222-2222-222222222222","name":"Sample Circular Geofence","description":"A circle shaped zone","actions":["beep"],"geometry":{"type":"circle","coordinates":[{"latitude":41.8902,"longitude":12.4924}],"radius":100},"created_at":"2024-06-25T10:00:00Z","updated_at":"2024-06-25T11:00:00Z"}]}},"key":"example","summary":"example","id":"paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/example"},"paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary":{"value":{"content":{"next":null,"previous":null,"count":1,"results":[{"id":"11111111-1111-1111-1111-111111111111","name":"Sample Geofence","description":"A geofence with device tracking","actions":["lockdown"],"geometry":{"type":"polygon","coordinates":[{"latitude":41.8902,"longitude":12.4924},{"latitude":41.8903,"longitude":12.4925},{"latitude":41.8904,"longitude":12.4926}]},"created_at":"2024-06-24T14:00:00Z","updated_at":"2024-06-24T15:00:00Z","device_summary":{"total_devices":50,"inside_count":30,"outside_count":18,"unknown_count":2},"blueprints":[{"blueprint_id":"550e8400-e29b-41d4-a716-446655440000","blueprint_version_number":1,"device_count":25},{"blueprint_id":"550e8400-e29b-41d4-a716-446655440001","blueprint_version_number":2,"device_count":15},{"blueprint_id":"550e8400-e29b-41d4-a716-446655440002","blueprint_version_number":1,"device_count":10}]}]}},"key":"withSummary","summary":"With device summary","id":"paths/~1geofence~1v1~1geofences/get/responses/200/content/application~1json/examples/withSummary"},"paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example":{"value":{"content":{"total_devices":100,"inside_count":60,"outside_count":35,"unknown_count":5}},"key":"example","summary":"example","id":"paths/~1geofence~1v1~1geofences~1{geofence_id}~1device-summary/get/responses/200/content/application~1json/examples/example"},"paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example":{"value":{"content":{"next":"/v1/geofences/f5316a75-f186-4769-970e-28d6a1a0e110/blueprints?offset=10&limit=10","previous":null,"results":[{"blueprint_id":"550e8400-e29b-41d4-a716-446655440000","blueprint_version_number":1,"device_count":25},{"blueprint_id":"550e8400-e29b-41d4-a716-446655440002","blueprint_version_number":2,"device_count":15}]}},"key":"example","summary":"example","id":"paths/~1geofence~1v1~1geofences~1{geofence_id}~1blueprints/get/responses/200/content/application~1json/examples/example"},"paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example":{"value":{"content":{"next":"/v1/geofences/f5316a75-f186-4769-970e-28d6a1a0e110/devices?offset=10&limit=10","previous":null,"results":[{"device_id":"660e8400-e29b-41d4-a716-446655440000","blueprint_id":"550e8400-e29b-41d4-a716-446655440000","blueprint_version_number":1,"inside":true,"state_changed_at":"2025-07-24T09:00:00Z"},{"device_id":"660e8400-e29b-41d4-a716-446655440001","blueprint_id":"550e8400-e29b-41d4-a716-446655440002","blueprint_version_number":2,"inside":false,"state_changed_at":"2025-07-24T08:30:00Z"}]}},"key":"example","summary":"example","id":"paths/~1geofence~1v1~1geofences~1{geofence_id}~1devices/get/responses/200/content/application~1json/examples/example"}},"securitySchemeStore":{"esper_cloud_api_apiKey":{"id":"esper_cloud_api_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"pipelines_SCAPIAuthToken":{"id":"pipelines_SCAPIAuthToken","type":"http","scheme":"bearer"},"device_apiKey":{"id":"device_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"apps_management_apiKey":{"id":"apps_management_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"commands_apiKey":{"id":"commands_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"drift_apiKey":{"id":"drift_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"device_onboarding_apiKey":{"id":"device_onboarding_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"tenant_apiKey":{"id":"tenant_apiKey","type":"http","scheme":"bearer","description":[{"$$mdtype":"Node","type":"heading","attributes":{"level":4},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"API KEY - Access Token"},"children":[]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"<domain>-api.esper.cloud"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" 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 "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"in this Help article"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" to generate an access token."},"children":[]},{"$$mdtype":"Node","type":"softbreak","inline":true,"attributes":{},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Once you have the access token, you need to send an authorization header as below"},"children":[]}]}]},{"$$mdtype":"Node","type":"fence","attributes":{"content":"\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","language":"bash"},"children":[{"$$mdtype":"Node","type":"text","attributes":{"content":"\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"},"children":[]}]},{"$$mdtype":"Node","type":"blockquote","attributes":{},"children":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Please note the use of keyword "},"children":[]},{"$$mdtype":"Node","type":"strong","inline":true,"attributes":{"marker":"**"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bearer"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" before the token value."},"children":[]}]}]}]},{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"You can read more about api key authentication "},"children":[]},{"$$mdtype":"Node","type":"link","inline":true,"attributes":{"href":"https://help.esper.io/hc/en-us/articles/12656959508497"},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"here"},"children":[]}]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"."},"children":[]}]}]}]},"foundation_AuthToken":{"id":"foundation_AuthToken","type":"apiKey","in":"header","paramName":"Authorization"},"reports_bearerAuth":{"id":"reports_bearerAuth","type":"http","scheme":"bearer"},"geofence_bearerAuth":{"id":"geofence_bearerAuth","type":"http","scheme":"bearer","bearerFormat":"JWT"}},"servers":[{"url":"/_mock/openapi","isMockServer":true,"description":"Mock server"},{"url":"https://{foo}-api.esper.cloud/api","variables":{"foo":{"default":"develop","description":"Custom end point"}}}],"logo":{"imageUrl":"esper-logo-white.svg","altText":"Logo","backgroundColor":"#141418"}},"options":{"hideReplay":false,"codeSamples":{"languages":[{"lang":"curl","label":"cURL"}]},"hideSidebar":true,"mockServer":{"url":"/_mock/openapi","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/openapi.json?download"},{"url":"/_bundle/openapi.yaml?download"}],"excludeFromSearch":false,"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"ESPER API REFERENCE","description":"# Introduction\nWelcome 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.\n\nEsper API endpoints use REST-based architecture and return JSON responses.\n\nSee our documentation for:\n\n* [Getting started guides](https://help.esper.io/hc/en-us/articles/14199291792145-Getting-Started-with-APIs)\n* [Commonly used API examples](https://help.esper.io/hc/en-us/articles/16036992814609-Commonly-Used-APIs)\n* [API command examples](https://help.esper.io/hc/en-us/articles/16693582666769-Scheduling-API-Commands)\n* [Automated Script examples](https://help.esper.io/hc/en-us/articles/22957898441745-Automating-App-Updates-Using-the-API)\n* [And more](https://help.esper.io/hc/en-us/sections/11388094627857-API)\n\n\n# Authentication\nYou 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.\n\nSome endpoints also require an Enterprise ID. This ID can be found in the API Management section of the Esper console.\n# Pagination\nResponses may be paginated.\nUse the following parameters to query the data. A full list of parameters can be found on the endpoint’s documentation page.\n<table>\n  <thead>\n    <tr>\n      <th>Parameter</th>\n      <th>Data Type</th>\n      <th>Explanation</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n    <td>limit</td>\n    <td>integer</td>\n    <td>Limit the data returned. Default = 20.</td>\n  </tr>\n  <tr>\n    <td>offset</td>\n    <td>integer</td>\n    <td>Offset to the first item returned. Default = 0.</td>\n  </tr>\n  <tr>\n    <td>ordering</td>\n    <td>string</td>\n    <td>Order the results set by the field name. Varies by endpoint.</td>\n  </tr>\n  <tr>\n    <td>next</td>\n    <td>string</td>\n    <td>Paginate to the next response set.</td>\n  </tr>\n  <tr>\n    <td>previous</td>\n    <td>string</td>\n    <td>Paginate to the last set response.</td>\n  </tr>\n</table>\n\n# Errors\nWe use standard HTTP status codes for success or failure.\nA typical error response may look something like this:\n\n```json\n{\n  \"errors\": [],\n  \"message\": \"error message\",\n  \"status\": 400\n}\n```\n* `errors` -  List of error details\n* `message` - Error description\n* `status` - HTTP status code\n\nSome common status codes and messages are:\n\n<table>\n  <thead>\n    <tr>\n      <th>Number</th>\n      <th>Message</th>\n      <th>Explanation</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <td>200</td>\n      <td>OK</td>\n      <td>The request succeeded.</td>\n    </tr>\n    <tr>\n      <td>201</td>\n      <td>Resource creation</td>\n      <td>A resource was created.</td>\n    </tr>\n    <tr>\n      <td>401</td>\n      <td>Unauthorized</td>\n      <td>The API key is invalid.</td>\n    </tr>\n    <tr>\n      <td>404</td>\n      <td>Not found</td>\n      <td>The resource was not found.</td>\n    </tr>\n    <tr>\n      <td>429</td>\n      <td>Rate limit exceeded</td>\n      <td>Too many requests. Wait a moment and try again.</td>\n    </tr>\n    <tr>\n      <td>500</td>\n      <td>Server error</td>\n      <td>Internal error. Wait a moment and try again. If the issue persists, <a target=\"_blank\" href=\"https://help.esper.io/hc/en-us/articles/14800200348561-Contacting-Esper-Support\">contact Esper.</a></td>\n    </tr>\n  </tbody>\n</table>\n\nSee how our systems are doing by checking our [status page](https://status.esper.cloud/).\n\n# Rate Limits\nTo 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:\n* Try sending requests in batches.\n* Begin with about 20 requests at a time and building up from there.\n* Ensure your scripts are efficient and don’t contain redundant calls.\n* Reach out to your account manager to discuss your options.\n\n# Change Log\n\n**DevRel 197 [2026-09-03]**\n\n➕ Added\n\n- **PUT /v2/devices/{id}/tags/** -  endpoint added\n\n**✏️ Updated**\n\n- **PUT /commands/v0/status/{id}/** -  added the non-success response with the status `304`\n- **GET /v0/devices/{deviceId}/operations/**\n\n  - ⚠️ removed the optional property `results/items/arguments/sample_key` from the response with the `200` status\n\n  -  added the optional property `results/items/alias` to the response with the `200` status\n\n- **GET /v0/operations/**\n\n  - ⚠️ removed the optional property `content/results/items/arguments/sample_key` from the response with the `200` status\n\n  -  added the optional property `content/results/items/alias` to the response with the `200` status\n\n- **POST /v0/operations/**\n\n  - ⚠️ removed the request property `arguments/sample_key`\n\n  - ⚠️ removed the optional property `content/arguments/sample_key` from the response with the `201` status\n\n  -  added the new optional request property `alias`\n\n  -  added the optional property `content/alias` to the response with the `201` status\n\n- **GET /v0/operations/{operationId}/**\n\n  - ⚠️ removed the optional property `content/arguments/sample_key` from the response with the `200` status\n\n  -  added the optional property `content/alias` to the response with the `200` status\n\n- **PUT /v0/operations/{operationId}/**\n\n  - ⚠️ added the new required request property `reason`\n\n  - ⚠️ the request property `state` became required\n\n  - ⚠️ removed the enum value `FAILED` of the request property `state`\n\n  - ⚠️ removed the enum value `SCHEDULED` of the request property `state`\n\n  - ⚠️ removed the enum value `TIMEOUT` of the request property `state`\n\n- **PUT /v0/operations/{operationsId}/devices/{deviceId}/**\n\n  - ⚠️ request property `state` was restricted to a list of enum values\n\n  -  added the new `CANCELLATION_REQUESTED` enum value to the request property `state`\n\n- **GET /v2/blueprints/** -  added the optional property `content/results/items/settings/windows/files` to the response with the `200` status\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property `settings/windows/files`\n\n  -  added the optional property `content/settings/windows/files` to the response with the `201` status\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/windows/files` to the response with the `204` status\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/windows/files` to the response with the `200` status\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property `allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/files`\n\n  -  added the optional property `content/settings/windows/files` to the response with the `200` status\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** -  added the optional property `content/results/items/settings/windows/files` to the response with the `200` status\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property `content/settings/windows/files` to the response with the `200` status\n- **POST /v2/seamless**\n\n  -  added the new optional request property `alias`\n\n  -  added the new optional request property `tags`\n\n  -  added the optional property `content/alias` to the response with the `200` status\n\n  -  added the optional property `content/tags` to the response with the `200` status\n\n- **POST /v2/seamless/upload**\n\n  -  added the optional property `content/results/items/alias` to the response with the `200` status\n\n  -  added the optional property `content/results/items/tags` to the response with the `200` status\n\n\n---\n\n**DevRel 196 [2026-08-20]**\n\n➕ Added\n\n- **GET /v2/blueprint-drift/status** -  endpoint added\n- **GET /v2/blueprint-drift/summary** -  endpoint added\n- **GET /v2/blueprint-drift/{deviceId}/status** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /v2/blueprints/** -  added the optional property `content/results/items/settings/android/blueprint_drift_enabled` to the response with the `200` status\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property `settings/android/blueprint_drift_enabled`\n\n  -  added the optional property `content/settings/android/blueprint_drift_enabled` to the response with the `201` status\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/android/blueprint_drift_enabled` to the response with the `204` status\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/android/blueprint_drift_enabled` to the response with the `200` status\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property `allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/blueprint_drift_enabled`\n\n  -  added the optional property `content/settings/android/blueprint_drift_enabled` to the response with the `200` status\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** -  added the optional property `content/results/items/settings/android/blueprint_drift_enabled` to the response with the `200` status\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property `content/settings/android/blueprint_drift_enabled` to the response with the `200` status\n\n---\n\n**DevRel 195 [2026-08-05]**\n\n➕ Added\n\n- **GET /v2/mdmserviceconfig** -  endpoint added\n\n- **GET /v2/mdmserviceconfig/anchor-certs** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /device/v0/devices/**\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2' to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n\n- **GET /device/v0/devices/{id}/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n\n- **GET /v2/blueprints/**\n\n  -  added the optional property 'content/results/items/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status\n\n\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property 'settings/windows/kiosk_settings/kiosk_type'\n\n  -  added the new optional request property 'settings/windows/kiosk_settings/uwp_single_app_config'\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '201' status\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/**\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '204' status\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '204' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/**\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status\n\n\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/kiosk_settings/kiosk_type'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/kiosk_settings/uwp_single_app_config'\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/**\n\n  -  added the optional property 'content/results/items/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/**\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/kiosk_type' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/kiosk_settings/uwp_single_app_config' to the response with the '200' status\n\n\n- **GET /v2/devices/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n\n- **GET /v2/devices/{id}**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_args' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/application_path' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/kiosk_mode_type' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2' to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'allOf' list for the response status '200'\n\n\n---\n\n**DevRel 194 [2026-07-21]**\n\n➕ Added\n\n- **POST /v2/tenant-apps/{appId}/versions/{versionId}/artifacts** -  endpoint added\n\n- **DELETE /v2/tenant-apps/{appId}/versions/{versionId}/artifacts/{artifactId}** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /device/v0/devices/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **GET /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **GET /v2/blueprints/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/settings/windows/custom_policies' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/windows/scheduled_install_settings' to the response with the '200' status\n\n\n- **POST /v2/blueprints/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '201'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '201'\n\n  -  added the new optional request property 'settings/windows/custom_policies'\n\n  -  added the new optional request property 'settings/windows/scheduled_install_settings'\n\n  -  added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'NOTIFY_DOWNLOAD' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the request property 'settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'TENANT_WINDOWS_UWP' enum value to the request property 'settings/windows/apps/items/app_type'\n\n  -  added the optional property 'content/settings/windows/custom_policies' to the response with the '201' status\n\n  -  added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '204'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '204'\n\n  -  added the optional property 'content/settings/windows/custom_policies' to the response with the '204' status\n\n  -  added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '204' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status\n\n\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/custom_policies'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/scheduled_install_settings'\n\n  -  added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'NOTIFY_DOWNLOAD' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/auto_update_settings/auto_update_type'\n\n  -  added the new 'TENANT_WINDOWS_UWP' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/apps/items/app_type'\n\n  -  added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/results/items/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/settings/windows/custom_policies' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/windows/scheduled_install_settings' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/**\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_NOTIFY_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'AUTO_INSTALL_AND_RESTART_FORCED' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'NOTIFY_DOWNLOAD' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULED_INSTALL_AND_RESTART' enum value to the 'content/settings/windows/auto_update_settings/auto_update_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/settings/windows/custom_policies' to the response with the '200' status\n\n  -  added the optional property 'content/settings/windows/scheduled_install_settings' to the response with the '200' status\n\n\n- **GET /v2/devices/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the new optional 'query' request parameter 'fields'\n\n\n- **GET /v2/devices/{deviceId}/device-apps/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'results/items/app_type' response property for the response status '200'\n\n  -  added the new enum value 'TENANT_WINDOWS_UWP' to the 'query' request parameter 'app type'\n\n\n- **GET /v2/devices/{id}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **GET /v2/tenant-apps/{appId}/versions** - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'\n- **DELETE /v2/tenant-apps/{appId}/versions/{versionId}** - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/app_type' response property for the response status '200'\n- **GET /v2/tenant-apps/{appId}/versions/{versionId}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/allOf[subschema #2]/architecture' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/artifacts' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/aumids' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/entry_point_type' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/identity_name' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/package_family_name' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/package_format' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/publisher' to the response with the '200' status\n\n\n- **PUT /v2/tenant-apps/{appId}/versions/{versionId}** - ⚠️ added the new 'TENANT_WINDOWS_UWP' enum value to the 'content/app_type' response property for the response status '200'\n---\n\n**DevRel 193 [2026-07-09]**\n\n➕ Added\n\n- **GET /v2/oem-config-schema** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /commands/v0/commands/**\n\n  - ⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/command_args/auto_update_type' to the response with the '200' status\n\n\n- **POST /commands/v0/commands/**\n\n  - ⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/command' response property for the response status '201'\n\n  -  added the new optional request property 'command_args/auto_update_type'\n\n  -  added the new 'SET_OS_UPDATE_POLICY' enum value to the request property 'command'\n\n  -  added the optional property 'content/command_args/auto_update_type' to the response with the '201' status\n\n\n- **GET /commands/v0/commands/{id}/**\n\n  - ⚠️ added the new 'SET_OS_UPDATE_POLICY' enum value to the 'content/command' response property for the response status '200'\n\n  -  added the optional property 'content/command_args/auto_update_type' to the response with the '200' status\n\n\n- **GET /device/v0/devices/**\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **GET /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n\n- **POST /tenant/v0/depprofiles/**\n\n  - ⚠️ removed the enum value 'WebContentFiltering' of the request property 'show_setup_items/items/'\n\n  -  added the new 'AccessibilityAppearance' enum value to the request property 'show_setup_items/items/'\n\n  -  added the new 'DisplayTone' enum value to the request property 'show_setup_items/items/'\n\n  -  added the new 'HomeButtonSensitivity' enum value to the request property 'show_setup_items/items/'\n\n  -  added the new 'LiquidGlass' enum value to the request property 'show_setup_items/items/'\n\n  -  added the new 'OnBoarding' enum value to the request property 'show_setup_items/items/'\n\n\n- **GET /v2/blueprints/** -  added the optional property 'content/results/items/settings/android/advanced_configurations' to the response with the '200' status\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property 'settings/android/advanced_configurations'\n\n  -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '204' status\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/advanced_configurations'\n\n  -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** -  added the optional property 'content/results/items/settings/android/advanced_configurations' to the response with the '200' status\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property 'content/settings/android/advanced_configurations' to the response with the '200' status\n- **GET /v2/devices/**\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status\n\n\n- **GET /v2/devices/{id}**\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'GOOGLE_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'PRELOADED_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_ANDROID' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AndroidDeviceV2]/app_mode_meta' to the response with the '200' status\n\n\n- **POST /v2/itunesapps/{appleAppId}/refresh-version** - ⚠️ for the 'path' request parameter 'appleAppId', the type/format was changed from 'string'/'' to 'string'/'uuid'\n---\n\n**DevRel 192 [2026-06-22]**\n\n**✏️ Updated**\n\n- **GET /commands/v0/commands/** -  added the optional property 'content/results/items/command_args/disable_screen_timeout' to the response with the '200' status\n- **POST /commands/v0/commands/**\n\n  -  added the new optional request property 'command_args/disable_screen_timeout'\n\n  -  added the optional property 'content/command_args/disable_screen_timeout' to the response with the '201' status\n\n\n- **GET /commands/v0/commands/{id}/** -  added the optional property 'content/command_args/disable_screen_timeout' to the response with the '200' status\n- **GET /device/v0/devices/**\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n\n- **GET /device/v0/devices/{id}/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n\n- **GET /v2/blueprints/** -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property 'settings/ios/kiosk_app/disable_screen_timeout'\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '204' status\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/kiosk_app/disable_screen_timeout'\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property 'content/settings/ios/kiosk_app/disable_screen_timeout' to the response with the '200' status\n- **GET /v2/devices/**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n\n- **GET /v2/devices/{id}**\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_screen_timeout' to the response with the '200' status\n\n\n---\n\n**DevRel 191 [2026-06-12]**\n\n➕ Added\n\n- **POST /v2/itunesapps/{appleAppId}/refresh-version** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /commands/v0/commands/**\n\n  - ⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  - ⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/command_args/allow_standard_user_os_updates' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/automatic_actions' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/deferrals' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/notifications' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/rapid_security_response' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/recommended_cadence' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/target_local_date_time' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/target_os_version' to the response with the '200' status\n\n\n- **POST /commands/v0/commands/**\n\n  - ⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/command' response property for the response status '201'\n\n  - ⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/command' response property for the response status '201'\n\n  -  added the new optional request property 'command_args/allow_standard_user_os_updates'\n\n  -  added the new optional request property 'command_args/automatic_actions'\n\n  -  added the new optional request property 'command_args/deferrals'\n\n  -  added the new optional request property 'command_args/disable_device_rotation'\n\n  -  added the new optional request property 'command_args/notifications'\n\n  -  added the new optional request property 'command_args/rapid_security_response'\n\n  -  added the new optional request property 'command_args/recommended_cadence'\n\n  -  added the new optional request property 'command_args/target_local_date_time'\n\n  -  added the new optional request property 'command_args/target_os_version'\n\n  -  added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the request property 'command'\n\n  -  added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the request property 'command'\n\n  -  added the optional property 'content/command_args/allow_standard_user_os_updates' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/automatic_actions' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/deferrals' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/disable_device_rotation' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/notifications' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/rapid_security_response' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/recommended_cadence' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/target_local_date_time' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/target_os_version' to the response with the '201' status\n\n\n- **GET /commands/v0/commands/{id}/**\n\n  - ⚠️ added the new 'ENFORCE_OS_UPDATE_SETTINGS' enum value to the 'content/command' response property for the response status '200'\n\n  - ⚠️ added the new 'ENFORCE_SOFTWARE_UPDATE' enum value to the 'content/command' response property for the response status '200'\n\n  -  added the optional property 'content/command_args/allow_standard_user_os_updates' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/automatic_actions' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/deferrals' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/notifications' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/rapid_security_response' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/recommended_cadence' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/target_local_date_time' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/target_os_version' to the response with the '200' status\n\n\n- **GET /device/v0/devices/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/results/items/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n\n- **GET /device/v0/devices/{id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDevice]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n\n- **GET /v2/blueprints/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/settings/ios/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/tvos/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status\n\n\n- **POST /v2/blueprints/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '201'\n\n  -  added the new optional request property 'settings/ios/apps/items/auto_update'\n\n  -  added the new optional request property 'settings/ios/kiosk_app/disable_device_rotation'\n\n  -  added the new optional request property 'settings/ios/strict_wifi_synchronization_settings'\n\n  -  added the new optional request property 'settings/tvos/apps/items/auto_update'\n\n  -  added the new optional request property 'settings/tvos/strict_wifi_synchronization_settings'\n\n  -  added the new 'TENANT_WINDOWS_EXE' enum value to the request property 'settings/windows/apps/items/app_type'\n\n  -  added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '201' status\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '201' status\n\n  -  added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '201' status\n\n  -  added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '201' status\n\n  -  added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '204'\n\n  -  added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '204' status\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '204' status\n\n  -  added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '204' status\n\n  -  added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '204' status\n\n  -  added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '204' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status\n\n\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/apps/items/auto_update'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/kiosk_app/disable_device_rotation'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/ios/strict_wifi_synchronization_settings'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/tvos/apps/items/auto_update'\n\n  -  added the new optional request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/tvos/strict_wifi_synchronization_settings'\n\n  -  added the new 'TENANT_WINDOWS_EXE' enum value to the request property '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/apps/items/app_type'\n\n  -  added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/settings/ios/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/tvos/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/settings/windows/apps/items/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/settings/ios/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/kiosk_app/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/settings/ios/strict_wifi_synchronization_settings' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/apps/items/auto_update' to the response with the '200' status\n\n  -  added the optional property 'content/settings/tvos/strict_wifi_synchronization_settings' to the response with the '200' status\n\n\n- **GET /v2/device-apps**\n\n  -  added the new optional 'query' request parameter 'app_version_id_not'\n\n  -  the 'query' request parameter 'app_id' became optional\n\n  -  the 'query' request parameter 'app_version_id' became optional\n\n  -  for the 'query' request parameter 'app_id', the type/format was generalized from 'integer'/'uuid' to 'string'/'uuid'\n\n  -  for the 'query' request parameter 'app_version_id', the type/format was generalized from 'integer'/'uuid' to 'string'/'uuid'\n\n\n- **GET /v2/devices/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  api tag 'device_Device' added\n\n  -  api tag 'device_Device V2' removed\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n\n- **GET /v2/devices/{deviceId}/device-apps/**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'results/items/app_type' response property for the response status '200'\n\n  -  added the new enum value 'TENANT_WINDOWS_EXE' to the 'query' request parameter 'app type'\n\n  -  added the optional property 'results/items/auto_update' to the response with the '200' status\n\n\n- **GET /v2/devices/{id}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/app_type' response property for the response status '200'\n\n  -  api tag 'device_Device' added\n\n  -  api tag 'device_Device V2' removed\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added the optional property 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta/disable_device_rotation' to the response with the '200' status\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_AppleDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n  -  added 'subschema #1, subschema #2, subschema #3' to the 'content/oneOf[#/components/schemas/device_WindowsDeviceV2]/app_mode_meta' response property 'anyOf' list for the response status '200'\n\n\n- **GET /v2/tenant-apps/{appId}/versions**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'\n\n  -  added the new optional 'query' request parameter 'app_type'\n\n  -  added the new optional 'query' request parameter 'is_active'\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/is_active' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/oneOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria_type' to the response with the '200' status\n\n\n- **DELETE /v2/tenant-apps/{appId}/versions/{versionId}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/is_active' to the response with the '200' status\n\n  -  added the optional property 'content/success_criteria' to the response with the '200' status\n\n  -  added the optional property 'content/success_criteria_type' to the response with the '200' status\n\n\n- **GET /v2/tenant-apps/{appId}/versions/{versionId}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/app_type' response property for the response status '200'\n\n  -  added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/is_active' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[#/components/schemas/apps_management_TenantAppVersionResponse]/success_criteria_type' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/install_script' to the response with the '200' status\n\n  -  added the optional property 'content/allOf[subschema #2]/uninstall_script' to the response with the '200' status\n\n\n- **PUT /v2/tenant-apps/{appId}/versions/{versionId}**\n\n  - ⚠️ added the new 'TENANT_WINDOWS_EXE' enum value to the 'content/app_type' response property for the response status '200'\n\n  -  added the new optional request property 'exe_config'\n\n  -  added the new optional request property 'version_name'\n\n  -  added the optional property 'content/is_active' to the response with the '200' status\n\n  -  added the optional property 'content/success_criteria' to the response with the '200' status\n\n  -  added the optional property 'content/success_criteria_type' to the response with the '200' status\n\n\n---\n\n**DevRel 190 [2026-05-28]**\n\n➕ Added\n\n- **PUT /v2/devices/{id}/devicestate** -  endpoint added\n\n**✏️ Updated**\n\n- **PUT /authz2/v1/roles/{role_id}/scopes** -  added the new `create:device_command:CLEAR_APP_CACHE` enum value to the request property `scope_names/items/`\n\n- **GET /commands/v0/commands/**\n\n  - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `content/results/items/command` response property for the response status `200`\n\n  -  added the optional property `content/results/items/command_args/arguments` to the response with the `200` status\n\n\n- **POST /commands/v0/commands/**\n\n  - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `content/command` response property for the response status `201`\n\n  -  added the new optional request property `command_args/arguments`\n\n  -  added the new `CLEAR_APP_CACHE` enum value to the request property `command`\n\n  -  added the optional property `content/command_args/arguments` to the response with the `201` status\n\n\n- **GET /commands/v0/commands/{id}/**\n\n  - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `content/command` response property for the response status `200`\n\n  -  added the optional property `content/command_args/arguments` to the response with the `200` status\n\n\n- **GET /device/v0/devices/**\n\n  -  added the optional property `content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info` to the response with the `200` status\n\n  -  added the optional property `content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/memory_info` to the response with the `200` status\n\n  -  added the optional property `content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/network_info` to the response with the `200` status\n\n  -  added the optional property `content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/software_info` to the response with the `200` status\n\n\n- **DELETE /device/v0/devices/{id}/**\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/memory_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/network_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/software_info` to the response with the `200` status\n\n\n- **GET /device/v0/devices/{id}/**\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/memory_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/network_info` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDevice]/software_info` to the response with the `200` status\n\n\n- **GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/** - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `results/items/command` response property for the response status `200`\n\n- **GET /v0/enterprise/{enterprise_id}/command/** - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `results/items/command` response property for the response status `200`\n\n- **POST /v0/enterprise/{enterprise_id}/command/**\n\n  - ⚠️ added the new `CLEAR_APP_CACHE` enum value to the `command` response property for the response status `201`\n\n  -  added the new `CLEAR_APP_CACHE` enum value to the request property `command`\n\n\n- **GET /v2/background-scripts/** -  added the optional property `content/results/items/description` to the response with the `200` status\n\n- **POST /v2/background-scripts/**\n\n  -  added the new optional request property `description`\n\n  -  added the optional property `content/description` to the response with the `201` status\n\n\n- **GET /v2/background-scripts/{background_script_id}/** -  added the optional property `content/allOf[#/components/schemas/blueprints_BackgroundScriptRead]/description` to the response with the `200` status\n\n- **GET /v2/blueprints/** -  added the optional property `content/results/items/settings/windows/background_scripts` to the response with the `200` status\n\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property `settings/windows/background_scripts`\n\n  -  added the optional property `content/settings/windows/background_scripts` to the response with the `201` status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/windows/background_scripts` to the response with the `204` status\n\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property `content/settings/windows/background_scripts` to the response with the `200` status\n\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  -  added the new optional request property `allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/background_scripts`\n\n  -  added the optional property `content/settings/windows/background_scripts` to the response with the `200` status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** -  added the optional property `content/results/items/settings/windows/background_scripts` to the response with the `200` status\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property `content/settings/windows/background_scripts` to the response with the `200` status\n\n- **GET /v2/devices/**\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi` to the response with the `200` status\n\n\n- **GET /v2/devices/{id}**\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_stats` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memory` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rate` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_name` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_time` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distribution` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platform` to the response with the `200` status\n\n  -  added the optional property `content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi` to the response with the `200` status\n\n---\n\n**DevRel 189 [2026-05-15]**\n\n➕ Added\n\n- **GET /geofence/v1/geofences** -  endpoint added\n\n- **POST /geofence/v1/geofences** -  endpoint added\n\n- **GET /geofence/v1/geofences/{geofence_id}/blueprints** -  endpoint added\n\n- **GET /geofence/v1/geofences/{geofence_id}/device-summary** -  endpoint added\n\n- **GET /geofence/v1/geofences/{geofence_id}/devices** -  endpoint added\n\n- **GET /tenant/v0/depprofiles/** -  endpoint added\n\n- **POST /tenant/v0/depprofiles/** -  endpoint added\n\n- **GET /v2/background-scripts/** -  endpoint added\n\n- **POST /v2/background-scripts/** -  endpoint added\n\n- **GET /v2/background-scripts/{background_script_id}/** -  endpoint added\n\n**✏️ Updated**\n\n- **GET /v2/blueprints/** - ⚠️ the 'content/results/items/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'\n\n- **POST /v2/blueprints/**\n\n  - ⚠️ the 'settings/android/files/items/file_id' request property type/format changed from 'string'/'' to 'integer'/''\n\n  - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '201'\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/** - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '204'\n\n- **GET /v2/blueprints/{blueprint_id}/** - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'\n\n- **PUT /v2/blueprints/{blueprint_id}/**\n\n  - ⚠️ the '/allOf[#/components/schemas/blueprints_BlueprintV2]/settings/android/files/items/file_id' request property type/format changed from 'string'/'' to 'integer'/''\n\n  - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/** - ⚠️ the 'content/results/items/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** - ⚠️ the 'content/settings/android/files/items/file_id' response's property type/format changed from 'string'/'' to 'integer'/'' for status '200'\n---\n\n**DevRel 188 [2026-04-28]**\n\n**✏️ Updated**\n\n- **GET /v2/blueprints/**\n\n  -  added the new optional 'query' request parameter 'settings__tvos__app_id'\n\n  -  added the new optional 'query' request parameter 'settings__tvos__app_version_id'\n\n  -  added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_id'\n\n  -  added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_version_id'\n\n  -  added the optional property 'content/results/items/settings/tvos' to the response with the '200' status\n\n\n- **POST /v2/blueprints/**\n\n  -  added the new optional request property 'settings/tvos'\n\n  -  added the optional property 'content/settings/tvos' to the response with the '201' status\n\n\n- **DELETE /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/tvos' to the response with the '204' status\n\n- **GET /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/tvos' to the response with the '200' status\n\n- **PUT /v2/blueprints/{blueprint_id}/** -  added the optional property 'content/settings/tvos' to the response with the '200' status\n\n- **GET /v2/blueprints/{blueprint_id}/versions/**\n\n  -  added the new optional 'query' request parameter 'settings__ios__provisioning_profile_id'\n\n  -  added the new optional 'query' request parameter 'settings__ios__provisioning_profile_version_id'\n\n  -  added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_id'\n\n  -  added the new optional 'query' request parameter 'settings__tvos__provisioning_profile_version_id'\n\n  -  added the optional property 'content/results/items/settings/tvos' to the response with the '200' status\n\n\n- **GET /v2/blueprints/{blueprint_id}/versions/{version_id}/** -  added the optional property 'content/settings/tvos' to the response with the '200' status\n\n- **GET /v2/devices/** -  added the new optional 'query' request parameter 'ungrouped_only'\n---\n\n**DevRel 187 [2026-04-14]**\n\n**✏️ Updated**\n\n- **PUT /authz2/v1/roles/{role_id}/scopes**\n\n  -  added the new 'create:device_command:UPDATE_WIFI_AP' enum value to the request property 'scope_names/items/'\n\n  -  added the new 'create:group_command:UPDATE_WIFI_AP' enum value to the request property 'scope_names/items/'\n\n\n- **GET /commands/v0/commands/**\n\n  - ⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  - ⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/results/items/command' response property for the response status '200'\n\n  -  added the optional property 'content/results/items/command_args/anonymous_identity' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/certificate_file_password' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/certificate_file_path' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/domain' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/hidden' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/identity' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/install_action' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/product_version' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/wifi_eap_method' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/wifi_password' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/wifi_phase2_auth' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/wifi_security_type' to the response with the '200' status\n\n  -  added the optional property 'content/results/items/command_args/wifi_ssid' to the response with the '200' status\n\n\n- **POST /commands/v0/commands/**\n\n  - ⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/command' response property for the response status '201'\n\n  - ⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/command' response property for the response status '201'\n\n  - ⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/command' response property for the response status '201'\n\n  - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/command' response property for the response status '201'\n\n  -  added the new optional request property 'command_args/anonymous_identity'\n\n  -  added the new optional request property 'command_args/certificate_file_password'\n\n  -  added the new optional request property 'command_args/certificate_file_path'\n\n  -  added the new optional request property 'command_args/domain'\n\n  -  added the new optional request property 'command_args/hidden'\n\n  -  added the new optional request property 'command_args/identity'\n\n  -  added the new optional request property 'command_args/install_action'\n\n  -  added the new optional request property 'command_args/product_version'\n\n  -  added the new optional request property 'command_args/wifi_eap_method'\n\n  -  added the new optional request property 'command_args/wifi_password'\n\n  -  added the new optional request property 'command_args/wifi_phase2_auth'\n\n  -  added the new optional request property 'command_args/wifi_security_type'\n\n  -  added the new optional request property 'command_args/wifi_ssid'\n\n  -  added the new 'OS_UPDATE_STATUS' enum value to the request property 'command'\n\n  -  added the new 'SCAN_OS_UPDATES' enum value to the request property 'command'\n\n  -  added the new 'SCHEDULE_OS_UPDATE' enum value to the request property 'command'\n\n  -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'command'\n\n  -  added the optional property 'content/command_args/anonymous_identity' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/certificate_file_password' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/certificate_file_path' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/domain' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/hidden' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/identity' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/install_action' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/product_version' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/wifi_eap_method' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/wifi_password' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/wifi_phase2_auth' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/wifi_security_type' to the response with the '201' status\n\n  -  added the optional property 'content/command_args/wifi_ssid' to the response with the '201' status\n\n\n- **GET /commands/v0/commands/{id}/**\n\n  - ⚠️ added the new 'OS_UPDATE_STATUS' enum value to the 'content/command' response property for the response status '200'\n\n  - ⚠️ added the new 'SCAN_OS_UPDATES' enum value to the 'content/command' response property for the response status '200'\n\n  - ⚠️ added the new 'SCHEDULE_OS_UPDATE' enum value to the 'content/command' response property for the response status '200'\n\n  - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'content/command' response property for the response status '200'\n\n  -  added the optional property 'content/command_args/anonymous_identity' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/certificate_file_password' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/certificate_file_path' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/domain' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/hidden' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/identity' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/install_action' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/product_version' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/wifi_eap_method' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/wifi_password' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/wifi_phase2_auth' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/wifi_security_type' to the response with the '200' status\n\n  -  added the optional property 'content/command_args/wifi_ssid' to the response with the '200' status\n\n\n- **GET /commands/v0/status/** -  added the optional property 'content/results/items/command_meta' to the response with the '200' status\n\n- **GET /commands/v0/status/{id}/** -  added the optional property 'content/command_meta' to the response with the '200' status\n\n- **PUT /commands/v0/status/{id}/** -  added the optional property 'content/command_meta' to the response with the '200' status\n\n- **GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/** - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'results/items/command' response property for the response status '200'\n\n- **POST /pipelines/v0/operationlists/{operationlist_id}/operations/** -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'operation_type'\n\n- **GET /v0/enterprise/{enterprise_id}/command/** - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'results/items/command' response property for the response status '200'\n\n- **POST /v0/enterprise/{enterprise_id}/command/**\n\n  - ⚠️ added the new 'UPDATE_WIFI_AP' enum value to the 'command' response property for the response status '201'\n\n  -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'command'\n\n\n- **POST /v0/operations/** -  added the new 'UPDATE_WIFI_AP' enum value to the request property 'operation_type'\n\n- **GET /v2/devices/**\n\n  - ⚠️ for the 'query' request parameter 'limit', default value '10.00' was added\n\n  - ⚠️ added '#/components/schemas/OffsetPaginatedDeviceList, #/components/schemas/CursorPaginatedDeviceList' to the 'content' response property 'oneOf' list for the response status '200'\n\n  - ⚠️ the 'content' response's property type/format changed from 'object'/'' to ''/'' for status '200'\n\n  - ⚠️ for the 'query' request parameter 'limit', the max was set to '1000.00'\n\n  - ⚠️ removed the optional property 'content/count' from the response with the '200' status\n\n  - ⚠️ removed the optional property 'content/next' from the response with the '200' status\n\n  - ⚠️ removed the optional property 'content/previous' from the response with the '200' status\n\n  - ⚠️ removed the optional property 'content/results' from the response with the '200' status\n\n  -  added the new optional 'query' request parameter 'cursor'\n\n---\n\n**DevRel 186 [2026-03-31]**\n \n \n**NO CHANGE**\n---\n\n**DevRel 185 [2026-03-18]**\n\n\n- **GET /v2/devices/{deviceId}/google-accounts/emm-managed/** -  endpoint path updated\n\n- **GET /v2/esper-apps/{appId}/versions/{versionId}** -  endpoint path updated\n\n- **GET /v2/foundationversions** -  endpoint path updated\n\n- **GET /v2/rv-activity-feed/** -  endpoint path updated\n\n- **GET /v2/tenant-esper-apps** -  endpoint path updated\n"}},"baseSlug":"/openapi","routesMapping":{}}