Mist Orgs API
An organization usually represents a customer - which has inventories, licenses. An Organization can contain multiple sites. A site usually represents a deployment at the same location (a campus, an office).
An organization usually represents a customer - which has inventories, licenses. An Organization can contain multiple sites. A site usually represents a deployment at the same location (a campus, an office).
openapi: 3.1.0
info:
contact:
email: tmunzer@juniper.net
name: Thomas Munzer
description: '> Version: **2606.1.1**
>
> Date: **July 10, 2026**
<div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>
---
## Additional Documentation
* [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)
* [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)
* [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)
## Helpful Resources
* [API Sandbox and Exercises](https://api-class.mist.com/)
* [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)
* [Python Script Examples](https://github.com/tmunzer/mist_library)
* [API Demo Apps](https://apps.mist-lab.fr/)
* [Juniper Blog](https://blogs.juniper.net/)
## Mist Web Browser Extension:
* Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)
* Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)
---'
license:
name: MIT
url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
title: Mist Admins Orgs API
version: 2606.1.1
x-logo:
altText: Juniper-MistAI
backgroundColor: '#FFFFFF'
url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
url: https://api.mist.com
- description: Mist Global 02
url: https://api.gc1.mist.com
- description: Mist Global 03
url: https://api.ac2.mist.com
- description: Mist Global 04
url: https://api.gc2.mist.com
- description: Mist Global 05
url: https://api.gc4.mist.com
- description: Mist EMEA 01
url: https://api.eu.mist.com
- description: Mist EMEA 02
url: https://api.gc3.mist.com
- description: Mist EMEA 03
url: https://api.ac6.mist.com
- description: Mist EMEA 04
url: https://api.gc6.mist.com
- description: Mist APAC 01
url: https://api.ac5.mist.com
- description: Mist APAC 02
url: https://api.gc5.mist.com
- description: Mist APAC 03
url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: An organization usually represents a customer - which has inventories, licenses. An Organization can contain multiple sites. A site usually represents a deployment at the same location (a campus, an office).
name: Orgs
paths:
/api/v1/orgs:
post:
description: Create a Mist organization with organization-level defaults such as display name, support-access setting, default alarm template, and admin session lifetime.
operationId: createOrg
requestBody:
content:
application/json:
examples:
Example:
value:
alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
allow_mist: true
name: string
session_expiry: 1440
schema:
$ref: '#/components/schemas/org'
responses:
'200':
$ref: '#/components/responses/Org'
'400':
$ref: '#/components/responses/HTTP400'
'401':
$ref: '#/components/responses/HTTP401'
'403':
$ref: '#/components/responses/HTTP403'
'404':
$ref: '#/components/responses/HTTP404'
'429':
$ref: '#/components/responses/HTTP429'
summary: createOrg
tags:
- Orgs
/api/v1/orgs/{org_id}:
parameters:
- $ref: '#/components/parameters/org_id'
delete:
description: Delete an organization and its organization-level resources. Use MSP organization assignment endpoints when only changing MSP ownership or association. This action is only allowed when the Organization Inventory is empty.
operationId: deleteOrg
responses:
'200':
$ref: '#/components/responses/OK'
'400':
$ref: '#/components/responses/HTTP400'
'401':
$ref: '#/components/responses/HTTP401'
'403':
$ref: '#/components/responses/HTTP403'
'404':
$ref: '#/components/responses/HTTP404'
'429':
$ref: '#/components/responses/HTTP429'
summary: deleteOrg
tags:
- Orgs
get:
description: Return organization details, including name, MSP ownership, organization group membership, support-access setting, and session settings.
operationId: getOrg
responses:
'200':
$ref: '#/components/responses/Org'
'400':
$ref: '#/components/responses/HTTP400'
'401':
$ref: '#/components/responses/HTTP401'
'403':
$ref: '#/components/responses/HTTP403'
'404':
$ref: '#/components/responses/HTTP404'
'429':
$ref: '#/components/responses/HTTP429'
summary: getOrg
tags:
- Orgs
put:
description: Update organization-level settings such as display name, support-access setting, organization groups, default alarm template, or admin session lifetime.
operationId: updateOrg
requestBody:
content:
application/json:
examples:
Example:
value:
alarmtemplate_id: 1984805d-2be2-4aec-a8d4-3ddf67fab0df
allow_mist: true
name: string
orggroup_ids: []
session_expiry: 1440
schema:
$ref: '#/components/schemas/org'
description: Request Body
responses:
'200':
$ref: '#/components/responses/Org'
'400':
$ref: '#/components/responses/HTTP400'
'401':
$ref: '#/components/responses/HTTP401'
'403':
$ref: '#/components/responses/HTTP403'
'404':
$ref: '#/components/responses/HTTP404'
'429':
$ref: '#/components/responses/HTTP429'
summary: updateOrg
tags:
- Orgs
/api/v1/orgs/{org_id}/clone:
parameters:
- $ref: '#/components/parameters/org_id'
post:
description: Create an Org by cloning from another one. Org Settings, Templates, Wxlan Tags, Wxlan Tunnels, Wxlan Rules, Org Wlans will be copied. Sites and Site Groups will not be copied, and therefore, the copied template will not be applied to any site/sitegroups.
operationId: cloneOrg
requestBody:
content:
application/json:
examples:
Example:
value:
name: New Org
schema:
$ref: '#/components/schemas/name_string'
description: Request Body
responses:
'200':
$ref: '#/components/responses/Org'
'400':
$ref: '#/components/responses/HTTP400'
'401':
$ref: '#/components/responses/HTTP401'
'403':
$ref: '#/components/responses/HTTP403'
'404':
$ref: '#/components/responses/HTTP404'
'429':
$ref: '#/components/responses/HTTP429'
summary: cloneOrg
tags:
- Orgs
components:
parameters:
org_id:
in: path
name: org_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
responses:
OK:
description: OK
HTTP400:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP400Example'
schema:
$ref: '#/components/schemas/response_http400'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP400Example'
schema:
$ref: '#/components/schemas/response_http400'
description: Bad Syntax
HTTP403:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP403Example'
schema:
$ref: '#/components/schemas/response_http403'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP403Example'
schema:
$ref: '#/components/schemas/response_http403'
description: Permission Denied
HTTP404:
content:
application/json:
schema:
$ref: '#/components/schemas/response_http404'
application/vnd.api+json:
schema:
$ref: '#/components/schemas/response_http404'
description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist
Org:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/OrgExample'
schema:
$ref: '#/components/schemas/org'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/OrgExample'
schema:
$ref: '#/components/schemas/org'
description: Org Infos
HTTP429:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP429Example'
schema:
$ref: '#/components/schemas/response_http429'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP429Example'
schema:
$ref: '#/components/schemas/response_http429'
description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
HTTP401:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/HTTP401Example'
schema:
$ref: '#/components/schemas/response_http401'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/HTTP401Example'
schema:
$ref: '#/components/schemas/response_http401'
description: Unauthorized
schemas:
id:
description: Unique ID of the object instance in the Mist Organization
examples:
- 53f10664-3ce8-4c27-b382-0ef66432349f
format: uuid
readOnly: true
type: string
response_http429:
additionalProperties: false
description: Standard HTTP 429 rate limit error response
properties:
detail:
description: Human-readable explanation of the rate limit error
examples:
- Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
type: string
type: object
response_http401:
additionalProperties: false
description: Standard HTTP 401 authentication error response
properties:
detail:
description: Human-readable explanation of the authentication error
examples:
- Authentication credentials were not provided.
type: string
type: object
created_time:
description: When the object has been created, in epoch
format: double
readOnly: true
type: number
response_http403:
additionalProperties: false
description: Standard HTTP 403 permission error response
properties:
detail:
description: Human-readable explanation of the permission error
examples:
- You do not have permission to perform this action.
type: string
type: object
org:
description: Mist organization containing sites, devices, users, and organization-level settings
properties:
alarmtemplate_id:
description: Org-level alarm template ID used as the default for sites
format: uuid
type:
- string
- 'null'
allow_mist:
default: true
description: Whether Mist support access is allowed for this organization
type: boolean
created_time:
$ref: '#/components/schemas/created_time'
description: Epoch timestamp when the organization was created
id:
$ref: '#/components/schemas/id'
description: Unique identifier of the organization
modified_time:
$ref: '#/components/schemas/modified_time'
description: Epoch timestamp when the organization was last modified
msp_id:
$ref: '#/components/schemas/msp_id'
description: Managed service provider account that owns this organization, when applicable
msp_logo_url:
description: logo uploaded by the MSP with advanced tier, only present if provided
examples:
- https://example.com/logo/b9d42c2e-88ee-41f8-b798-f009ce7fe909.jpeg
format: uri
readOnly: true
type: string
msp_name:
description: Name of the msp the org belongs to
examples:
- MSP
readOnly: true
type: string
name:
description: Display name of the organization
examples:
- Org
type: string
orggroup_ids:
$ref: '#/components/schemas/orggroup_ids'
description: Organization group IDs that include this organization
session_expiry:
default: 1440
description: Admin session lifetime for the organization, in minutes
format: int32
maximum: 20160
minimum: 10
type: integer
required:
- name
type: object
response_http400:
additionalProperties: false
description: Standard HTTP 400 bad request error response
properties:
detail:
description: Human-readable explanation of the bad request error
examples:
- 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
type: string
type: object
orggroup_ids:
description: List of organization group identifiers
items:
format: uuid
type: string
type: array
name_string:
description: Request body containing a name value
properties:
name:
description: Value to create or update as the target resource name
type: string
type: object
msp_id:
description: Managed service provider identifier
examples:
- b9d42c2e-88ee-41f8-b798-f009ce7fe909
format: uuid
readOnly: true
type: string
modified_time:
description: When the object has been modified for the last time, in epoch
format: double
readOnly: true
type: number
response_http404:
additionalProperties: false
description: Standard HTTP 404 not found error response
properties:
id:
description: Missing resource identifier, when the API includes one
type: string
type: object
examples:
OrgExample:
value:
alarmtemplate_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
allow_mist: true
created_time: 0
id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
modified_time: 0
msp_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
name: string
orggroup_ids:
- b069b358-4c97-5319-1f8c-7c5ca64d6ab1
session_expiry: 1440
HTTP403Example:
value:
detail: You do not have permission to perform this action.
HTTP400Example:
value:
detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
HTTP429Example:
value:
detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
HTTP401Example:
value:
detail: Authentication credentials were not provided.
securitySchemes:
apiToken:
description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed."
in: header
name: Authorization
type: apiKey
csrfToken:
description: 'Session-based authentication for browser or login/password flows. After a successful [Login](/#operations/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session.
**Format**:
```
X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx
```
For automation, API Token authentication is preferred.'
in: header
name: X-CSRFToken
type: apiKey