SDK
SDK Javascript v5.x
1

You are currently looking at the documentation of a previous version of Kuzzle. We strongly recommend that you use the latest version. You can also use the version selector in the top menu.

createProfile #

Create a new profile in Kuzzle.

There is a small delay between profile creation and its availability in our search layer (usually a couple of seconds). That means that a profile that was just created might not be returned by the searchProfiles function at first.

createProfile(id, content, [options], callback) #

ArgumentsTypeDescription
idstringUnique profile identifier
policiesarray of JSON objectsList of policies to apply to this profile
optionsstring(Optional) Optional arguments
callbackfunctionCallback handling the response

Options #

FilterTypeDescriptionDefault
queuablebooleanMake this request queuable or nottrue
replaceIfExistbooleanIf the same profile already exists: throw an error if sets to false. Replace the existing profile otherwisefalse
refreshstringIf set to wait_for, Kuzzle will wait the persistence layer to finish indexing (available with Elasticsearch 5.x and above)undefined

Callback Response #

Returns a security Profile object.

Usage #

var policies = [
  {roleId: 'myrole'},
  {
    roleId: 'default', 
    restrictedTo: [
      {index: 'index1'}, 
      {index: 'index2', collections: ['foo', 'bar'] } 
    ] 
  }
];
// You can chose to replace the given profile if already exists
var options = {
  replaceIfExist: true
};
// Using callbacks (NodeJS or Web Browser)
kuzzle
  .security
  .createProfile('myprofile', policies, options, function(error, profile) {
  });
// Using promises (NodeJS)
kuzzle
  .security
  .createProfilePromise('myprofile', policies, options)
  .then(profile => {
  });