openapi: 3.1.0 info: contact: email: tmunzer@juniper.net name: Thomas Munzer description: '> Version: **2604.1.1** > > Date: **May 13, 2026**
NOTE:
Some important API changes will be introduced. Please make sure to read the announcements
--- ## 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 Psk Portals 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: 'PSK Self-Service Portals are for 1. **Wi-Fi users** who want to connect to a WLAN with personal PSK, they''re told to connect to a URL where they can login (likely through company\u2019s SSO) and get the Wi-Fi Name / Passphrase - required input fields name, email so we can generate PSK 2. **PSK Admins** (they don''t have access to normal Network Admin Portal) When a PSK portal is created, an unique URL will be generated (e.g. https://psk.mist.com/xxxxxx)' name: Orgs Psk Portals paths: /api/v1/orgs/{org_id}/pskportals: parameters: - $ref: '#/components/parameters/org_id' get: description: Get List of Org Psk Portals operationId: listOrgPskPortals parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/PskPortalsArray' '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: listOrgPskPortals tags: - Orgs Psk Portals post: description: Create Org Psk Portal operationId: createOrgPskPortal requestBody: content: application/json: examples: Example: value: auth: sso expire_time: 262800 expiry_notification_time: 2 hide_psks_created_by_other_admins: false max_usage: 1 name: USR-test notify_expiry: false passphrase_rules: alphabets_enabled: true length: 8 numerics_enabled: true symbols: ()[]{}_%@#&$ symbols_enabled: true ssid: USR-test sso: idp_cert: '-----BEGIN CERTIFICATE----- MIIDqDCCApCgA...-----END CERTIFICATE-----' idp_sign_algo: sha256 idp_sso_url: https://dev-00000000.okta.com/app/dev-00000000/a6b88bec5ab7/sso/saml issuer: http://www.okta.com/a6b88bec5ab7 nameid_format: email type: byod vlan_id: 42 schema: $ref: '#/components/schemas/psk_portal' responses: '200': $ref: '#/components/responses/PskPortal' '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: createOrgPskPortal tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/logs: parameters: - $ref: '#/components/parameters/org_id' get: description: Get the list of PSK Portals Logs operationId: listOrgPskPortalLogs parameters: - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/page' responses: '200': $ref: '#/components/responses/PskPortalLogsSearch' '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: listOrgPskPortalLogs tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/logs/count: parameters: - $ref: '#/components/parameters/org_id' get: description: Count by Distinct Attributes of PskPortal Logs operationId: countOrgPskPortalLogs parameters: - in: query name: distinct schema: $ref: '#/components/schemas/org_psk_portal_logs_count_distinct' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/limit' responses: '200': $ref: '#/components/responses/Count' '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: countOrgPskPortalLogs tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/logs/search: parameters: - $ref: '#/components/parameters/org_id' get: description: Search Org PSK Portal Logs operationId: searchOrgPskPortalLogs parameters: - in: query name: psk_name schema: type: string - in: query name: psk_id schema: type: string - in: query name: pskportal_id schema: type: string - description: audit_id in: query name: id schema: format: uuid type: string - in: query name: admin_name schema: type: string - in: query name: admin_id schema: type: string - description: Name_id used in SSO in: query name: name_id schema: format: uuid type: string - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/start' - $ref: '#/components/parameters/end' - $ref: '#/components/parameters/duration' - $ref: '#/components/parameters/sort' - $ref: '#/components/parameters/search_after' responses: '200': $ref: '#/components/responses/PskPortalLogsSearch' '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: searchOrgPskPortalLogs tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/{pskportal_id}: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/pskportal_id' delete: description: Delete Org Psk Portal operationId: deleteOrgPskPortal 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: deleteOrgPskPortal tags: - Orgs Psk Portals get: description: Get Org Psk Portal Details operationId: getOrgPskPortal responses: '200': $ref: '#/components/responses/PskPortal' '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: getOrgPskPortal tags: - Orgs Psk Portals put: description: Update Org Psk Portal operationId: updateOrgPskPortal requestBody: content: application/json: examples: Example: value: auth: sso expire_time: 262800 expiry_notification_time: 2 hide_psks_created_by_other_admins: false max_usage: 1 name: USR-test notify_expiry: false passphrase_rules: alphabets_enabled: true length: 8 numerics_enabled: true symbols: ()[]{}_%@#&$ symbols_enabled: true sponsors: idp_cert: '-----BEGIN CERTIFICATE----- MIIDqDCCApCgA...-----END CERTIFICATE-----' idp_sign_algo: sha256 idp_sso_url: https://dev-00000000.okta.com/app/dev-00000000/a6b88bec5ab7/sso/saml issuer: http://www.okta.com/a6b88bec5ab7 nameid_format: email ssid: USR-test type: byod vlan_id: nu42ll schema: $ref: '#/components/schemas/psk_portal' responses: '200': $ref: '#/components/responses/PskPortal' '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: updateOrgPskPortal tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/{pskportal_id}/portal_image: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/pskportal_id' delete: description: 'Delete background image for PskPortal If image is not uploaded or is deleted, PskPortal will use default image.' operationId: deleteOrgPskPortalImage 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: deleteOrgPskPortalImage tags: - Orgs Psk Portals post: description: Upload background image for PskPortal operationId: uploadOrgPskPortalImage requestBody: content: multipart/form-data: schema: $ref: '#/components/schemas/psk_portal_image' 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: uploadOrgPskPortalImage tags: - Orgs Psk Portals /api/v1/orgs/{org_id}/pskportals/{pskportal_id}/portal_template: parameters: - $ref: '#/components/parameters/org_id' - $ref: '#/components/parameters/pskportal_id' put: description: Update Org Psk Portal Template operationId: updateOrgPskPortalTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/psk_portal_template' 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: updateOrgPskPortalTemplate tags: - Orgs Psk Portals components: 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_count: additionalProperties: false properties: distinct: type: string end: type: integer limit: type: integer results: $ref: '#/components/schemas/count_results' start: type: integer total: type: integer required: - distinct - end - limit - results - start - total type: object psk_portal_template_setting: additionalProperties: false properties: alignment: $ref: '#/components/schemas/portal_template_alignment' color: default: '#1074bc' type: string logo: description: Custom logo with "data:image/png;base64," format. default null, uses Juniper Mist Logo type: - string - 'null' poweredBy: default: false description: Whether to hide "Powered by Juniper Mist" and email footers type: boolean tos: description: Whether to show Terms of Service type: boolean tosAcceptLabel: default: I accept the Terms of Service description: Terms of Service accept button label type: string tosError: default: Please review and accept the Terms of Service description: Terror message for not accepting tos type: string tosLink: default: Terms of Service type: string tosText: default: << provide your Terms of Service here >> description: terms and service text displayed in footer if tos is enabled type: string tosUrl: description: customized url for defining terms of service examples: - https://company.com/wifi-policy type: string type: object psk_portal_sso_idp_sign_algo: default: sha256 description: 'Signing algorithm for SAML Assertion. enum: `sha1`, `sha256`, `sha384`, `sha512`. enum: `sha1`, `sha256`, `sha384`, `sha512`' enum: - sha1 - sha256 - sha384 - sha512 type: string response_psk_portal_logs_search: additionalProperties: false properties: end: examples: - 1428954000 type: integer limit: examples: - 100 type: integer next: type: string results: $ref: '#/components/schemas/response_psk_portal_logs_search_item_list' start: examples: - 1428939600 type: integer total: examples: - 135 type: integer type: object psk_portal_template: properties: portal_template: $ref: '#/components/schemas/psk_portal_template_setting' type: object org_psk_portal_logs_count_distinct: default: pskportal_id description: 'enum: `admin_id`, `admin_name`, `psk_id`, `psk_name`, `pskportal_id`, `user_id`' enum: - admin_id - admin_name - psk_id - psk_name - pskportal_id - user_id type: string psk_portal_image: additionalProperties: false properties: file: contentMediaType: application/octet-stream description: Binary file type: string json: description: JSON string describing the upload type: string type: object response_http403: additionalProperties: false properties: detail: examples: - You do not have permission to perform this action. type: string type: object portal_template_alignment: default: center description: 'defines alignment on portal. enum: `center`, `left`, `right`' enum: - center - left - right type: string count_results: items: $ref: '#/components/schemas/count_result' type: array uniqueItems: true count_result: additionalProperties: type: string properties: count: type: integer required: - count type: object response_psk_portal_logs_search_item_list: items: $ref: '#/components/schemas/response_psk_portal_logs_search_item' type: array response_http404: additionalProperties: false properties: id: type: string type: object timestamp: description: Epoch (seconds) format: double readOnly: true type: number psk_portal_list: items: $ref: '#/components/schemas/psk_portal' type: array response_psk_portal_logs_search_item: additionalProperties: false properties: id: $ref: '#/components/schemas/id' message: examples: - Rotate PSK test@mist.com type: string name_id: examples: - test@mist.com type: string org_id: $ref: '#/components/schemas/org_id' psk_id: examples: - 608fe603-f9f0-4ce9-9473-04ef6c6ea749 format: uuid type: string psk_name: examples: - test@mist.com type: string pskportal_id: examples: - c1742c09-af35-4161-96ef-7dc65c6d5674 format: uuid type: string timestamp: $ref: '#/components/schemas/timestamp' type: object vlan_id_with_variable: oneOf: - type: string - maximum: 4094 minimum: 1 type: integer response_http400: additionalProperties: false properties: detail: examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' type: string type: object psk_portal_type: description: 'for personal psk portal. enum: `admin`, `byod`' enum: - admin - byod type: string 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 psk_portal_passphrase_rules: additionalProperties: false properties: alphabets_enabled: default: true type: boolean length: maximum: 63 minimum: 8 type: integer max_length: description: "For valid `max_length` and `min_length`, passphrase size is set randomly from that range.\n - if `max_length` and/or `min_length` are invalid, passphrase size is equal to `length` parameter\n - if `length` is not set or is invalid, default passphrase size is 8.\n - valid `max_length`, `min_length`, `length` should be an integer between 8 to 63. Also, `max_length` > `min_length`" maximum: 63 minimum: 8 type: integer min_length: description: "Ror valid `max_length` and `min_length`, passphrase size is set randomly from that range.\n - if `max_length` and/or `min_length` are invalid, passphrase size is equal to `length` parameter\n - if `length` is not set or is invalid, default passphrase size is 8.\n - valid `max_length`, `min_length`, `length` should be an integer between 8 to 63. Also, `max_length` > `min_length`" maximum: 63 minimum: 8 type: integer numerics_enabled: default: true type: boolean symbols: examples: - ()[]{}_%@#&$ type: string symbols_enabled: default: true type: boolean type: object psk_portal_required_fields: description: what information to ask for (email is required by default) items: type: string type: array psk_portal_sso_allowed_roles: description: Allowed roles for accessing psk portal, if none, any role is permitted items: type: string type: array 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 psk_portal: properties: auth: $ref: '#/components/schemas/psk_portal_auth' bg_image_url: type: string cleanup_psk: default: false description: Used to cleanup exited psk when portal delete or ssid changed type: boolean created_time: $ref: '#/components/schemas/created_time' expire_time: description: unit min type: integer expiry_notification_time: description: Number of days before psk is expired. Used as to when to start sending reminder notification when the psk is about to expire type: integer hide_psks_created_by_other_admins: default: false description: Only if `type`==`admin` type: boolean id: $ref: '#/components/schemas/id' max_usage: default: 0 description: '`max_usage`==`0` means unlimited' type: integer modified_time: $ref: '#/components/schemas/modified_time' name: type: string notification_renew_url: description: Optional, will include the link in the notification email the customer can either provide their own url or use the one generate from mist, or do a url shorterner against either examples: - https://custom-sso/url format: url type: string notify_expiry: description: If set to true, reminder notification will be sent when psk is about to expire type: boolean notify_on_create_or_edit: default: false type: boolean org_id: $ref: '#/components/schemas/org_id' passphrase_rules: $ref: '#/components/schemas/psk_portal_passphrase_rules' required_fields: $ref: '#/components/schemas/psk_portal_required_fields' role: type: string ssid: description: intended SSID type: string sso: $ref: '#/components/schemas/psk_portal_sso' template_url: description: UI customization type: string thumbnail_url: type: string type: $ref: '#/components/schemas/psk_portal_type' ui_url: type: string vlan_id: $ref: '#/components/schemas/vlan_id_with_variable' required: - name - ssid type: object psk_portal_auth: default: sso description: 'enum: `sponsor`, `sso`' enum: - sponsor - sso type: string modified_time: description: When the object has been modified for the last time, in epoch format: double readOnly: true type: number psk_portal_sso: additionalProperties: false description: If `auth`==`sso` properties: allowed_roles: $ref: '#/components/schemas/psk_portal_sso_allowed_roles' idp_cert: type: string idp_sign_algo: $ref: '#/components/schemas/psk_portal_sso_idp_sign_algo' idp_sso_url: type: string issuer: type: string nameid_format: type: string role_mapping: additionalProperties: type: string description: Property key is the role name, property value is the SSO Attribute type: object use_sso_role_for_psk_role: description: If enabled, the `role` above will be ignored type: boolean type: object created_time: description: When the object has been created, in epoch format: double readOnly: true type: number examples: PskPortalLogsSearchPSKPortalLogs: value: end: 1428954000 limit: 100 results: - id: 8a3dcaa7-80e3-4bb0-a75b-7bc6322cfd09 message: Rotate PSK test@mist.com name_id: test@mist.com org_id: 2818e386-8dec-2562-9ede-5b8a0fbbdc71 psk_id: 608fe603-f9f0-4ce9-9473-04ef6c6ea749 psk_name: test@mist.com pskportal_id: c1742c09-af35-4161-96ef-7dc65c6d5674 timestamp: 1686346104.096 start: 1428939600 total: 135 CountExample: value: distinct: string end: 0 limit: 0 results: - count: 0 property: string start: 0 total: 0 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. PskPortal: value: auth: sso created_time: 1727272316 expire_time: 262800 expiry_notification_time: 2 hide_psks_created_by_other_admins: false id: 86ef73e5-e360-4e33-abd8-c2da7b11cbd6 max_usage: 1 modified_time: 1727272316 name: USR-test notify_expiry: false org_id: 8f6c24d5-b618-4c30-b6ff-b2febc1078ab passphrase_rules: alphabets_enabled: true length: 8 numerics_enabled: true symbols: ()[]{}_%@#&$ symbols_enabled: true role: '' ssid: USR-test sso: idp_cert: '-----BEGIN CERTIFICATE----- MIIDqDCCApCgA...-----END CERTIFICATE-----' idp_sign_algo: sha256 idp_sso_url: https://dev-00000000.okta.com/app/dev-00000000/a6b88bec5ab7/sso/saml issuer: http://www.okta.com/a6b88bec5ab7 nameid_format: email type: byod ui_url: https://pskportal.gc1.mist.com/#!byod/a6b88bec-5ab7-41ae-a34c-44ff52a8b81d vlan_id: 123 parameters: org_id: in: path name: org_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string start: description: Start time (epoch timestamp in seconds, or relative string like "-1d", "-1w") in: query name: start schema: type: string sort: description: On which field the list should be sorted, -prefix represents DESC order in: query name: sort schema: default: timestamp examples: - -site_id type: string duration: description: Duration like 7d, 2w in: query name: duration schema: default: 1d examples: - 10m type: string pskportal_id: in: path name: pskportal_id required: true schema: examples: - 000000ab-00ab-00ab-00ab-0000000000ab format: uuid type: string search_after: description: Pagination cursor for retrieving subsequent pages of results. This value is automatically populated by Mist in the `next` URL from the previous response and should not be manually constructed. in: query name: search_after schema: type: string page: in: query name: page schema: default: 1 minimum: 1 type: integer end: description: End time (epoch timestamp in seconds, or relative string like "-1d", "-2h", "now") in: query name: end schema: type: string limit: in: query name: limit schema: default: 100 minimum: 0 type: integer responses: PskPortalLogsSearch: content: application/json: examples: PSK Portal Logs: $ref: '#/components/examples/PskPortalLogsSearchPSKPortalLogs' schema: $ref: '#/components/schemas/response_psk_portal_logs_search' application/vnd.api+json: examples: PSK Portal Logs: $ref: '#/components/examples/PskPortalLogsSearchPSKPortalLogs' schema: $ref: '#/components/schemas/response_psk_portal_logs_search' description: Example response 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 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 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 PskPortal: content: application/json: examples: PSK Portal: $ref: '#/components/examples/PskPortal' schema: $ref: '#/components/schemas/psk_portal' application/vnd.api+json: examples: PSK Portal: $ref: '#/components/examples/PskPortal' schema: $ref: '#/components/schemas/psk_portal' description: Example response OK: description: OK PskPortalsArray: content: application/json: schema: $ref: '#/components/schemas/psk_portal_list' application/vnd.api+json: schema: $ref: '#/components/schemas/psk_portal_list' description: Example response Count: content: application/json: examples: Example: $ref: '#/components/examples/CountExample' schema: $ref: '#/components/schemas/response_count' application/vnd.api+json: examples: Example: $ref: '#/components/examples/CountExample' schema: $ref: '#/components/schemas/response_count' description: Result of Count 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