Working with Local Profiles
How to use Local Profiles
Overview
This section of our configuration guide assumes knowledge of local profiles and scope IDs. If you are not yet familiar with topics please first review our local profile and scope ID guides. Local profiles are different from Library profiles in that they are not meant to be reused. Local profiles are created at a specific scope on the hierarchy and the configuration of the profile will be applied to each applicable device function at that scope.
Creating Local Profiles
Local profiles can be created at any scope level in the Central UI or through API. Local profiles can be created with the UI as a brand new profile through the create profile flow, or from an existing inherited profile as an override. Local profiles can also be created using the API which requires a device function and a scope ID for your profile. The scope ID designates where the profile will be applied to.
Creating with Central UI
-
From the configuration screen select a valid scope from the sidebar. In this example we have selected the site 'Building_B'.
-
Expand the Device Function drop down and select a function

-
Select a profile management category card applicable to the profile type you want to create

-
Select a profile card for the profile you want to create

-
Select the 'Create Profile' button to open the create profile workflow

-
Check the 'Create as a local profile' box and continue creating your profile as normal. Completing the profile creation with this option checked will create a local profile specific to the selected scope from step 1.
-
A local profile will have a thumbtack icon to the left of the profile name and be denoted as inherits from 'self'. It will also specify the scope it was created under 'Assigned Device Scope'.

Creating a Local Profile Override
A Local profile can also be created as an override by editing an existing assigned/inherited profile. A profile override essentially replaces the existing profile at that scope level and all downstream scopes with the local profile.
-
Select an existing assigned/inherited profile to edit. In this example the 'test-local' profile has been assigned to the site scope 'Building_B' from the library.

-
In the profile update workflow check the box 'Save as a local profile'. Then continue updating the profile as normal. Once complete, the previous profile will be overridden and replaced as a local profile.
Local Overrides and Inheritance
An overridden profile will apply the local profile configuration not only to the scope of the local profile, but also to all scopes that inherit from the scope of the new local profile. From our example, all campus access devices in the site Building_B would inherit this profile.
Creating with Central API
To create local profiles using the REST API we will create a POST request using configuration endpoints. We will need to add special parameters to the request to make the profile local in addition to the usual requirements. The parameters you will need are 'object_type', 'scope_id', and 'persona'. For more information about working with the Central API please visit our Getting Started with REST APIs guide. You can get started quickly with APIs using our Postman Collection guide.
The 'object_type' parameter is always 'LOCAL'. To get the scope ID for where we want to create the local profile please reference our Scope ID guide for full details on this process. The persona is equivalent to the device function from the Central UI. Here is a table with device functions and their persona equivalent:
| Device Function | Persona |
|---|---|
| Access Switch | ACCESS_SWITCH |
| Aggregation Switch | AGG_SWITCH |
| Core Switch | CORE_SWITCH |
| Campus Access Point | CAMPUS_AP |
| Microbranch Access Point | MICROBRANCH_AP |
| Mobility Gateway | MOBILITY_GW |
| Branch Gateway | BRANCH_GW |
| Bridge | BRIDGE |
| Hybrid Network Access Control | HYBRID_NAC |
With the above information gathered we can add them to our request parameters. Here is an example using postman with the request parameters populated and applied.

In addition to adding the local parameters, you will also need to fill out the body of the request as you normally would to create a profile. Then, run the request and you will have a newly created local profile!
Missing/Incorrect Parameters
Pay careful attention to the result of your request. If the 'object_type' parameter is missing in the API request, the profile will default to being created and stored at the Library Level. Incorrect parameters will result in a 400 bad request error.
Deleting Local Profiles
Deleting local profiles comes with some caveats and distinctions depending how it's done and at what scope level. A local profile can only be deleted at the scope level where it was created. For example, if a local profile has been created at the site level, you cannot delete it at the device level of a device in that site. You must delete it at the source scope denoted by the 'Assigned Device Scope' value. However, if a profile is overridden at any level the assignment/inheritance from the source profile will break. This means that you would be able to delete the new local profile normally from the scope level despite the profile originally being assigned/inherited form another source.
Delete with Central UI
-
Navigate to a profile management card in the scope, find the trash can icon at the end of the row and click it.

-
Clicking the icon will generate a popup with a delete confirmation. Confirm the delete by pressing the delete button. The local profile will now be deleted.
Deleting an Override
If a profile was inherited and then overridden, deleting it will remove the local profile and reinstate the original inherited profile. This does not apply to profiles assigned from the library, only inherited profiles.
Delete with Central API
Deleting a local profile with Central API is simple now that we already know how to create a local profile. Follow the same instructions for assigning with Central API to craft a request with the required parameters to get started. The only differences are instead of using a post request use a delete request, and no additional body is required.

Deleting is just like with the Central UI, you must use the scope ID where the local profile was originally created. For example if you try to delete an inherited profile at the device level that was created as a local profile at the site level you will get a 400 bad request error.
Updated 10 days ago