Announcing the SAVIYNT KNOWLEDGE EXCHANGE unifying the Saviynt forums, documentation, training, and more in a single search tool across platforms. Click HERE to read the Announcement.

scim rest api reference

Harsha
Regular Contributor II
Regular Contributor II

Hello Team,

We are trying to get the accounts and entitlements from SAP IdM through scim based REST. Has  anyone worked on scim before? If yes, please need a reference on how importAccountEntJSON will look like. Searched few forum posts and saw the following format:

"urn:ietf:params:scim:schemas:core:2.0:User"

And

"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"

Is there any documentation available on this? Please help with any references.

Thanks,

Harsha

9 REPLIES 9

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @Harsha,

We are checking internally on this; we will let you know once we have the information.

Thanks,

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Harsha
Regular Contributor II
Regular Contributor II

Hello,

as I mentioned above we are integrating SAP IdM and in postman, I can see the response. I am trying to fetch just 1 account now. Below is response:

{
"Resources": [
{
"id": "254",
"externalId": "XYZ1",
"meta": {
"created": "2021-12-10T13:29:30Z",
"lastModified": "2023-01-19T17:20:08Z",
"location": "url/idm/v1/Users/254",
"resourceType": "User"
},
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User"
],
"userName": "XYZ1",
"name": {
"familyName": "YZ",
"givenName": "X"
},
"displayName": "X YZ",
"active": true,
"groups": [
{
"value": "PRIV:AD:ONLY",
"display": "PRIV:AD:ONLY",
"primary": false,
"$ref": "url/idm/v1/Groups/PRIV:AD:ONLY"
},
{
"value": "PRIV:GROUP:AD:gg_ITA18_CTX_FF4",
"display": "PRIV:GROUP:AD:gg_ITA18_CTX_FF4",
"primary": false,
"$ref": "url/idm/v1/Groups/PRIV:GROUP:AD:gg_ITA18_CTX_FF4"
},
{
"value": "PRIV:GROUP:AD:gg_ITA18_CTX_FS3",
"display": "PRIV:GROUP:AD:gg_ITA18_CTX_FS3",
"primary": false,
"$ref": "url/idm/v1/Groups/PRIV:GROUP:AD:gg_ITA18_CTX_FS3"
}

and saviynt importaccountjson is as following:

{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "url/idm/v1/Users?filter=externalId sw XYZ1",
"httpHeaders": {
"Authorization": "Basic token"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"statusConfig": {
"active": "true",
"inactive": "false"
}
},
"listField": "urn:ietf:params:scim:schemas:core:2~dot#0:User",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "urn:ietf:params:scim:schemas:core:2~dot#0:User.externalId~#~char",
"username": "urn:ietf:params:scim:schemas:core:2~dot#0:User.userName~#~char",
"status": "urn:ietf:params:scim:schemas:core:2~dot#0:User.active~#~char"
}
}
}

Note: also tried listfield like Resources,x.Resources,x.Resources[0]. No matter what import says success but doesnt import anything. Please help me where I need to make changes so this will work?

Thanks,

Harsha

 

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @Harsha

Can you please try the below json, I have updated the "listField": "\"Resources\"",
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "url/idm/v1/Users?filter=externalId sw XYZ1",
"httpHeaders": {
"Authorization": "Basic token"
},
"httpContentType": "application/x-www-form-urlencoded",
"httpMethod": "GET"
},
"statusConfig": {
"active": "true",
"inactive": "false"
}
}
},
"listField": "\"Resources\"",
"keyField": "accountID",
"colsToPropsMap": {
"accountID": "urn:ietf:params:scim:schemas:core:2~dot#0:User.externalId~#~char",
"username": "urn:ietf:params:scim:schemas:core:2~dot#0:User.userName~#~char",
"status": "urn:ietf:params:scim:schemas:core:2~dot#0:User.active~#~char"
}
}
}


Thanks,

 
If you find the above response useful, Kindly Mark it as "Accept As Solution".

Harsha
Regular Contributor II
Regular Contributor II

Hello,

Thank you for quick response, I tried with listfield you mentioned still no luck.

Thanks,

Harsha

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @Harsha,

Could you please try checking the logs for any error messages?

Thanks

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Harsha
Regular Contributor II
Regular Contributor II

Hello,

Please find below attached logs.

Thanks,

Harsha

sudeshjaiswal
Saviynt Employee
Saviynt Employee

Hello @Harsha ,

Can you please try with the below JSON and check,

{
"accountParams":{
"connection":"acctAuth",
"processingType":"SequentialAndIterative",
"call":{
"call1":{
"callOrder":0,
"stageNumber":0,
"http":{
"url":"url/idm/v1/Users?filter=externalId sw XYZ1",
"httpHeaders":{
"Authorization":"Basic token"
},
"httpContentType":"application/x-www-form-urlencoded",
"httpMethod":"GET"
},
"statusConfig":{
"active":"true",
"inactive":"false"
}
}
},
"listField":"Resources",
"keyField":"accountID",
"colsToPropsMap":{
"accountID":"externalId~#~char",
"username":"userName~#~char",
"status":"active~#~char"
}
}
}

Thanks,

If you find the above response useful, Kindly Mark it as "Accept As Solution".

Harsha
Regular Contributor II
Regular Contributor II

Hello @sudeshjaiswal ,

This above json I tried first then tried different variation I mentioned. It has not worked.

Thanks,

Harsha

Vedanth_BK
Saviynt Employee
Saviynt Employee

Hi @Harsha,

Please share the complete Postman response for one account in a text file, as the shared response is incomplete.

Thank you
Vedanth B.K