Juniper Mist AI Orgs SDK Invites API
SDK Invites can be generated for (and belongs to) an Org. They can be generated by an Admin of an Org and can be revoked at anytime.
SDK Invites can be generated for (and belongs to) an Org. They can be generated by an Admin of an Org and can be revoked at anytime.
openapi: 3.1.0
info:
contact:
email: tmunzer@juniper.net
name: Thomas Munzer
description: '> Version: **2604.1.1**
>
> Date: **May 13, 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 SDK Invites API
version: 2604.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: []
- basicAuth: []
- basicAuth: []
csrfToken: []
tags:
- description: SDK Invites can be generated for (and belongs to) an Org. They can be generated by an Admin of an Org and can be revoked at anytime.
name: Orgs SDK Invites
paths:
/api/v1/mobile/verify/{secret}:
parameters:
- $ref: '#/components/parameters/secret'
post:
description: Verify secret
operationId: activateSdkInvite
requestBody:
content:
application/json:
examples:
Example:
value:
device_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
schema:
$ref: '#/components/schemas/device_id_string'
responses:
'200':
$ref: '#/components/responses/MobileVerifySecret'
'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: activateSdkInvite
tags:
- Orgs SDK Invites
/api/v1/orgs/{org_id}/sdkinvites:
parameters:
- $ref: '#/components/parameters/org_id'
get:
description: Get List of Org SDK Invites
operationId: listSdkInvites
responses:
'200':
$ref: '#/components/responses/SdkinvitesArray'
'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: listSdkInvites
tags:
- Orgs SDK Invites
post:
description: Create SDK Invite
operationId: createSdkInvite
requestBody:
content:
application/json:
examples:
Example:
value:
enabled: true
name: string
quota: 0
quota_limited: true
schema:
$ref: '#/components/schemas/sdkinvite'
description: Request Body
responses:
'200':
$ref: '#/components/responses/Sdkinvite'
'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: createSdkInvite
tags:
- Orgs SDK Invites
/api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}:
parameters:
- $ref: '#/components/parameters/org_id'
- $ref: '#/components/parameters/sdkinvite_id'
delete:
description: Revoke SDK Invite
operationId: revokeSdkInvite
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: revokeSdkInvite
tags:
- Orgs SDK Invites
get:
description: Get SDK Invite Details
operationId: getSdkInvite
responses:
'200':
$ref: '#/components/responses/Sdkinvite'
'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: getSdkInvite
tags:
- Orgs SDK Invites
put:
description: Update SDK Invite
operationId: updateSdkInvite
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/sdkinvite'
description: Request Body
responses:
'200':
$ref: '#/components/responses/Sdkinvite'
'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: updateSdkInvite
tags:
- Orgs SDK Invites
/api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/email:
parameters:
- $ref: '#/components/parameters/org_id'
- $ref: '#/components/parameters/sdkinvite_id'
post:
description: Send SDK Invite by Email
operationId: sendSdkInviteEmail
requestBody:
content:
application/json:
examples:
Example:
value:
email: test@abc.com
schema:
$ref: '#/components/schemas/email_string'
description: Request Body
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: sendSdkInviteEmail
tags:
- Orgs SDK Invites
/api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/qrcode:
parameters:
- $ref: '#/components/parameters/org_id'
- $ref: '#/components/parameters/sdkinvite_id'
get:
description: Revoke SDK Invite
operationId: getSdkInviteQrCode
responses:
'200':
$ref: '#/components/responses/File'
'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: getSdkInviteQrCode
tags:
- Orgs SDK Invites
/api/v1/orgs/{org_id}/sdkinvites/{sdkinvite_id}/sms:
parameters:
- $ref: '#/components/parameters/org_id'
- $ref: '#/components/parameters/sdkinvite_id'
post:
description: Send SDK Invite by SMS
operationId: sendSdkInviteSms
requestBody:
content:
application/json:
examples:
Example:
value:
number: '14081234567'
schema:
$ref: '#/components/schemas/sdk_invite_sms'
description: Request Body
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: sendSdkInviteSms
tags:
- Orgs SDK Invites
components:
examples:
SdkinviteExample:
value:
created_time: 1428954000
enabled: true
expire_time: 1428954000
id: 5034b980-b49e-501c-66e0-9de4c38f18a2
name: Macy's
quota: -1
MobileVerifySecretExample:
value:
name: Macy's
org_id: b069b358-4c97-5319-1f8c-7c5ca64d6ab1
secret: device-specific-secret
HTTP400Example:
value:
detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
HTTP403Example:
value:
detail: You do not have permission to perform this action.
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.
SdkinvitesArrayExample:
value:
- created_time: 1428954000
enabled: true
expire_time: 1428954000
id: 5034b980-b49e-501c-66e0-9de4c38f18a2
name: Macy's
quota: -1
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_http403:
additionalProperties: false
properties:
detail:
examples:
- You do not have permission to perform this action.
type: string
type: object
sdk_invite_sms:
properties:
number:
type: string
required:
- number
type: object
sdkinvite:
description: SDK invite
properties:
created_time:
$ref: '#/components/schemas/created_time'
enabled:
default: true
type: boolean
expire_time:
type: integer
id:
$ref: '#/components/schemas/id'
modified_time:
$ref: '#/components/schemas/modified_time'
name:
description: Name, will show up in mobile
type: string
org_id:
$ref: '#/components/schemas/org_id'
quota:
description: Number of time this invite can be used
type: integer
quota_limited:
default: false
description: Whether quota limiting is enabled
type: boolean
site_id:
$ref: '#/components/schemas/site_id'
required:
- name
type: object
site_id:
examples:
- 441a1214-6928-442a-8e92-e1d34b8ec6a6
format: uuid
readOnly: true
type: string
response_http404:
additionalProperties: false
properties:
id:
type: string
type: object
sdkinvite_list:
items:
$ref: '#/components/schemas/sdkinvite'
type: array
device_id_string:
properties:
device_id:
format: uuid
type: string
required:
- device_id
type: object
response_http400:
additionalProperties: false
properties:
detail:
examples:
- 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
type: string
type: object
response_http429:
additionalProperties: false
properties:
detail:
examples:
- Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
type: string
type: object
email_string:
properties:
email:
format: email
type: string
required:
- email
type: object
response_http401:
additionalProperties: false
properties:
detail:
examples:
- Authentication credentials were not provided.
type: string
type: object
org_id:
examples:
- a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
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
created_time:
description: When the object has been created, in epoch
format: double
readOnly: true
type: number
response_mobile_verify_secret:
additionalProperties: false
properties:
name:
type: string
org_id:
$ref: '#/components/schemas/org_id'
secret:
format: password
type: string
required:
- name
- org_id
- secret
type: object
parameters:
sdkinvite_id:
in: path
name: sdkinvite_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
org_id:
in: path
name: org_id
required: true
schema:
examples:
- 000000ab-00ab-00ab-00ab-0000000000ab
format: uuid
type: string
secret:
in: path
name: secret
required: true
schema:
type: string
responses:
SdkinvitesArray:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/SdkinvitesArrayExample'
schema:
$ref: '#/components/schemas/sdkinvite_list'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/SdkinvitesArrayExample'
schema:
$ref: '#/components/schemas/sdkinvite_list'
description: OK
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
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
File:
content:
application/json:
schema:
contentMediaType: application/octet-stream
description: File
type: string
application/vnd.api+json:
schema:
contentMediaType: application/octet-stream
description: File
type: string
description: OK
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
Sdkinvite:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/SdkinviteExample'
schema:
$ref: '#/components/schemas/sdkinvite'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/SdkinviteExample'
schema:
$ref: '#/components/schemas/sdkinvite'
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
MobileVerifySecret:
content:
application/json:
examples:
Example:
$ref: '#/components/examples/MobileVerifySecretExample'
schema:
$ref: '#/components/schemas/response_mobile_verify_secret'
application/vnd.api+json:
examples:
Example:
$ref: '#/components/examples/MobileVerifySecretExample'
schema:
$ref: '#/components/schemas/response_mobile_verify_secret'
description: OK
OK:
description: OK
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
securitySchemes:
apiToken:
description: "Like many other API providers, it’s also possible to generate API Tokens to be used (in HTTP Header) for authentication. An API token ties to a Admin with equal or less privileges.\n\n**Format**:\n API Token value format is `Token {apitoken}`\n\n**Notes**:\n* an API token generated for a specific admin has the same privilege as the user\n* an API token will be automatically removed if not used for > 90 days\n* SSO admins cannot generate these API tokens. Refer Org level API tokens which can have privileges of a specific Org/Site for more information."
in: header
name: Authorization
type: apiKey
basicAuth:
description: While our current UI uses Session / Cookie-based authentication, it’s also possible to do Basic Auth.
scheme: basic
type: http
csrfToken:
description: "This protects the website against [Cross Site Request Forgery](https://en.wikipedia.org/wiki/Cross-site_request_forgery), all the POST / PUT / DELETE APIs needs to have CSRF token in the AJAX Request header when using Login/Password authentication (with or without MFA)\n\n\nThe CSRF Token is sent back by Mist in the Cookies from the Login Response API Call:\n`cookies[csrftoken]` \n\nThe CSRF Token must be added in the HTTP Request Headers:\n```\nX-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx\n```"
in: header
name: X-CSRFToken
type: apiKey