Create Configuration Group
Steps:
- You first have to create all required Feature Profiles and have their
profile-uuidin hand. - Then you can create your config-group using these profile-ids.
- Once created, devices can be associated and the configuration deployed (see Deploy a Configuration Group).
Create a Configuration Group
Section titled “Create a Configuration Group”POST /v1/config-groupX-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonRequest Body:
{ "name": "Branch-Office-CG", "description": "Configuration group for branch office routers", "solution": "sdwan", "profiles": [ { "id": "aaaaaaaa-bbbb-cccc-dddd-111111111111" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-222222222222" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-333333333333" } ]}| Field | Type | Required | Description |
|---|---|---|---|
name |
string | ✅ | Unique name for the configuration group |
description |
string | ✅ | Human-readable description |
solution |
string | ✅ | One of: sdwan, sd-routing, mobility, nfvirtual, service-insertion, cellulargateway |
profiles |
array | ❌ | Array of {id: "<profile-uuid>"} — references to Feature Profiles |
topology |
object | ❌ | Inline topology definition (see Section 7) |
fromConfigGroup |
uuid | ❌ | Copy from an existing config group |
Response — 200 OK:
{ "id": "cg-uuid-0001-0002-0003-000000000001"}💡 Tip: The
profilesarray is where you plug in the UUIDs from the System Feature Profile guide (and any other Feature Profile APIs).
List All Configuration Groups
Section titled “List All Configuration Groups”GET /v1/config-groupX-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonResponse — 200 OK:
[ { "id": "cg-uuid-0001-0002-0003-000000000001", "name": "Branch-Office-CG", "description": "Configuration group for branch office routers", "solution": "sdwan", "profiles": [ { "id": "aaaaaaaa-bbbb-cccc-dddd-111111111111" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-222222222222" } ], "state": "active", "createdBy": "admin", "lastUpdatedBy": "admin", "createdOn": 1691000000000, "lastUpdatedOn": 1691000000000, "origin": "default" }]Get a Configuration Group by ID
Section titled “Get a Configuration Group by ID”GET /v1/config-group/{configGroupId}X-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonPath Parameters:
| Parameter | Type | Description |
|---|---|---|
configGroupId |
uuid | The configuration group identifier |
Response — 200 OK:
{ "id": "cg-uuid-0001-0002-0003-000000000001", "name": "Branch-Office-CG", "description": "Configuration group for branch office routers", "solution": "sdwan", "profiles": [ { "id": "aaaaaaaa-bbbb-cccc-dddd-111111111111" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-222222222222" } ]}Edit (Update) a Configuration Group
Section titled “Edit (Update) a Configuration Group”PUT /v1/config-group/{configGroupId}X-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonRequest Body: Same schema as POST. Send the full updated object.
{ "name": "Branch-Office-CG-v2", "description": "Updated configuration group with additional profiles", "solution": "sdwan", "profiles": [ { "id": "aaaaaaaa-bbbb-cccc-dddd-111111111111" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-222222222222" }, { "id": "aaaaaaaa-bbbb-cccc-dddd-444444444444" } ]}Response — 200 OK:
{ "id": "cg-uuid-0001-0002-0003-000000000001"}Delete a Configuration Group
Section titled “Delete a Configuration Group”DELETE /v1/config-group/{configGroupId}X-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonResponse — 200 OK: Empty body on success.
⚠️ Warning: You must disassociate all devices before deleting a configuration group.
Get Rules
Section titled “Get Rules”Retrieve rules associated with a configuration group.
GET /v1/config-group/{configGroupId}/rulesX-XSRF-TOKEN: <X-XSRF-TOKEN>Authorization: Bearer <APIKEY>Content-Type: application/jsonResponse — 200 OK: Returns the rules/constraints applicable to the configuration group.
Solutions Reference
Section titled “Solutions Reference”| Solution | Config Group | Policy Group | Topology Group |
|---|---|---|---|
sdwan |
✅ | ✅ | ✅ |
sd-routing |
✅ | ✅ | ❌ |
mobility |
✅ | ❌ | ❌ |
nfvirtual |
✅ | ❌ | ❌ |
service-insertion |
✅ | ❌ | ❌ |
cellulargateway |
✅ | ❌ | ❌ |
Quick-Reference: Configuration Group Endpoints (CRUD)
Section titled “Quick-Reference: Configuration Group Endpoints (CRUD)”| # | Method | Endpoint | Description |
|---|---|---|---|
| 1 | POST |
/v1/config-group |
Create config group |
| 2 | GET |
/v1/config-group |
List all config groups |
| 3 | GET |
/v1/config-group/{id} |
Get config group by ID |
| 4 | PUT |
/v1/config-group/{id} |
Edit config group |
| 5 | DELETE |
/v1/config-group/{id} |
Delete config group |
| 6 | GET |
/v1/config-group/{id}/rules |
Get rules |
For device association, variable assignment, and deployment endpoints, see Deploy a Configuration Group.
Common Error Codes
Section titled “Common Error Codes”| HTTP Code | Meaning | Common Cause |
|---|---|---|
200 |
Success | Operation completed |
400 |
Bad Request | Invalid JSON, missing required fields, invalid solution |
401 |
Unauthorized | Session expired or missing auth |
403 |
Forbidden | Insufficient RBAC permissions |
404 |
Not Found | Invalid group ID or profile ID |
409 |
Conflict | Name collision |
412 |
Precondition Failed | Dependency not met (e.g., devices still associated on delete) |
500 |
Internal Server Error | Server-side issue — retry or check logs |