Create Multiple User Profiles

Endpoint URL: {registrationDomain} /entity.bulkCreate



Description

Creates multiple user profiles with a single API call. Note that the entity.bulkCreate endpoint limits you to a body parameter no larger than 5 MB. If you encounter a client intended to send too large body error you'll need to reduce the size of the body parameter (for example, by dividing the list of accounts to be created in half, and then making two API calls).


Respects the API Client Allow List: Yes


API Client Permissions

The following table indicates the API client features that can (and the API client features that can't) be used to call this endpoint:

owner
access_issuer
direct_access
direct_read_access
login_client
No
No
Yes
No
No


Authentication

This endpoint supports both Basic authentication (recommended) and janrain-signed authentication.

How to Create an Authentication String


Base URL

The base URL for this endpoint is your Identity Cloud Capture domain; for example:

https://educationcenter.us-dev.janraincapture.com

Your Capture domains (also known as Registration domains) can be found in the Console on the Manage Application page:

Examples

Example request

This command creates three new user accounts, specifying the following attribute values for each account:

  • familyName
  • givenName
  • email
  • statuses

Note that the statuses attribute is a plural attribute, and contains two child attributes: status and statusCreated.


curl -X POST \
  -H "Authorization: c2dueXZ1czZwYzRqbTdraHIybmVxNWdzODlnYnIyZXE6d3Q0YzN1bjl3a2tjZnZ5a25xeDQ0eW5jNDc2YWZzNjg=" \
  --data-urlencode type_name=user\
  --data-urlencode all_attributes='[{"familyName":"Jones","givenName":"Abe","email":"jonesa@example.com","statuses":[{"status":"active",statusCreated":"2015-12-15T07:36:25Z"}]},{"givenName":"Jackson","familyName":"Gordon","email":"gjack@test.com","statuses":[{"status":"inactive","statusCreated":"2015-10-12T04:00:00Z"}]},{"givenName":"Sally","familyName": "Smith","email":"ssmith@myorg.org"}]' \
  https://my-app.janraincapture.com/entity.bulkCreate
          

      Running this command in Postman


Example Results


{
  "uuid_results": [
   "efd7fe4e-c0a2-4b80-876e-1d06df393579",
   "3314d744-09a9-4264-a17f-402d3e4824e7",
   "639dbbbc-6cac-4054-83be-92e08ced155f"
 ],
  "results": [
    11393,
    11395,
    11397
  ],
  "stat": "ok"
}
          

If you are adding a large number of accounts you could encounter errors with the preceding command; that's because of the way the attributes are formatted within the body parameter. If you run into problems with the bulkCreate endpoint, try formatting the attributes and attribute values as x-www-form-urlencoded parameters instead. For example:

curl -X POST \
  https://my-app.janraincapture.com/entity.bulkCreate \
  -H 'Content-Type: application/x-www-form-urlencoded' 
  -H 'Authorization: Basic dXQ0YmdycmE3dzI4MmpjZm15cGZxeDlwemhxaGpqMmI6dW5qemU5bndrZnV5NmpwdzgzOHFwYTdhZDNoZG55YTY=' \
  -d 'all_attributes=[{"givenName":"Jane","familyName":"Fielding","email":"jane.ortiz@fielding.com"},{"givenName":"Anderson","familyName":"Franks","email":"anderson.franks@example.com"},{"givenName":"Chiang","familyName":"Sun","email":"chiang.sun@example.com"}]&type_name=user'


Query Parameters

ParameterTypeRequiredDescription
type_namestringYesentityType of the entity.
 
all_attributesstringYesAttribute names and values (formatted as a JSON object) for the entity. This argument is parsed as one entity.: if any part of the argument fails to parse, the entire request will be rejected.