SCIM API for new identities creation

Hi,

We have a requirement to create user from outside Sailpoint on API call. We are using SCIM process to launch a workflow in IIQ on API Call.
In the wf we have written below logic to create the resource object and run the aggregation using API. It is able to create the identity cube with the application account since the
applicationName (Web services connector) we are passing is a authoritative application .

We just wanted to check if anyone has done similar implementation earlier to create identity cube. Also Kindly suggest if this implementation can lead to some issue in future?
For the refresh identity it can be part of the workflow or a scheduled task. Any preferred method?

Thank you

Application appObj = context.getObjectByName(Application.class, applicationName);

String errorMessage = null;
ResourceObject rObj = new ResourceObject();

rObj.setObjectType(“account”);
rObj.setIncremental(false);
rObj.setIncomplete(false);
rObj.setDelete(false);

String rObjNativeId = “Test001”; // The account name for the account/Link.

rObj.setIdentity(rObjNativeId);
rObj.put(“EmployeeID”, “Test001”);
rObj.put(“LegalNameFirstName”, “Test” );
rObj.put(“LegalNameLastName”, “User001”);
rObj.put(“CostCenterID”, “C001”);
rObj.put(“JobLevelCode”, “A001”);

Attributes aggArgs = new Attributes();

// aggArgs.put(“noAttributePromotion”, “true”);
aggArgs.put(“promoteAttributes”, “true”);
aggArgs.put(“correlateEntitlements”, “false”);
aggArgs.put(“checkHistory”, “true”);
aggArgs.put(“externalHandlerSeparateThread”, “false”);

Aggregator thdAgg = new Aggregator(context, aggArgs);
if (null == agg) {

errorMessage = “Null Aggregator returned.Unable to Aggregate!”;
logger.error(errorMessage);
return errorMessage;

}

TaskResult taskRes = thdAgg.aggregate(appObj, rObj);

logger.error(“Aggregation Result:” + taskRes.toXml());
return “Success”;
}

Hi Said Bensalem,

can you explain more how you achieve the requirement, we have similar requirement

Thanks