User Provisioning

This API will provision the user, if user does not exist already in system. If the user already exists, then the user info will be updated based on values sent in the request payload.

Note: Passing null at a certain field would reset the value to null in store.

End Point:

/api/pi-api/v1/syscon/users

Method:

POST

Request Headers:

HeaderValueDescription
Authorization"Signature keyId=,algorithm=,headers=(),signature="Signature detail to check authorization to call API

Request Body:

KeyData TypeMandatoryDescription
referenceIdStringYesExternal reference ID that uniquely identifies the user in partner systems.

This is case sensitive value - so make sure to use it consistently across API interactions

Max length of string supported is 320 characters.
firstNameStringNoFirst Name of the user. Max length of string supported is 100 characters.
lastNameStringNoLast Name of the user. Max length of string supported is 100 characters.
emailStringNoEmail of the user. Max length of string supported is 255 characters.
genderStringNoGender of the user. If value is passed it has to be one of the values in list: "male", "female", "other"
birthDateStringNoDate of birth of user. Date value should in format: “YYYY-MM-DD”
userCategoryStringNoType / role of the user. If value is passed it has to be one of the values in list: "teacher", "student", "other". Default value set is “student”.
countryCodeStringNoCountry code of the user. Value passed should be two letters in upper case as identified at ISO-3611-1.
stateCodeStringNoState code of the user. Value passed should be of format CC-SS where CC is country code and SS is state code, as identified at ISO-3611-2. All letters are in upper case.
miscJSONNoPartner can capture any other data as key value pairs at this. Ex: mobile, group…

This should contain whatever additional info needs to be sent to Gooru which may not be used today but can store for record keeping purpose.

The value for this field will not be validated.

Response Object:

status200, if successful
body.messageMessage indicating the status of operation, in case API is not successful and returns HTTP status code other than 200.

The message is indicative and is not localized / internationalized value to use at display; and applications should not rely on this message.