We recommend the "/bulkimports?" endpoint for situations where you need to create or update multiple users via the API. This endpoint only works for creating/updating users at this time, both use the POST request using XML or JSON formats. The bulk import runs the same process as the bulk import functionality available within the UI.
Get’s the latest Bulk Imports for an organization
Get the most recent user bulk import jobs (1000 max).
Request Uri:
GET /bulkimports?source={source}
Response Body: (XML)
<UserBulkImports>
<UserBulkImport>
<Id></Id>
<ImportDate></ImportDate>
<Status> </Status>
<TotalRecords></TotalRecords>
<TotalUsersCreated></TotalUsersCreated>
<Failed></Failed>
<Duplicate></Duplicate>
<InvalidEmail></InvalidEmail>
<SendEmails></SendEmails>
<SkipFirstLogin></SkipFirstLogin>
</UserBulkImport>
<UserBulkImport>
<Id></Id>POST -
<Status> </Status>
<TotalRecords></TotalRecords>
<TotalUsersCreated></TotalUsersCreated>
<Failed></Failed>
<Duplicate></Duplicate>
<InvalidEmail></InvalidEmail>
<SendEmails></SendEmails>
<SkipFirstLogin></SkipFirstLogin>
</UserBulkImport>
………..
</UserBulkImports>
Get a specific Bulk Import:
Get the status of a specific user bulk import job.
Request Uri:
GET /bulkimports/{bulkimportid}?source={source}
Request Body: (XML)
<UserBulkImport>
<Id></Id>
<ImportDate></ImportDate>
<Status></Status>
<TotalRecords></TotalRecords>
<TotalUsersCreated></TotalUsersCreated>
<Failed></Failed>
<Duplicate></Duplicate>
<InvalidEmail></InvalidEmail>
<SendEmails></SendEmails>
<SkipFirstLogin></SkipFirstLogin>
</UserBulkImport>
Create a new Bulk Import for an organization:
Create a new user bulk import job. This API Path can be used to create and update user records in bulk. Username is the unique identifier in the import, the username cannot be changed through the use of the user bulk import job. All other fields can be updated, and the current value of a user field will not be nullified if a value is not specified for the same field in the import.
Request Uri:
POST /bulkimports?source={source}
Important Notes:
- Body size max is 2000kb, which will be equivalent to nearly 2000 rows.*
- Username, FirstName, LastName, Email are required fields.
- Values must be given if InactiveDate and AccessLevel fields are passed in the request body, these fields cannot be passed with a null value.
- The CustomFields are based on org setup. If the org has mandatory custom fields, these become required in the import else they're optional.
-
The <Team> and <Course> fields require the use of the TeamCodeForBulkImport and CourseCodeForBulkImport. These codes can be located in the UI on the Team and Course settings pages, otherwise they are available via the API GET /Teams? and GET /Courses? endpoints.
Querystring parameters:
"&sendmessage=[true/false]" set true if you want to send login emails
"&skipfirstlogin=[true/false]" set to true if you want to skipfirstlogin
"&format=json" sets json format
Request Body: (XML)
<UserImports>
<UserImport>
<Id></Id>
<Username></Username>
<Email></Email>
<FirstName></FirstName>
<LastName></LastName>
<Password></Password>
<Phone></Phone>
<Mobile></Mobile>
<Skype></Skype>
<Title></Title>
<CompanyName></CompanyName>
<WebSite></WebSite>
<Twitter></Twitter>
<Team1></Team1>
<Team2></Team2>
<Team3></Team3>
<Team4></Team4>
<Team5></Team5>
<Course1></Course1>
<Course2></Course2>
<Course3></Course3>
<Address1></Address1>
<Address2></Address2>
<City></City>
<State></State>
<Zip></Zip>
<Country></Country>
<CustomField1></CustomField1>
<CustomField2></CustomField2>
<CustomField3></CustomField3>
<CustomField4></CustomField4>
<CustomField5></CustomField5>
<CustomField6></CustomField6>
<CustomField7></CustomField7>
<CustomField8></CustomField8>
<CustomField9></CustomField9>
<CustomField10></CustomField10>
<SalesforceId></SalesforceId>
<SalesforceAccountId></SalesforceAccountId>
<SalesforceContactId></SalesforceContactId>
<Active>true/false</Active>
<InactiveDate></InactiveDate>
<AccessLevel></AccessLevel>
<Brand></Brand>
<Culture></Culture>
<Manager></Manager>
<UserCustomField1></UserCustomField1>
<UserCustomField2></UserCustomField2>
<UserCustomField3></UserCustomField3>
<UserCustomField4></UserCustomField4>
<UserCustomField5></UserCustomField5>
<UserCustomField6></UserCustomField6>
<UserCustomField7></UserCustomField7>
<UserCustomField8></UserCustomField8>
<UserCustomField9></UserCustomField9>
<UserCustomField10></UserCustomField10>
<UserCustomField11></UserCustomField11>
<UserCustomField12></UserCustomField12>
<UserCustomField13></UserCustomField13>
<UserCustomField14></UserCustomField14>
<UserCustomField15></UserCustomField15>
<UserCustomField16></UserCustomField16>
<UserCustomField17></UserCustomField17>
<UserCustomField18></UserCustomField18>
<UserCustomField19></UserCustomField19>
<UserCustomField20></UserCustomField20>
<UserCustomField21></UserCustomField21>
<UserCustomField22></UserCustomField22>
<UserCustomField23></UserCustomField23>
<UserCustomField24></UserCustomField24>
<UserCustomField25></UserCustomField25>
<JobRole></JobRole>
<ExternalEmployeeID></ExternalEmployeeID>
</UserImport>
</UserImports>
Request Body: (JSON)
[{
"Id": "",
"Username" : "",
"Email" : "",
"FirstName" : "",
"LastName" : "",
"Password" : "",
"Phone" : "",
"Mobile" : "",
"Skype" : "",
"Title" : "",
"CompanyName" : "",
"WebSite" : "",
"Twitter" : "",
"Team1" : "",
"Team2" : "",
"Team3" : "",
"Team4" : "",
"Team5" : "",
"Course1" : "",
"Course2" : "",
"Course3" : "",
"Address1" : "",
"Address2" : "",
"City" : "",
"State" : "",
"Zip" : "",
"Country" : "",
"CustomField1" : "",
"CustomField2" : "",
"CustomField3" : "",
"CustomField4" : "",
"CustomField5" : "",
"CustomField6" : "",
"CustomField7" : "",
"CustomField8" : "",
"CustomField9" : "",
"CustomField10" : "",
"SalesforceId" : "",
"SalesforceAccountId" : "",
"SalesforceContactId" : "",
"Active" : "true/false",
"InactiveDate": "",
"AccessLevel": "",
"Brand": "",
"Culture" : "",
"Manager" : "",
"UserCustomField1" : "",
"UserCustomField2" : "",
"UserCustomField3" : "",
"UserCustomField4" : "",
"UserCustomField5" : "",
"UserCustomField6" : "",
"UserCustomField7" : "",
"UserCustomField8" : "",
"UserCustomField9" : "",
"UserCustomField10" : "",
"UserCustomField11" : "",
"UserCustomField12" : "",
"UserCustomField13" : "",
"UserCustomField14" : "",
"UserCustomField15" : "",
"UserCustomField16" : "",
"UserCustomField17" : "",
"UserCustomField18" : "",
"UserCustomField19" : "",
"UserCustomField20" : "",
"UserCustomField21" : "",
"UserCustomField22" : "",
"UserCustomField23" : "",
"UserCustomField24" : "",
"UserCustomField25" : "",
"JobRole" : "",
"ExternalEmployeeID": ""
}
]
Comments
0 comments
Article is closed for comments.