Profile APIs
Get All Profiles (GET)
Get all profiles
Route
|
URI |
/api/v1/Profiles |
|
Method |
GET |
|
Result |
JSON – ProfileModel[] |
Parameters
None
Response Structure Returns ProfileModel[] object containing:
-
Id: The unique profile ID.
-
Name: string value
-
Description: string value
-
Color: A symbolic color, to be used for displaying purposes.
-
Initials: The initials of this profile, to be used for creating a coloured icon.
-
CreationDateTimeLocal: string value
-
LastModifiedDateTimeLocal: string value
-
Groups: AccountModel[] value
-
LdapAttributes: KeyValuePair<string /* localized */, object>[] value
Example
GET http://localhost/api/v1/Profiles
Example Response
{
"Id": "123e4567-e89b-12d3-a456-426614174000",
"Name": "sample",
"Description": "sample",
"Color": 1,
"Initials": "sample",
"CreationDateTimeLocal": "sample",
"LastModifiedDateTimeLocal": "sample",
"Groups": {},
"LdapAttributes": {}
}
Get Additional Profile Information (POST)
Get additional profile information about assigned accounts and non compliant accounts
Route
|
URI |
/api/v1/Profiles/AdditionalProfileInformation |
|
Method |
POST |
|
Result |
JSON – Dictionary<Guid, ProfileAdditionalInformation> |
Parameters
None
Example
POST http://localhost/api/v1/Profiles/AdditionalProfileInformation
Get Profile Assignments By Profile (GET)
See <see cref="IOpenProfileEditorService.GetProfileAssignments"/>.
Route
|
URI |
/api/v1/Profiles/AssignmentsByProfileId |
|
Method |
GET |
|
Result |
JSON – ProfileAssignmentModel[] |
Parameters
|
Name |
Type |
Mandatory |
Description |
|---|---|---|---|
|
profileId |
Guid |
No |
|
Response Structure Returns ProfileAssignmentModel[] object containing:
-
ProfileId: The profile ID.
-
UserId: The user ID.
-
Fqdn: The FQDN of the user account.
-
UserName: The user's display name.
-
IsNonCompliant: Indicates if the user account is non-compliant.
Example
GET http://localhost/api/v1/Profiles/AssignmentsByProfileId
Example Response
{
"ProfileId": "123e4567-e89b-12d3-a456-426614174000",
"UserId": "123e4567-e89b-12d3-a456-426614174000",
"Fqdn": "sample",
"UserName": "sample",
"IsNonCompliant": true
}
Get All Ldap Attributes (GET)
Get all LDAP attributes
Route
|
URI |
/api/v1/Profiles/Attributes |
|
Method |
GET |
|
Result |
JSON – LdapAttributePickerFormTemplate |
Parameters
None
Response Structure Returns LdapAttributePickerFormTemplate object containing:
-
AvailableAttributes: KeyValuePair<string, IHasValueFormTemplate>[] value
Example
GET http://localhost/api/v1/Profiles/Attributes
Example Response
{ "AvailableAttributes": {} }
Get Ldap Attributes (GET)
Get LDAP attributes for a given account.
Route
|
URI |
/api/v1/Profiles/AttributesByAccount |
|
Method |
GET |
|
Result |
JSON – LdapAttributePickerFormTemplate |
Parameters
|
Name |
Type |
Mandatory |
Description |
|---|---|---|---|
|
accountId |
Guid |
No |
|
|
provider |
string |
No |
|
Response Structure Returns LdapAttributePickerFormTemplate object containing:
-
AvailableAttributes: KeyValuePair<string, IHasValueFormTemplate>[] value
Example
GET http://localhost/api/v1/Profiles/AttributesByAccount
Example Response
{ "AvailableAttributes": {} }
Set Profiles Config (POST)
Save profile config.
Route
|
URI |
/api/v1/Profiles/Configuration |
|
Method |
POST |
|
Result |
JSON – ChangeResult |
Parameters
None
Response Structure Returns ChangeResult object containing:
-
Success: bool value
-
Data: object value
-
ResponseId: Guid? value
-
ErrorDetails: ExternalInterfaceException value
Example
POST http://localhost/api/v1/Profiles/Configuration
Example Response
{ "Success": true, "Data": {}, "ResponseId": "123e4567-e89b-12d3-a456-426614174000", "ErrorDetails": {} }
Get Profiles Config (GET)
Get form template for profile config.
Route
|
URI |
/api/v1/Profiles/Configuration |
|
Method |
GET |
|
Result |
JSON – IFormTemplate |
Parameters
None
Example
GET http://localhost/api/v1/Profiles/Configuration
Create Update Profile (POST)
Create a profile
Route
|
URI |
/api/v1/Profiles/CreateUpdate |
|
Method |
POST |
|
Result |
JSON – ChangeResult |
Parameters
|
Name |
Type |
Mandatory |
Description |
|---|---|---|---|
|
createUpdateProfileModel |
object |
No |
|
Response Structure Returns ChangeResult object containing:
-
Success: bool value
-
Data: object value
-
ResponseId: Guid? value
-
ErrorDetails: ExternalInterfaceException value
Example
POST http://localhost/api/v1/Profiles/CreateUpdate
Example Response
{ "Success": true, "Data": {}, "ResponseId": "123e4567-e89b-12d3-a456-426614174000", "ErrorDetails": {} }
Delete (POST)
Deletes profiles
Route
|
URI |
/api/v1/Profiles/Delete |
|
Method |
POST |
|
Result |
JSON – ChangeResult |
Parameters
None
Response Structure Returns ChangeResult object containing:
-
Success: bool value
-
Data: object value
-
ResponseId: Guid? value
-
ErrorDetails: ExternalInterfaceException value
Example
POST http://localhost/api/v1/Profiles/Delete
Example Response
{ "Success": true, "Data": {}, "ResponseId": "123e4567-e89b-12d3-a456-426614174000", "ErrorDetails": {} }
Get Groups (GET)
Get group memberships for a given account.
Route
|
URI |
/api/v1/Profiles/GroupsByAccount |
|
Method |
GET |
|
Result |
JSON – AccountModel[] |
Parameters
|
Name |
Type |
Mandatory |
Description |
|---|---|---|---|
|
accountId |
Guid |
Yes |
|
|
provider |
string |
Yes |
|
Response Structure Returns AccountModel[] object containing:
-
ResourceTypeGuid: Guid value
-
SerializedAccountId: string value
-
UriKey: string value
-
DisplayName: string value
-
Provider: TechnologyProvider value
-
IsGroup: bool value
-
Sid: string value
-
Guid: Guid? value
-
Description: string value
-
Attributes: KeyValuePair<string, string>[] value
-
ExtendedAttributes: KeyValuePair<string, string>[] value
-
Children: string[] value
-
TypeId: int value
Example
GET http://localhost/api/v1/Profiles/GroupsByAccount
Example Response
{
"ResourceTypeGuid": "123e4567-e89b-12d3-a456-426614174000",
"SerializedAccountId": "sample",
"UriKey": "sample",
"DisplayName": "sample",
"Provider": {},
"IsGroup": true,
"Sid": "sample",
"Guid": "123e4567-e89b-12d3-a456-426614174000",
"Description": "sample",
"Attributes": {},
"ExtendedAttributes": {},
"Children": {},
"TypeId": 1
}