DPSK Pools

You can use REST API calls to obtain information about existing DPSK pools, to create or edit pools, and to delete pools.

The following table lists the properties that can be used in the body of a DPSK-pool-related request and/or are provided in the response body. (In the "Optional" column, if a default value is applicable, it is listed in angle brackets (< >).)

Resource: DPSK Pools

Property Name Type Editable Sort/Filter Optional in Request/Response Body? Description
guid String No Neither Optional on create only, but not on any subsequent uses The unique identifier for this DPSK pool.
additionalAttributes List <Attribute> Yes No Yes For Cloudpath releases greater than initial 5.7 release, this propety is ignored for this resource. Instead, this property can be specified in a Radius Attributes Group resource. For more information, refer to Resource: RadiusAttributeGroup .
classid String Yes Neither Yes For Cloudpath releases greater than initial 5.7 release, this propety is ignored for this resource. Instead, this property can be specified in a Radius Attributes Group resource. For more information, refer to Resource: RadiusAttributeGroup .
defaultAccess
added for 5.8
String <Enum> Yes Neither No Default access if there are no policies assigned. Values are either ACCEPT or REJECT. Defaut value is ACCEPT.
description String Yes Neither No A description for this pool.
deviceCountLimit Int Yes Neither No <1> If you set the enforceDeviceCountLimit parameter to true, you can specify the number of devices that are allowed to utilize the DPSK pool you are creating.
displayName String Yes Filter No The display name for this pool; must be unique.
enabled Boolean Yes Filter No<true> Indicates if this DPSK pool is enabled. Switching from true to false disables the pool.
enforceDeviceCountLimit Boolean Yes Neither No<false> If true, each DPSK is assigned a maximum device count as specified in the deviceCountLimit parameter. If false, an unlimited number of devices can utilize the DPSK.
enforceExpirationDate Boolean Yes Neither No <false> If true, newly generated DPSKs are assigned an expiration date that is based on the creation date and the defined offset.
expirationDateType String Yes Neither No <END_OF_MONTH> A Specific date in format YYYYMMDD, or a type of: MINUTES_AFTER_TIME, HOURS_AFTER_TIME, DAYS_AFTER_TIME, WEEKS_AFTER_TIME, MONTHS_AFTER_TIME, QUARTERS_AFTER_TIME , YEARS_AFTER_TIME , END_OF_HOUR , END_OF_DAY , END_OF_WEEK , END_OF_MONTH , END_OF_QUARTER , END_OF_HALF , END_OF_YEAR
expirationDateValue Int Yes Neither No <1> Will be used if HOURS_AFTER_TIME is provided in the expirationDataType
filterid String Yes Neither Yes For Cloudpath releases greater than initial 5.7 release, this propety is ignored for this resource. Instead, this property can be specified in a Radius Attributes Group resource. For more information, refer to Resource: RadiusAttributeGroup .
phraseDefaultLength int Yes Neither No<12> The pass phrase default length.
phraseRandomCharactersType Enum <String> Yes Filter No An enum that indicates the characters to be included in the passphrase. ALPHANUMERIC_UPPER, ALPHANUMERIC_LOWER, ALPHANUMERIC_MIXED, ALPHABETIC_UPPER, ALPHABETIC_LOWER, ALPHABETIC_MIXED, NUMERIC, ASCII
sessionTimeout Long Yes Neither No For Cloudpath releases greater than initial 5.7 release, this propety is ignored for this resource. Instead, this property can be specified in a Radius Attributes Group resource. For more information, refer to Resource: RadiusAttributeGroup .
ssidList List <String> Yes Neither No A list of SSIDs as strings for this DPSK pool.
vlanid String Yes Neither Yes For Cloudpath releases greater than initial 5.7 release, this propety is ignored for this resource. Instead, this property can be specified in a Radius Attributes Group resource. For more information, refer to Resource: RadiusAttributeGroup .
isUsePolicies Boolean (true) Yes No Optional on create only, but not on any subsequent uses. This is a new property beginning with with releases later than the initial 5.7 release. This property cannot be set using an API to create a new DPSK pool, but a "true" value for this property allows you to convert pre-5.7 DPSK pools to pools where you apply a configured policy. Once you make this change, it cannot be undone and the vlanId, classid, filterid, sessionTimeout, and additionalAttributes properties are all removed from a resource response. From that point going forward, these properties will not be updated in a PUT request and will be ignored in a POST request.
Note: If you created a DPSK pool via an API call in the initial 5.7 release, it is still in the older format without an attached policy. However, if you created a DPSK pool via the UI in the initial 5.7 release, it already will be in the new, policy-applied format.
Note: To complete the conversion of the DPSK pool to the policy-applied pool type, refer to the following steps:
  1. Create one or more RADIUS attributes group to assign to a policy: RADIUS Attribute Groups
  2. Create one or more policies: Policies
  3. Assign one or more policies to the DPSK pool: Assigned Policies
links Link No No No Contains the following link as hrefs for use in other API calls:
  • Self referencing link
  • Policies link
  • Links to dpsks that belong to this pool

DPSK Pool URIs and Actions

The following table indicates the URIs that you can append to the root URI, along with the actions you can take, and possible return codes you can receive.

DPSK Pool URIs and Actions

URI Action Description Return Codes
/dpskPools GET Returns the list of all eDPSK pools that are in the system.

401 - Unauthorized

200 - OK

POST Creates an eDPSK pool.

401 - Unauthorized

201 - Created

/dpskPools/{guid} GET Returns the specific eDPSK pool.

404 - Not Found

401 - Unauthorized

200 - OK

DELETE Deletes the pool specified and all its child resources, including DPSKs, devices, and associated enrollments.

500 - Internal Server Error (such as " Pool in use")

401 - Unauthorized

204 - No content

200 - OK

PUT Updates an eDPSK pool. See the Resource: DPSK Pools and Resource: Attribute for which properties can be edited.

404 - Not Found

401 - Unauthorized

200 - OK

Example of Using GET for DPSK Pools

This example demonstrates how to obtain information about a DPSK pool that has already been created in the Cloudpath UI.

URI:

This example uses the following URI:

 https://Jeff243.cloudpath.net/admin/publicApi/dpskPools

where https://Jeff243.cloudpath.net/admin/publicApi is the root URI of the Cloudpath system being used (must include https, as shown).

Request Headers:

The following table shows the required request headers for this URI example, with an example value of an active token that must be pasted into the Authorization header value:

Request Headers

Key Value
Content-type application/json
Authorization eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJqZWZmLnJob2RpZUBjb21tc2NvcGUuY29tIiwicm9sZVBrIjoiMjEwMDAiLCJhY2NvdW50QWRtaW5QayI6IjIiLCJhcGlLZXkiOiJaV2NjTGpQZUdZMGUiLCJpYXQiOjE1NzU1NzUxNTcsImV4cCI6MTU3NTU3NTQ1N30.2q4KTyDUevkAAz7mJyp529Be1-ip3EC8P06Xarmz5ao

Request Body:

None required.

Action:

Use the GET action to send the request.

Response Body:

Once the request is sent, you will receive a "Status: 200 OK" if the GET is successful. The response body provides information about all existing DPSK pools in your Cloudpath system. In this example, DPSK Pool 1 is the only existing pool. The information in the response body will match the configuration of DPSK Pool 1 as specified in the UI. Any values that were not specified in the UI are the default values:

{
    "page": {
        "page": 1,
        "pageSize": 1,
        "totalCount": 1
    },
    "contents": [
        {
            "guid": "AccountDpskPool-8c95a636-59ff-4a85-a1ce-e2b6984f5a50",
            "displayName": "DPSK Pool 1",
            "description": "",
            "enabled": true,
            "phraseDefaultLength": 12,
            "phraseRandomCharactersType": "ALPHABETIC_LOWER",
            "ssidList": [
                "ssid 22"
            ],
            "enforceExpirationDate": false,
            "expirationDateType": "MONTHS_AFTER_TIME",
            "expirationDateValue": "1",
            "enforceDeviceCountLimit": false,
            "deviceCountLimit": 1,
            "supportsPolicies": true,
            "defaultAccess": "ACCEPT",
added defaultACCESS for 5.8
"links": [ { "rel": "self", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-8c95a636-59ff-4a85-a1ce-e2b6984f5a50", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null }, { "rel": "dpsks", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-8c95a636-59ff-4a85-a1ce-e2b6984f5a50/dpsks?page=1&pageSize=10{&filter,orderBy}", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null }, { "rel": "policy", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-8c95a636-59ff-4a85-a1ce-e2b6984f5a50/policies?page=1&pageSize=100{&filter,orderBy}", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null } ] } ] }

Example of Using POST to Create a DPSK Pool

This example demonstrates how to create a new DPSK pool in your Cloudpath system by using the REST API POST call.

URI:

This example uses the following URI:

 https://Jeff243.cloudpath.net/admin/publicApi/dpskPools

where https://Jeff243.cloudpath.net/admin/publicApi is the root URI of the Cloudpath system being used (must include https, as shown).

Request Headers:

The following table shows the required request headers for this URI example, with an example value of an active token that must be pasted into the Authorization header value:

Request Headers

Key Value
Content-type application/json
Authorization eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJqZWZmLnJob2RpZUBjb21tc2NvcGUuY29tIiwicm9sZVBrIjoiMjEwMDAiLCJhY2NvdW50QWRtaW5QayI6IjIiLCJhcGlLZXkiOiJaV2NjTGpQZUdZMGUiLCJpYXQiOjE1NzU1NzUxNTcsImV4cCI6MTU3NTU3NTQ1N30.2q4KTyDUevkAAz7mJyp529Be1-ip3EC8P06Xarmz5ao

Request Body:

The following is an example of a request body for creating a DPSK pool. You can refer to the preceding Resource tables for a list and descriptions of properties you can use to define your pool. For instance, in this example, a pool called "DPSK Pool 20" is being created with the values provided in the body.

{
"displayName": "DPSK Pool 20",
"description": "",
"enabled": true,
"phraseDefaultLength": 11,
"phraseRandomCharactersType": "ALPHABETIC_LOWER",
"ssidList": [
"SSID19",
"SSID20"
],
"enforceExpirationDate": false,
"expirationDateType": "MONTHS_AFTER_TIME",
"expirationDateValue": "1",
"enforceDeviceCountLimit": true,
"deviceCountLimit": 4
}

Action:

Use the POST action to send the request.

Response Body:

Once the request is sent, you will receive a "Status: 201 Created" if the POST is successful. You can see that a "guid" (a unique identifier for the newly created pool) is included in the response body.

{
    "guid": "AccountDpskPool-14dc1ed8-ba2a-43bd-8cad-e30dc5f20fb8",
    "displayName": "DPSK Pool 20",
    "description": "",
    "enabled": true,
    "phraseDefaultLength": 11,
    "phraseRandomCharactersType": "ALPHABETIC_LOWER",
    "ssidList": [
        "SSID19",
        "SSID20"
    ],
    "enforceExpirationDate": false,
    "expirationDateType": "MONTHS_AFTER_TIME",
    "expirationDateValue": "1",
    "enforceDeviceCountLimit": true,
    "deviceCountLimit": 4,
    "supportsPolicies": true,
    "defaultAccess": "ACCEPT",
added defaultACCESS for 5.8
"links": [ { "rel": "self", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-14dc1ed8-ba2a-43bd-8cad-e30dc5f20fb8", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null }, { "rel": "dpsks", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-14dc1ed8-ba2a-43bd-8cad-e30dc5f20fb8/dpsks?page=1&pageSize=10{&filter,orderBy}", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null }, { "rel": "policy", "href": "https://jeff243.cloudpath.net/admin/publicApi/dpskPools/AccountDpskPool-14dc1ed8-ba2a-43bd-8cad-e30dc5f20fb8/policies?page=1&pageSize=100{&filter,orderBy}", "hreflang": null, "media": null, "title": null, "type": null, "deprecation": null } ] }

Verifying the Newly Created DPSK Pool in the Cloudpath UI:

You can go to the Configuration > DPSK Pools area of the UI to confirm that the pool was created correctly.

removed corresponding UI screen shots because updating them every time will become a maintenance nightmare. -)