Ed,
The data loader configuration is part of the base/demo configuration that was built in SecZetta and not part of the product itself, so the page is referring to the baseline admin guide which wasn’t published. It’s meant to be a guide or to spark ideas to build a productive environment.
Below is the information on using the data loader workflow/apis for the baseline configuration.
Derek
Baseline Data Loader
A set of REST API calls are available to load some data into the environment to create profiles and the underlying structures needed to support them. While there are other APIs available to create and manage profiles, they must be used with caution as they would not apply any needed permissions or integration actions that the UI or APIs below will provide.
The caveat for all these APIs is that for any attribute that supports multi-value entries, the APIs will only load an initial single value into them. Additional values will need to be added via the UI or a combination of other complex API calls.
Required Information
- WORKFLOW_ID:
- REQUESTER_ID:
- TOKEN:
- URL:
Finding the Baseline DataLoader Workflow ID
- Navigate to Create Workflows page on the Admin dashboard in SecZetta. (/neprofile_admin/create_workflows)
- Click on the Baseline Data Loader workflow
- The id of the workflow will be found in the url for the open workflow page
- I.E., For the url, /neprofile_admin/workflows/49954399-ab80-43d5-92cc-cfd65e6b52fd/info, the id will be 49954399-ab80-43d5-92cc-cfd65e6b52fd
Finding the ID for the Requester
- Navigate to Users page on the Admin dashboard in SecZetta. (/admin/users#/)
- Find the user to use as the requester, and click on the name
- The id of the user will be found in the url for the open user page
- I.E., For the url, /admin/users/2a532478-0504-445a-9d2f-cc2a9d42791a, the id will be 2a532478-0504-445a-9d2f-cc2a9d42791a
Error Handling
If the request is successfully submitted, any errors will be reported to the requester’s email via a notification. Submit errors will return and error message and non-successful status code.
Required Attribute Checks
Steps to adjust required attribute checks:
-
Select the SecZetta Server System Configuration Profile
-
Click the Update System Configuration workflow button
-
Change the options selected for the Data Loader.
-
Click Submit to save the changes.
Changes will apply to any new requests.
Data Loader API
The available API actions for the BaseLine Data Loader are detailed in the following sections. These are also available as a postman collection which can be imported.
Organization Profiles
The Baseline DataLoader for an organization will create the organization profile and the needed permissions.
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "organization", "organization_name": "ORGANIZATION_NAME", "population_name": "POPULATION_NAME", "sponsor_login": "SPONSOR_LOGIN", "risk_score": "ORGANIZATION_RISK_SCORE", "location_code": "LOCATION_CODE", "department_code": "DEPARTMENT_CODE" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘organization’ to load a new organization |
organization_name | Name of the new organization |
population_name | Name of the population to relate to the organization |
sponsor_login | Login value for the organizations sponsor |
risk_score | 1-10 risk score for the organization |
location_code | Location code for the permitted location |
department_code | Department code for the permitted department |
Sub-Organization Profiles
The Baseline DataLoader for a sub-organization will create the sub-organization profile for the specified organization and the needed permissions.
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "suborganization", "suborganization_name": "SUBORGANIZATION_NAME", "organization_name": "ORGANIZATION_NAME" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘suborganization’ to load a new suborganization |
suborganization_name | Name of the new sub-organization |
organization_name | Name of the organization for the sub-organization |
Organization Collaborators
The Baseline DataLoader for an organization collaborator will create a profile and user for the new collaborator, assign permissions, and send a registration invitation to the specified email.
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "organization_collaborator", "first_name": "FIRST_NAME", "last_name": "LAST_NAME", "email": "EMAIL", "organization_name": "ORGANIZATION_NAME" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘organization_collaborator’ to load a collaborator |
first_name | Firstname of the collaborator |
last_name | Lastname of the collaborator |
Email address for the collaborator | |
organization_name | Name of the organization for the suborganization |
Sub-Organization Collaborators
The Baseline DataLoader for a sub-organization collaborator will create a profile and user for the new collaborator, assign permissions, and send a registration invitation to the specified email.
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "suborganization_collaborator", "first_name": "FIRST_NAME", "last_name": "LAST_NAME", "email": "EMAIL", "suborganization_name": "SUBORGANIZATION_NAME", "organization_name": "ORGANIZATION_NAME" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘suborganization_collaborator’ to load a collaborator |
first_name | Firstname of the collaborator |
last_name | Lastname of the collaborator |
Email address for the collaborator | |
suborganization_name | Name of the suborganization that the person will be a collaborator for |
organization_name | Name of the organization for the suborganization |
Location Profiles
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "location", "location_code": "LOCATION_CODE", "location_description": "LOCATION_DESCRIPTION", "city": "CITY", "state": "STATE", "country": "COUNTRY", "postal_code": "POSTAL_CODE", "street_address1": "STREET_ADDRESS1", "street_address2": "STREET_ADDDRESS2" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘location’ to load a new location |
location_code | Code for the location (will be what is searched on the assignments and organizations) |
location_description | Description for the location |
city | City for the location (not required) |
state | State for the location (not required) |
country | Country for the location (not required) |
postal_code | Postal Code (ZipCode) for the location (not required) |
street_address1 | Address1 for the location (not required) |
street_address2 | Address2 for the location (not required) |
Department Profiles
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "department", "department_code": "DEPARTMENT_CODE", "department_name": "DEPARTMENT_NAME", "approver_login": "APPROVER_LOGIN" } } }
Response Code
201 Created
Body Attributes
Attribute | Description |
---|---|
import_type | Must always be ‘department’ to load a department |
department_code | Code for the department (will be what is searched on the assignments and organizations) |
department_name | Name for the department |
Assignment Profiles
Request Method
POST
Request EndPoint
<URL>/api/workflow_sessions
Request Headers
Authorization | Token token= |
---|---|
Content-Type | application/json |
Accept | application/json |
Request Body
{ "workflow_session": { "workflow_id": "WORKFLOW_ID", "requester_id": "REQUESTER_ID", "requester_type": "NeprofileUser", "attributes": { "import_type": "assignment", "first_name": "FIRST_NAME", "last_name": "LAST_NAME", "email": "EMAIL", "middle_name": "MIDDLE_NAME", "birth_month": "BIRTH_MONTH", "birth_day": "BIRTH_DAY", "personal_phone_number": "PERSONAL_PHONE", "professional_phone_number": "PROFESSIONAL_PHONE", "organization_name": "ORGANIZATION_NAME", "suborganization_name": "SUBORGANIZATION_NAME", "population_name": "POPULATION_NAME", "subpopulation_name": "SUBPOPULATION_NAME", "job_title": "JOBTITLE", "start_date": "START_DATE", "end_date": "END_DATE", "sponsor_login": "SPONSOR_LOGIN", "location_code": "LOCATION_CODE", "department_code": "DEPARTMENT_CODE" } } }
Response Code
201 Created
Body Attributes
Attribute Description
Attribute | Description |
---|---|
import_type | Must always be ‘assignment’ to load an assignment |
first_name | Firstname of the person |
last_name | Lastname of the person |
Email address for the person | |
middle_name | Middle name of person |
Birth_month | 2 digit birth month of person |
Birth_day | 2 digit birth day of person |
Personal_phone_number | Personal phone number of person |
Professional_phone_number | Work phone number for person |
Organization_name | Name of the organization for the assignment |
Suborganization_name | Name of the sub-organization for the assignment |
Population_name | Name of the population for the assignment |
Subpopulation_name | Name of the subpopulation for the assignment |
Job_title | Job title for the assignment |
Start_date | Start date for the assignment |
End_date | End date for the assignment |
Sponsor_login | Login of the user record for the assignment sponsor |
Location_code | Code of the location for the assignment |
Department_code | Code of the department for the assignment |