@itentialopensource/adapter-adtran_mosaic_cloud_platform
Version:
This adapter integrates with system described as: ADTRAN® Mosaic Cloud Platform (Mosaic CP).
1,155 lines • 3.07 MB
JSON
{
"openapi": "3.0.0",
"info": {
"title": "Mosaic CP API Guide",
"description": "## Introduction\n\nThis guide describes the process of Operations Support System (OSS) provisioning of the ADTRAN® Mosaic Cloud Platform (Mosaic CP). An OSS consists of application(s) software that operates within a carrier’s management network and allows their systems to perform network management functions for a variety of operational support systems. This guide provides a dictionary of supported Application Programming Interface (API) commands used to complete Mosaic CP provisioning.\n\nThe Mosaic CP RESTCONF Northbound Interface (NBI) provides a programmable interface between the OSS and the associated network elements. Integration with the Mosaic CP API provides operators with a consistent and repeatable command structure across a multitude of deployment architectures.\n\nThe figure below illustrates the interactions between the OSS and Mosaic CP. The network elements will vary according to the deployment.\n\n\n\nThe main sections that make up this guide are as follows:\n\n* **Administration**: covers tasks expected to be performed by an administrator, such as how to get an API token, add/remove users, reset passwords, add device credentials, setup policies and more.\n* **Events**: covers APIs to retrieve events from the system and forward events to external systems such as a Kafka listener.\n* **Jobs**: using Mosaic CP to create, run, and check the status of jobs.\n* **Platform Details**: get the status of Mosaic CP as well as information about software versions and enabled features.\n* **Orchestration Objects**: this section covers using Mosaic CP as an SDN orchestrator.\n* **Search and Filter**: how to search for objects on the system and filter those searches based on various attributes of those objects.\n \n\n## Updates\n\n### 22.2\n\n* Added \"Job Run - Reboot Device\"\n* Deleted \"Query Interface Inspect Inventory-status\" and \"Query Device Insepct Inventory-status\" in favor of modeled inspect\n* Updated the response body for \"Run Job - Reflow Interface\"\n* Added an example request \"Run Job with Parameters - Backup Device Configuration\"\n* Added an example request \"Job Run with Parameters - Restore Device Configuration\"\n* Added an example request \"Job Run - Resynchronize NETCONF Alarms Job\"\n* Added an example request \"Run Job - Ethernet Loopback\"\n \n\n### 21.1\n\n* Added Orchestration API support for the Content Provider and Bundle Objects. This allows for these objects to be activated in a single API call without having to perform configure, deploy, activate actions.\n \n\n### 21.2\n\n* Added secure credential flag (set to false by default). To enable it, create/edit user.conf and set com.adtran.firefly.firefly-aaa.secure-credentials=true. This flag will be enabled by default in 21.3.\n* Added an additional permission called read-hidden-adtn-cld-pfrm-crdls (given to admins by default). When the secure credential flag is enabled and the user has this permission the user is able to see the password/key of an existing credential in plain text from the API. If the user does not have this permission a fixed number of asterisks will be returned for the password/key of the credential.\n \n\n### 21.4\n\n* Added support to Configure Device with IPv6 or IPv4\n* Added Modeled-Inspect support for Provisioning and Deleting Objects, and Inspecting an Interface or Device\n* Added support to Get all Compatible Model Names based on a requested model name\n \n\n### 21.5\n\n* Updated Get Users and Get All Users with user-type\n* Added Modeled-Inspect Query Depth support for Interfaces and Devices",
"contact": {},
"version": "1.0"
},
"servers": [
{
"url": "http://example.com/api/restconf",
"variables": {}
}
],
"paths": {
"/operations/adtran-auth-token:request-token": {
"post": {
"tags": [
"Token Management"
],
"summary": "Request a Session Token",
"description": "For accessing APIs in the system, there are these methods:\n\n1. Using Basic Authentication\n2. Using a Session Token\n\nThe following API command creates a session token. Subsequent requests to the system can use the obtained session token for authentication. A new token is necessary if the token expires (see below).\n\n<br>\nRequest Payload Details\n</br>\n\n| Attribute | Description |\n| --- | --- |\n| username | **Required:** The unique username of the user. |\n| password | **Required:** The password of the user account for which the token is to be created. |\n\n<br>\nResponse Data Details\n</br>\n\n| Attribute | Description |\n| --- | --- |\n| token | Obtained API token. |\n\n\n### Notes\n* Tokens are subject to an inactivity timeout which is, by default, 30 minutes. If the token is not used within the inactivity timeout period, a new token must be obtained from Mosaic CP.\n* If you do not opt for basic authentication, you will need a session token for API authentication.\n* API response times will be faster when using a session token vs basic authentication.",
"operationId": "RequestaSessionToken",
"parameters": [],
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequestaSessionTokenRequest"
},
"example": {
"username": "{{basic-auth-username}}",
"password": "{{basic-auth-password}}"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "76"
},
"example": "76"
}
}
},
"content-type": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "application/json; charset=UTF-8"
},
"example": "application/json; charset=UTF-8"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 09:17:31 GMT"
},
"example": "Tue, 05 May 2020 09:17:31 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RequestaSessionToken-Success"
},
"example": {
"token": "832e64d6097515d558464ec0f776149645812ac8ffeaf63a04d130fadb117f91"
}
}
}
},
"401": {
"description": "Unauthorized",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 10:52:44 GMT"
},
"example": "Tue, 05 May 2020 10:52:44 GMT"
}
}
},
"Content-Length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "159"
},
"example": "159"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json; charset=UTF-8": {
"schema": {
"$ref": "#/components/schemas/RequestaSessionToken-InvalidPassword1"
},
"example": {
"message": "Supplied username or password is incorrect. Please try again. Multiple failed login attempts may result in your account being temporarily locked."
}
}
}
}
},
"deprecated": false,
"security": []
}
},
"/operations/adtran-auth-token:release-token": {
"post": {
"tags": [
"Token Management"
],
"summary": "Release a Session Token",
"description": "Release a token so that it may no longer be used to authenticate requests.\n\n| Attribute | Description |\n| --- | --- |\n| token | **Required:** The API token to be released. |",
"operationId": "ReleaseaSessionToken",
"parameters": [],
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReleaseaSessionTokenRequest"
},
"example": {
"token": "f3302885cff780987cebfaa6be0ad283619b7a3be42df4f4546fbd47b9ae2a6b"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "2"
},
"example": "2"
}
}
},
"content-type": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "application/json; charset=UTF-8"
},
"example": "application/json; charset=UTF-8"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 10:05:24 GMT"
},
"example": "Tue, 05 May 2020 10:05:24 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json": {
"schema": {
"type": "object",
"example": {}
},
"example": {}
}
}
}
},
"deprecated": false
}
},
"/data/adtran-auth-config:aaa-config": {
"patch": {
"tags": [
"AAA Config"
],
"summary": "Modifying Password Security Setting",
"description": "Password Security Setting API is used by administators to modify password attributes like format, validity, etc. This function is performed by the ADMIN user.\n\n| Attribute | Description |\n| --- | --- |\n| expiration-mode | Describes how to handle the expiration date on the newly created account. <br/> <b> Possible values </b>:<br><b>expire-now:</b> <i> Create the account as already expired</i><br><b>expire-policy:</b> <i>Set the expiration date according to configured system policy</i> <br><b>expire-never:</b> <i>Create an account which will never expire</i> <br/> <b> Default value : </b><i>expire-now</i>|\n| password-expiry-days | Number of days after which user's password will expire. <br/> <b> Possible values: </b> <br/> <b>-1</b> <i>Indicates that password never expires</i> <br/> <b>1..180</b> <i>Indicate the number of days for which the password would be valid</i> <br/> <b> Default value : </b><i>90 days </i> |\n| password-min-len | Minimum length of password. <br/> <b> Possible values:</b><i> 6..128</i> <br/> <b> Default value: </b><i> 8 </i> |\n| password-max-len | Maximum length of password. <br/> <b> Possible values: </b><i> 6..128</i> <br/> <b> Default value:</b> <i> 128 </i> |\n| password-uppercase-min-len | Minimum number of upper case characters required in password. <br/> <b> Possible values </b> : <i> 0..128</i> <br/> <b> Default value </b> : <i> 1 </i> |\n| password-min-digits | Minimum number of digits required in password. <br/> <b> Possible values: </b><i> 0..128</i> <br/> <b> Default value :</b><i> 1 </i> |\n| password-min-special-char | Minimum number of special characters required in password. <br/> <b> Possible values : </b> <i> 0..128</i> <br/> <b> Default value: </b> <i> 1 </i> |\n| password-valid-char-set | Valid character set in password. <br/> <b> Possible values : </b><i> Regular expression character set, see default as example </i> <br/> <b> Default value : </b><i>[0-9a-zA-Z!@#$%^&*] </i>|\n| password-history-length | \"Number of previous passwords which can not be used as a new password (0-10) .<br/> <b> Possible values : </b><i> 0..10</i> <br> <b>0</b> <i> means there are no restrictions on password reuse </i> <br/> <b>1</b> <i> means the current password may not be reused </i> <br/> <b>2</b> <i> means the current password and the previous password may not be reused, and so on </i> <br/> <b> Default value : </b><i> 5 </i> |\n| password-history-days | Number of days a previous password can not be used as a new password. <br/> <b> Possible values : </b> <i> -1 , 1…365</i> <br/> <b>-1 </b> <i> indicates that there is no expiry for previous passwords </i> <br/> <b>1 </b> <i> indicates that previous passwords are considered for only one day</i> <br/> <b>2 </b> <i> indicates that previous passwords are considered for only two day and so on</i> <br/> <b> Default value: </b> <i> 180 days </i> |\n| password-notice-days | Number of days prior to password expiration when user will be notified that his password is going to expire. <br/> <b> Possible values : </b><i> 1..30 </i> </br> <b> Default value : </b><i> 5 days</i> |\n| max-failed-logins | Maximum number of consecutive times an incorrect password is allowed to be entered before the user's account will be locked. A value of 0 means that an unlimited number of failed attempts are allowed. <br/> <b> Possible values :</b> <i> 1...255 attempts</i><br/> <b> Default value : </b><i> 5 attempts</i> |\n| account-lock-period | Amount of time (in minutes) for which user's account gets locked. <br/> <b> Possible values :</b> <i> 1...65535 minutes</i><br/> <b> Default value: </b> <i> 5 minutes</i> |\n| authentication-mode | The mode for user authentication in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|\n| authorization-mode | The mode for user authorization in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|\n| accounting-mode | The mode for user accounting in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|",
"operationId": "ModifyingPasswordSecuritySetting",
"parameters": [],
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ModifyingPasswordSecuritySettingRequest"
},
"example": {
"password-expiry-days": 90,
"expiration-mode": "expire-now"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "OK",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "0"
},
"example": "0"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 09:52:34 GMT"
},
"example": "Tue, 05 May 2020 09:52:34 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
},
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 Jan 2021 15:13:50 GMT"
},
"example": "Tue, 05 Jan 2021 15:13:50 GMT"
}
}
},
"Transfer-Encoding": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "chunked"
},
"example": "chunked"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Vary": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Accept-Encoding"
},
"example": "Accept-Encoding"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
},
"Strict-Transport-Security": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "max-age=63072000"
},
"example": "max-age=63072000"
}
}
},
"Content-Encoding": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "gzip"
},
"example": "gzip"
}
}
}
},
"content": {}
},
"401": {
"description": "Unauthorized",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Fri, 08 May 2020 10:34:49 GMT"
},
"example": "Fri, 08 May 2020 10:34:49 GMT"
}
}
},
"Content-Length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "45"
},
"example": "45"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json; charset=UTF-8": {
"schema": {
"$ref": "#/components/schemas/ModifyingPasswordSecuritySetting-UnauthorisedUser1"
},
"example": {
"message": "Anonymous access not authorized"
}
}
}
},
"400": {
"description": "Bad Request",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Fri, 08 May 2020 10:36:24 GMT"
},
"example": "Fri, 08 May 2020 10:36:24 GMT"
}
}
},
"Content-Length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "47"
},
"example": "47"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json; charset=UTF-8": {
"schema": {
"type": "string",
"example": "password-expiry-days must be between 1 and 180."
},
"example": "password-expiry-days must be between 1 and 180."
}
}
}
},
"deprecated": false
},
"get": {
"tags": [
"AAA Config"
],
"summary": "Retrieve Password Security Setting",
"description": "This API is used to retrieve password security settings. This function is performed by ADMIN user.\n\nFollowing table describes the attributes returned in the response.\n\n| Attribute | Description |\n| --- | --- |\n| expiration-mode | Describes how to handle the expiration date on the newly created account. <br/> <b> Possible values </b>:<br><b>expire-now:</b> <i> Create the account as already expired</i><br><b>expire-policy:</b> <i>Set the expiration date according to configured system policy</i> <br><b>expire-never:</b> <i>Create an account which will never expire</i> <br/> <b> Default value : </b><i>expire-now</i>|\n| password-uppercase-min-len | Minimum number of upper case characters in password.<br/> <b> Default value: </b> <i> 1</i><br/> <b> Possible values: </b> <i> 0..128</i> |\n| password-history-days | Number of days a previous password can not be used as a new password. Here, -1 indicates that there is no expiry for previous passwords. 1 indicates that previous passwords are considered for only one day. 2 indicates that previous passwords are considered for only two day and so on. <br/> <b> Default value: </b> <i> 180</i><br/> <b> Possible values: </b> <i> -1, 1..365</i> |\n| password-min-len | Minimum length of password. <br/> <b> Default value: </b> <i> 8</i><br/> <b> Possible values:</b> <i>6..128</i> |\n| password-expiry-days | Number of days after which user's password will expire. <br/> <b> Possible values </b> <br/> <b>-1</b> <i>Indicates that password never expires</i> <br/> <b>1..180</b> <i>Indicate the number of days for which the password would be valid.</i> <br/> <b> Default value </b>:<i> 90 days </i> |\n| password-max-len | Maximum length of password. <br/> <b> Default value: </b> <i> 128</i><br/> <b> Possible values: </b> <i> 6..128</i> |\n| max-failed-logins | Maximum number of consecutive times an incorrect password is allowed to be entered before the user's account will be locked. A value of 0 means that an unlimited number of failed attempts are allowed. <br/> <b> Default value: </b> <i> 5</i><br/> <b> Possible values: </b> <i>0..128</i> |\n| password-min-digits | Minimum number of digits in password. <br/> <b> Default value: </b> <i> 1</i><br/> <b> Possible values: </b> <i> 0..128</i> |\n| password-history-length | Number of previous passwords which can not be used as a new password (0-10). Here, 0 means there are no restrictions on password reuse. 1 means the current password may not be reused. 2 means the current password and the previous password may not be reused, and so on.<br/> <b> Default value: </b> <i> 5</i><br/> <b> Possible values: </b> <i> 0..10</i> |\n| password-notice-days | Number of days prior to password expiration when user will be notified that his password is going to expire. <br/> <b> Default value: </b> <i> 5</i><br/> <b> Possible values: </b> <i> 1..30 </i> |\n| account-lock-period | Amount of time (in minutes) for which user's account gets locked. <br/> <b> Default value: </b> <i> 5</i><br/> <b> Possible values: </b> <i>uint16 </i> |\n| password-min-special-char | Minimum number of special characters in password. <br/> <b> Default value: </b> <i> 1</i><br/> <b> Possible values: </b> <i>0..128 </i> |\n| password-valid-char-set | Valid character set in password. <br/> <b> Possible values : </b><i> Regular expression character set, see default as example </i> <br/> <b> Default value : </b><i>[0-9a-zA-Z!@#$%^&*] </i> |\n| authentication-mode | The mode for user authentication in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|\n| authorization-mode | The mode for user authorization in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|\n| accounting-mode | The mode for user accounting in priority order. <br/> <b> Possible values :</b> <i> internal, radius, tacacsplus</i> <br/> <b> Default value: </b> <i>internal</i>|",
"operationId": "RetrievePasswordSecuritySetting",
"parameters": [
{
"name": "Content-Type",
"in": "header",
"description": "",
"required": true,
"style": "simple",
"schema": {
"enum": [
"application/json"
],
"type": "string",
"example": "application/json"
}
}
],
"responses": {
"200": {
"description": "OK",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "465"
},
"example": "465"
}
}
},
"content-type": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "application/json; charset=UTF-8"
},
"example": "application/json; charset=UTF-8"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 09:51:59 GMT"
},
"example": "Tue, 05 May 2020 09:51:59 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RetrievePasswordSecuritySetting-Success"
},
"example": {
"expiration-mode": "expire-now",
"password-uppercase-min-len": 1,
"password-history-days": 180,
"password-min-len": 8,
"password-expiry-days": 90,
"password-max-len": 128,
"max-failed-logins": 5,
"password-min-digits": 1,
"password-notice-days": 5,
"password-history-length": 5,
"account-lock-period": 5,
"authorization-mode": [
"internal"
],
"password-username-allowed": false,
"password-min-special-char": 1,
"password-valid-char-set": "[0-9a-zA-Z!@#$%^&*]",
"authentication-mode": [
"internal"
]
}
}
}
}
},
"deprecated": false
}
},
"/data/adtran-auth-group:groups/group=read-only": {
"post": {
"tags": [
"AAA Permission Groups"
],
"summary": "Create Group",
"description": "Create a new group by providing a unique group name and selecting permissions for the users. The name of the group is passed in via the URL and the body.\n\n| Attribute | Description |\n| --- | --- |\n| name | **Required:** A unique name of this group. |\n| permissions | A list of APIs which are permissible to this group. To see a complete list of API permissions, use the `Get Group` API call below to get the permissions for the `super-user` group. |\n| domains | A list of domains this group may access. **Deprecated**, set to empty list. |",
"operationId": "CreateGroup",
"parameters": [],
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateGroupRequest"
},
"example": {
"name": "read-only",
"permissions": [
"adtran-cloud-platform-uiworkflow:read-uiworkflow-transitions"
],
"domains": []
}
}
},
"required": true
},
"responses": {
"409": {
"description": "Conflict",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "0"
},
"example": "0"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 09:42:10 GMT"
},
"example": "Tue, 05 May 2020 09:42:10 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {}
},
"201": {
"description": "Created",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "0"
},
"example": "0"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 09:42:59 GMT"
},
"example": "Tue, 05 May 2020 09:42:59 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {}
}
},
"deprecated": false
},
"delete": {
"tags": [
"AAA Permission Groups"
],
"summary": "Delete Group",
"description": "Delete an existing group by providing the group name by providing the group name in the URL parameter.",
"operationId": "DeleteGroup",
"parameters": [],
"responses": {
"404": {
"description": "Not Found",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Mon, 11 May 2020 11:36:52 GMT"
},
"example": "Mon, 11 May 2020 11:36:52 GMT"
}
}
},
"Content-Length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "0"
},
"example": "0"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {}
},
"200": {
"description": "OK",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Mon, 11 May 2020 10:01:10 GMT"
},
"example": "Mon, 11 May 2020 10:01:10 GMT"
}
}
},
"Content-Length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "0"
},
"example": "0"
}
}
},
"Connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"Access-Control-Allow-Origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"X-Frame-Options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {}
}
},
"deprecated": false
}
},
"/data/adtran-auth-group:groups/group=none": {
"get": {
"tags": [
"AAA Permission Groups"
],
"summary": "Get Group",
"description": "This API is used to retrieve a given user group and their associated permissions.\n\n| Attribute | Description |\n| --- | --- |\n| domains | A list of domains this group may access. |\n| name | The unique name of this group. |\n| permissions | A list of APIs which are permissible to this group. |",
"operationId": "GetGroup",
"parameters": [
{
"name": "Content-Type",
"in": "header",
"description": "",
"required": true,
"style": "simple",
"schema": {
"enum": [
"application/json"
],
"type": "string",
"example": "application/json"
}
}
],
"responses": {
"200": {
"description": "OK",
"headers": {
"access-control-allow-origin": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "*"
},
"example": "*"
}
}
},
"connection": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "keep-alive"
},
"example": "keep-alive"
}
}
},
"content-length": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "117"
},
"example": "117"
}
}
},
"content-type": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "application/json; charset=UTF-8"
},
"example": "application/json; charset=UTF-8"
}
}
},
"date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 May 2020 10:08:38 GMT"
},
"example": "Tue, 05 May 2020 10:08:38 GMT"
}
}
},
"x-frame-options": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "sameorigin"
},
"example": "sameorigin"
}
}
}
},
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GetGroup-Success"
},
"example": {
"domains": [],
"name": "read-only-user",
"permissions": [
"adtran-cloud-platform-uiworkflow:read-uiworkflow-transitions"
]
}
}
}
},
"404": {
"description": "Not Found",
"headers": {
"Date": {
"content": {
"text/plain": {
"schema": {
"type": "string",
"example": "Tue, 05 Jan 2021 16:26:20