Profile API : Profile Controller

The EnterWorks Profile APIs are used to manage profiles. Profiles can be created, retrieved, updated, exported, or deleted using the parameters specified in each endpoint.

In addition, you can use the Profile APIs to:

  • Manage association groups

  • View properties or dependencies

  • Maintain dynamic association mappings

  • Create and manage attribute groups

  • Set the order on attribute tabs

  • Create item security filters

  • Validate profiles

  • Maintain or create rules for profiles

  • Register a hierarchy or code set to a specified profile

For more detailed information, see the Profile API Endpoints section below or the EnterWorks Swagger pages.

Profile API Endpoints

GET /api/assocGroups:

  • Retrieves a list of association groups for a specified profile (prodileId).

  • If the profileId parameter is not passed, then the full list of association groups is returned.

POST /api/assocGroups:

  • Creates a new association group.

PUT /api/assocGroups:

  • Updates a specified association group (assocGroupId).

DELETE /api/assocGroups/{assocGroupId}:

  • Deletes a specified association group (assocGroupId).

GET /api/assocGroups/{assocGroupId}:

  • Retrieves the specified association group (assocGroupId).

GET /api/attributes/{attrId}/dependencies:

  • Retrieves the attribute dependency list for a specified attribute (attrId), such as:

    • Link Relationship

    • Repository

    • Rule

    • User Preference

GET /api/callOutProperties:

  • Retrieves a list of call-out properties.

  • The property list is defined by getPropertyKeyList() value in the call out and the property values are defined by the getPropertyKeyTypeMap() value.

GET /api/profiles:

  • Retrieves a list of profiles.

    Note: The name parameter is optional. If not supplied, then all profiles the caller has permission to view are returned.

POST /api/profiles:

  • Creates a new profile.

POST /api/profiles/{dynAssocId}/dynAssocMappings:

  • Creates dynamic association attribute mappings.

PUT /api/profiles/{dynAssocId}/dynAssocMappings:

  • Updates the specified dynamic association attribute mappings.

DELETE /api/profiles/{profileId}:

  • Deletes the specified profile (profileId).

    Note: Call /profiles/{profileId}/dependencies to check the dependencies for the profile before deleting.

GET /api/profiles/{profileId}:

  • Retrieves the specified profile (profileId).

PUT /api/profiles/{profileId}:

  • Updates the specified profile (profileId).

GET /api/profiles/{profileId}/attrTabs:

  • Retrieves the attribute tabs list for the specified profile (profileId).

POST /api/profiles/{profileId}/attrTabs:

  • Creates an attribute tab on the specified profile (profileId),

PUT /api/profiles/{profileId}/attrTabs:

  • Reorders the attribute tabs for the specified profile (profileId) by passing a full list of attribute tab IDs.

DELETE /api/profiles/{profileId}/attrTabs/{attrTabId}:

  • Deletes an attribute tab from the specified profile (profileId).

GET /api/profiles/{profileId}/attrTabs/{attrTabId}:

  • Retrieves the specified profile (profileId).

PUT /api/profiles/{profileId}/attrTabs/{attrTabId}:

  • Updates the specified attribute tab (attrTabId).

GET /api/profiles/{profileId}/attrTabs/{attrTabId}/attrGroups:

  • Retrieves the attribute tabs list for the specified profile (profileId).

POST /api/profiles/{profileId}/attrTabs/{attrTabId}/attrGroups:

  • Creates an attribute group.

PUT /api/profiles/{profileId}/attrTabs/{attrTabId}/attrGroups:

  • Reorders the attribute groups for a specified profile (profileId) by passing a full list of attribute group IDs.

DELETE /api/profiles/{profileId}/attrTabs/{attrTabId}/attrGroups/{attrGroupId}:

  • Deletes an attribute group for the specified profile (profileId).

PUT /api/profiles/{profileId}/attrTabs/{attrTabId}/attrGroups/{attrGroupId}:

  • Updates the attribute group for a specified ID.

GET /api/profiles/{profileId}/attributes:

  • Retrieves the attribute list for the specified profile (profileId).

    Note: After creating or updating attributes using POST or PUT, call POST /profiles/{profileId}//finalizeAttr to finalize the changes.

POST /api/profiles/{profileId}/attributes:

  • Creates a new attribute.

DELETE /api/profiles/{profileId}/attributes/{attrId}:

  • Deletes the specified attribute (attrId).

GET /api/profiles/{profileId}/attributes/{attrId}:

  • Retrieves the specified attribute (attrId).

PUT /api/profiles/{profileId}/attributes/{attrId}:

  • Updates the specified attribute (attrId).

    Note: After creating or updating all attributes using POST or PUT, call POST /profiles/{profileId}//finalizeAttr to finalize the changes.

GET /api/profiles/{profileId}/dependencies:

  • Retrieves the profile dependency list for a specified profile (profileId).

PUT /api/profiles/{profileId}/details:

  • Adds, updates, or deletes attributes, rules, and properties in a specified profile (profileId).

GET /api/profiles/{profileId}/dynAssoc:

  • Retrieves the dynamic association list for a specified profile (profileId).

POST /api/profiles/{profileId}/dynAssoc:

  • Creates a dynamic association for the specified profile (profileId).

DELETE /api/profiles/{profileId}/dynAssoc/{dynAssocId}:

  • Deletes a dynamic association from a specified profile (profileId).

GET /api/profiles/{profileId}/dynAssoc/{dynAssocId}:

  • Retrieves the dynamic association list for a specified profile (profileId).

PUT /api/profiles/{profileId}/dynAssoc/{dynAssocId}:

  • Updates the dynamic association in a specified profile (profileId).

GET /api/profiles/{profileId}/dynCatAssoc/{dynAssocName}:

  • Retrieves the dynamic association list for a specified profile (profileId).

POST /api/profiles/{profileId}/exportAttrList:

  • Exports the attribute list for a specified profile (profileId) to a CSV file.

    Note: File encoding is defined by the "profile.importExport.encoding" value in the sharedConfig.properties file. The default value is "UTF-8".

POST /api/profiles/{profileId}/finalizeAttr:

  • Finalizes the changes to the attributes on a specified profile (profileId).

    Note: After creating or updating all attributes using POST or PUT, call this endpoint to finalize the changes.
    Warning: If PUT /api/profiles{profileId}//details is used to create or update attributes, do NOT call this endpoint.

POST /api/profiles/{profileId}/importAttrList:

  • Imports the attribute list for a specified profile (profileId) to a .csv file.

    Note: File encoding is defined by the "profile.importExport.encoding" value in the sharedConfig.properties file. The default value is "UTF-8".

GET /api/profiles/{profileId}/itemSecurityFilters:

  • Retrieves the item security filter for the specified profile ID and repository ID.

POST /api/profiles/{profileId}/itemSecurityFilters:

  • Creates a post item security filter for the specified profile (profileId).

DELETE /api/profiles/{profileId}/itemSecurityFilters/{itemSecurityFilterId}:

  • Deletes the item security filter for the specified profile ID and item security ID.

PUT /api/profiles/{profileId}/itemSecurityFilters/{itemSecurityFilterId}:

  • Updates the item security filter for a specified profile (profileId).

GET /api/profiles/{profileId}/itemSecurityFilters/{itemSecurityFilterId}/attrGroups:

  • Get item security filter by profile ID and Item Security ID

PATCH /api/profiles/{profileId}/orderAttr:

  • Sets the order attributes in the specified profile (profileId).

    Note: The passed list of attributes can be partial. The existing order for any attribute that is not passed in the list will remain unchanged.

POST /api/profiles/{profileId}/properties:

  • Creates a new property for the specified profile (profileId).

DELETE /api/profiles/{profileId}/properties/{propertyName}:

  • Deletes the specified property (propertyName).

GET /api/profiles/{profileId}/properties/{propertyName}:

  • Retrieves a specified property (propertyName).

PUT /api/profiles/{profileId}/properties/{propertyName}:

  • Updates the specified property (propertyName).

PATCH /api/profiles/{profileId}/registerHierarchy:

  • Registers the hierarchy/Codeset to the specified profile (profileId).

    Note: This call does NOT clear the cache.

GET /api/profiles/{profileId}/repositories:

  • Retrieves the repositories for a specified profile (profileId).

GET /api/profiles/{profileId}/rules:

  • Retrieves the profile rule list for a specified profile (profileId).

POST /api/profiles/{profileId}/rules:

  • Creates a new rule on a specified profile (profileId).

DELETE /api/profiles/{profileId}/rules/{ruleId}:

  • Deletes the specified rule (ruleId).

GET /api/profiles/{profileId}/rules/{ruleId}:

  • Retrieves the specified rule (ruleId).

PUT /api/profiles/{profileId}/rules/{ruleId}:

  • Updates the specified rule tab (ruleId).

PATCH /api/profiles/{profileId}/unRegisterHierarchy:

  • Unregisters the hierarchy/Codeset from the specified profile.

    Note: This call does NOT clear the cache.

GET /api/profiles/{profileId}/userAttrTabs:

  • Retrieves the user attribute tabs list for the specified profile (profileId).

POST /api/profiles/{profileId}/validate:

  • Checks the specified profile (profileId) for the required attributes.

GET /api/profiles/{profileType}/profileTypeDependencies:

  • Retrieves a list of required attributes and attribute properties for the specified profile type (profileType).