# DPSK Service

# Overview

The DPSK REST APIs provide endpoints to manage DPSK resources, including pools, passphrases devices, and templates.

## What This API Does
- Create, modify, and delete DPSK pools
- Create, modify, and delete passphrases within pools
- Manage devices associated with passphrases
- Manage DPSK service templates and REC templates
- Associate policy sets with DPSK pools
- Import and export passphrase data via CSV
- Search passphrases by client network and MAC address

## Error Handling
The API uses standard HTTP status codes with detailed error messages in the response body.

## Common Error Responses
All endpoints may return these common error responses:
- **400 Bad Request**: Invalid input data or validation errors
- **401 Unauthorized**: Missing or invalid authentication
- **403 Forbidden**: Insufficient permissions
- **404 Not Found**: Requested resource doesn't exist
- **409 Conflict**: Resource conflict (e.g., duplicate names)
- **422 Unprocessable Entity**: Business rule violations
- **500 Internal Server Error**: Unexpected server errors

Version: 0.0.3
License: RUCKUS Cloud Privacy Policy

## Servers

RUCKUS One API host for North American region.
```
https://api.ruckus.cloud
```

RUCKUS One API host for European region.
```
https://api.eu.ruckus.cloud
```

RUCKUS One API host for Asian region.
```
https://api.asia.ruckus.cloud
```

## Security

### bearerAuth

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

[DPSK Service](https://docs.ruckus.cloud/_bundle/api/dpsk-api-0.0.3.yaml)

## APIs for DPSK Service

Operations for managing DPSK pools, including create, update, delete, and policy management.

### Get Specific DPSK Pool

 - [GET /dpskServices/{poolId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/getdpskpoolbyid.md): Get specific DPSK pool by ID.

### Update the DPSK Pool

 - [PUT /dpskServices/{poolId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/updatedpskpool.md): Update the specified DPSK pool with the provided details.

### Delete the DPSK Pool

 - [DELETE /dpskServices/{poolId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/deletedpskpool.md): Delete the specified DPSK pool.

### Update the DPSK Pool

 - [PATCH /dpskServices/{poolId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/patchdpskpool.md): Partially update the specified DPSK pool.

### Update DPSK Pool Policy Set

 - [PUT /dpskServices/{poolId}/policySets/{policySetId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/updatepolicysetid.md): Update the policy set associated with the DPSK pool.

### Remove DPSK Pool Policy Set

 - [DELETE /dpskServices/{poolId}/policySets/{policySetId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/removepolicysetid.md): Remove the policy set associated with the specified DPSK pool.

### Create New DPSK Pool

 - [POST /identityGroups/{identityGroupId}/dpskServices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/createdpskpool.md): Create a new DPSK pool under the specified identity group.

### Search for DPSK Pools

 - [POST /dpskServices/query](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/querydpskpools.md): Search for DPSK pools matching search string in paged result.

### Get DPSK Pools by Network

 - [GET /wifiNetworks/{networkId}/dpskServices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service/getdpskpoolsbynetworkid.md): Get DPSK pools associated with the specified Wi-Fi network.

## APIs for DPSK Passphrase

Operations for managing DPSK passphrases, CSV import/export, and query support.

### Get DPSK Passphrase

 - [GET /dpskServices/{poolId}/passphrases/{id}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/getpassphrasebyid.md): Get the specified DPSK passphrase by ID.

### Update Specific DPSK Passphrase

 - [PUT /dpskServices/{poolId}/passphrases/{id}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/updatepassphrase.md): Update DPSK passphrase(s) for the specified pool.

### Update Specific DPSK Passphrase

 - [PATCH /dpskServices/{poolId}/passphrases/{id}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/updatepassphrase_1.md): Update an entity partially with provided attributes. Only the attributes provided in the request body will be updated.

### Get Passphrase

 - [GET /dpskServices/{poolId}/passphrases](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/listallpassphrases.md): List passphrases for specific DPSK pool with pagination.

### Create DPSK Passphrase

 - [POST /dpskServices/{poolId}/passphrases](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/createpassphrase.md): Create DPSK passphrase(s) for the specified pool.

### Delete Passphrase

 - [DELETE /dpskServices/{poolId}/passphrases](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/deletepassphrases.md): Delete DPSK passphrase(s) for the specified pool.

### Update Specific DPSK Passphrases

 - [PATCH /dpskServices/{poolId}/passphrases](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/updatepassphrases.md): Update entities partially with provided attributes. Only the attributes provided in the request body will be updated.

### Query Passphrases for Specified Pool

 - [POST /dpskServices/{poolId}/passphrases/query](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/queryresponse.md): Query passphrases for the specified DPSK pool.

### DPSK Passphrase to CSV

 - [POST /dpskServices/{poolId}/passphrases/query/csvFiles](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/exportdpskpassphrase.md): Export DPSK passphrases to a CSV file.

### Send Passphrase Notifications

 - [POST /dpskServices/{poolId}/passphrases/notifications](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/passphrasenotification.md): Send email and/or SMS notifications to users for the specified DPSK passphrases.

### Import Passphrase from CSV

 - [POST /dpskServices/{poolId}/passphrases/csvFiles](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase/importdpskpassphrasesfromcsv.md): Import DPSK passphrases from a CSV file.

## APIs for DPSK Passphrase Device

Operations for managing devices linked to DPSK passphrases.

### Get Passphrase Devices

 - [GET /dpskServices/{poolId}/passphrases/{passphraseId}/devices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase-device/getpassphrasedevices.md): Get all devices associated with the specified DPSK passphrase.

### Create Devices for Passphrase

 - [POST /dpskServices/{poolId}/passphrases/{passphraseId}/devices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase-device/createpassphrasedevice.md): Create devices for a specific passphrase.

### Delete Devices Associated with Passphrase

 - [DELETE /dpskServices/{poolId}/passphrases/{passphraseId}/devices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase-device/deletepassphrasedevices.md): Delete devices associated with a specific passphrase.

### List Passphrase Devices

 - [POST /dpskServices/{poolId}/passphrases/{passphraseId}/devices/query](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-passphrase-device/listallpassphrasedevices.md): List paginated devices for the specified DPSK passphrase.

## APIs for DPSK Service Template

Operations for managing DPSK templates, including creation, cloning, and network template association.

### Get Specific DPSK Pool Template

 - [GET /templates/dpskServices/{poolTemplateId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/getdpskpooltemplatebyid.md): Get the specified DPSK pool template by its ID.

### Update the DPSK Pool Template

 - [PUT /templates/dpskServices/{poolTemplateId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/updatedpskpooltemplate.md): Update the specified DPSK pool template.

### Delete the DPSK Pool Template

 - [DELETE /templates/dpskServices/{poolTemplateId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/deletedpskpooltemplate.md): Delete the specified DPSK pool template.

### Update the DPSK Pool Template

 - [PATCH /templates/dpskServices/{poolTemplateId}](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/patchdpskpooltemplate.md): Partially update the specified DPSK pool template.

### Create Template with Identity Group

 - [POST /templates/identityGroups/{identityGroupId}/dpskServices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/createdpskpooltemplate.md): Create new DPSK pool template with identity group.

### Create New DPSK Pool Template

 - [POST /templates/dpskServices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/createdpskpooltemplate_1.md): Create a new DPSK pool template with the provided content.

### Clone the DPSK Pool Template

 - [POST /templates/dpskServices/{poolTemplateId}/cloneSettings](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/clonedpskpooltemplate.md): Clone the specified DPSK pool template.

### Search DPSK Pool Templates

 - [POST /templates/dpskServices/query](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/querydpskpooltemplates.md): Search for DPSK pool templates matching search string in paged result.

### Get Templates by Network Template

 - [GET /templates/wifiNetworks/{networkTemplateId}/dpskServices](https://docs.ruckus.cloud/api/dpsk-api-0.0.3/apis-for-dpsk-service-template/getdpskpooltemplatesbynetworktemplateid.md): Get DPSK pool templates by network template.

