Skip to content

Adaptive Policy Management (0.0.9)

Overview

The Adaptive Policy Management REST APIs and Model, allow the creation, deletion, and modification of policies, policy sets, and assigning policies to policy sets. All policies must be inherited from a policy template. Only those evaluation conditions that are defined for the template can be assigned to the policy. Once a policy is assigned to a policy set, it must be given an evaluation priority. If the priority is changed, or a policy added or removed, the priority of the other policies will be automatically re-ordered.

What This API Does

  • Create, modify, and delete policies
  • Manage policy sets and assignments
  • Configure policy templates and evaluation conditions
  • Set and manage policy priorities

Authentication

All API calls require valid authentication via Bearer token in Authorization header.

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
Download OpenAPI description
Languages
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/

Policy Conditions

Manage the conditions that are applied on the specified policy.

Operations

Policy Set Assignments

Manage the assignments of policy sets to identities.

Operations

Policy Templates

View the list of policy templates.

Operations

Policies

Manages, create and get of policies assigned to a specific template.

Operations

Get Policies for Template

Request

Gets the list of policies that are based off of this template.

Path
templateIdinteger(int64)required
Query
sizeany

Page size

pageany

The page to retrieve, paging starts at zero).

sortany

The field name to sort, comma seperated from the sort order (asc or desc).

pageableobject(Pageable)required
pageable.​pageinteger(int32)>= 0
pageable.​sizeinteger(int32)>= 1
pageable.​sortArray of strings
No request payload

Responses

Policies in a paged format.

Body
pagingobject(Page Data)

Pagination metadata for query results including total count, current page, page size, and total pages

contentArray of objects(Policy)

The content list of the data.

_linksobject(Links)
Response
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ {} ], "_links": { "property1": {}, "property2": {} } }

Create Policy

Request

Creates a policy from the requested values, and based on the specified parent. If the content type of "application/ruckus.one.v1-synchronous+json" is provided, than the method will be asynchronous, and will return only once it has correctly associated with the requested radius attribute group. Otherwise it is asynchronous, and must be looked up by id to be complete.

Path
templateIdinteger(int64)required
Bodyrequired
idstring(uuid)

The identifier for this dynamic policy.

namestringrequired

The name of the policy.

descriptionstring

The policy description.

policyTypestringrequired

The data type for this attribute text. EX: it identifies which type of value the test data will be. This cannot be changed, and will be matched with the policy template for this policy type. It cannot be changed.

Enum"RADIUS""DPSK"
onMatchResponsestring

The response details if the policy is matched. For policy types which are RADIUS and DPSK, this is expected to be the identifier of a valid RADIUS attribute group.

policySetCountinteger(int64)

The number of policy sets that this policy is assigned to.

conditionsCountinteger(int64)

The number of conditions that are used when evaluating this policy.

policySetNamesArray of strings

The names of the policy sets that this policy is currently assigned to.

_linksobject(Links)
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "policyType": "RADIUS", "onMatchResponse": "string", "policySetCount": 0, "conditionsCount": 0, "policySetNames": [ "string" ], "_links": { "property1": {}, "property2": {} } }

Responses

Created

Bodyapplication/ruckus.one.v1-synchronous+json
idstring(uuid)

The identifier for this dynamic policy.

namestringrequired

The name of the policy.

descriptionstring

The policy description.

policyTypestringrequired

The data type for this attribute text. EX: it identifies which type of value the test data will be. This cannot be changed, and will be matched with the policy template for this policy type. It cannot be changed.

Enum"RADIUS""DPSK"
onMatchResponsestring

The response details if the policy is matched. For policy types which are RADIUS and DPSK, this is expected to be the identifier of a valid RADIUS attribute group.

policySetCountinteger(int64)

The number of policy sets that this policy is assigned to.

conditionsCountinteger(int64)

The number of conditions that are used when evaluating this policy.

policySetNamesArray of strings

The names of the policy sets that this policy is currently assigned to.

_linksobject(Links)
Response
application/ruckus.one.v1-synchronous+json
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "policyType": "RADIUS", "onMatchResponse": "string", "policySetCount": 0, "conditionsCount": 0, "policySetNames": [ "string" ], "_links": { "property1": {}, "property2": {} } }

Query Policies for Template

Request

Returns the list of policies which are based on the provided template using the specified query details.

Path
templateIdinteger(int64)required
Query
excludeContentboolean
Default false
Bodyrequired
sortFieldstring

The field to use to sort on.

sortOrderstring

Defines the sort direction for query results.

Enum"ASC""DESC"
pageinteger(int32)>= 0

The page number to return, paging starts with 0.

pageSizeinteger(int32)[ 1 .. 2000 ]

The number of items requested on the page.

filtersobject

The list of filters to apply.

{ "sortField": "string", "sortOrder": "ASC", "page": 0, "pageSize": 1, "filters": { "property1": {}, "property2": {} } }

Responses

List Policy in a paged format.

Body
pagingobject(Page Data)

Pagination metadata for query results including total count, current page, page size, and total pages

contentArray of objects(Policy)

The content list of the data.

_linksobject(Links)
Response
{ "paging": { "totalCount": 0, "page": 0, "pageSize": 0, "pageCount": 0 }, "content": [ {} ], "_links": { "property1": {}, "property2": {} } }

Get Policy

Request

Retrieves the requested policy.

Path
templateIdinteger(int64)required
policyIdstring(uuid)required
No request payload

Responses

Policy success

Body
idstring(uuid)

The identifier for this dynamic policy.

namestringrequired

The name of the policy.

descriptionstring

The policy description.

policyTypestringrequired

The data type for this attribute text. EX: it identifies which type of value the test data will be. This cannot be changed, and will be matched with the policy template for this policy type. It cannot be changed.

Enum"RADIUS""DPSK"
onMatchResponsestring

The response details if the policy is matched. For policy types which are RADIUS and DPSK, this is expected to be the identifier of a valid RADIUS attribute group.

policySetCountinteger(int64)

The number of policy sets that this policy is assigned to.

conditionsCountinteger(int64)

The number of conditions that are used when evaluating this policy.

policySetNamesArray of strings

The names of the policy sets that this policy is currently assigned to.

_linksobject(Links)
Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "policyType": "RADIUS", "onMatchResponse": "string", "policySetCount": 0, "conditionsCount": 0, "policySetNames": [ "string" ], "_links": { "property1": {}, "property2": {} } }

Delete Policy

Request

Deletes the policy and conditions, may not be assigned to a service.

Path
templateIdinteger(int64)required
policyIdstring(uuid)required
No request payload

Responses

Policy deleted

Body
object
Response
{}

Update Policy

Request

Updates the policy from the requested values. The policy template assigned to this policy cannot be changed.

Path
templateIdinteger(int64)required
policyIdstring(uuid)required
Bodyrequired
namestringrequired

The name of the policy. Must be unique within the tenant.

descriptionstring

The policy description.

onMatchResponsestring

The response details if the policy is matched. For policy types which are RADIUS and DPSK, this is expected to be the identifier of a valid RADIUS attribute group.

{ "name": "string", "description": "string", "onMatchResponse": "string" }

Responses

Policy updated

Body
idstring(uuid)

The identifier for this dynamic policy.

namestringrequired

The name of the policy.

descriptionstring

The policy description.

policyTypestringrequired

The data type for this attribute text. EX: it identifies which type of value the test data will be. This cannot be changed, and will be matched with the policy template for this policy type. It cannot be changed.

Enum"RADIUS""DPSK"
onMatchResponsestring

The response details if the policy is matched. For policy types which are RADIUS and DPSK, this is expected to be the identifier of a valid RADIUS attribute group.

policySetCountinteger(int64)

The number of policy sets that this policy is assigned to.

conditionsCountinteger(int64)

The number of conditions that are used when evaluating this policy.

policySetNamesArray of strings

The names of the policy sets that this policy is currently assigned to.

_linksobject(Links)
Response
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "name": "string", "description": "string", "policyType": "RADIUS", "onMatchResponse": "string", "policySetCount": 0, "conditionsCount": 0, "policySetNames": [ "string" ], "_links": { "property1": {}, "property2": {} } }

Prioritized Policies

Manage the prioritized policies within a policy set.

Operations

Policy Sets

Manages the policy sets.

Operations