This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hello,
I use User Provisioning v4 API to create users. I can also use its PATCH method to modify user's Identity Profile. Now I'm wondering if there's any way to update user's Spend or Travel profile as well using API? I tried different approaches (documented on screenshots below) with no success.
Thank you in advance for any help!
Kind regards,
GK
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
No, PATCH {{Host}}/profile/Identity/v4/Users/{{UserID}} will only affect the Identity schema. use PATCH {{Host}}/profile/v4/Users/{{UserID}} to be able to change the "path" urn:ietf:params:scim:schemas:extension:spend:2.0:User schema.
You should also be able to use profile.v4.Users to update the identity as well, but for path use the identity schema. For example:
{
"op": "replace",
"path": "userName",
"value": "John10_9_1_Replacement@sap.com"
}
You can always open a case with Concur for deeper help with APIs.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Hello TChapman and KorzeGrz,
I'm getting the same error. Can I get a sample payload of the PATCH /profile/v4/Users/{{UserID}} example? I keep trying to update an enterprise user schema item. Spoiler alert, it's a user error by me:
{
"mnemonic": "/profile/v4/Users/UUID",
"verb": "patch",
"request_type": "json",
"response_type": "json",
"path": "/profile/identity/v4.1/Users/XXXXXX-XXXX-XXXX-XXXX-XXXXXXX",
"input": {
"schema": "[{\"name\":\"schemas\",\"type\":\"array\",\"of\":\"string\",\"control_type\":\"text\",\"label\":\"Schemas\",\"details\":{\"real_name\":\"schemas\"}},{\"name\":\"Operations\",\"type\":\"array\",\"of\":\"object\",\"label\":\"Operations\",\"properties\":[{\"control_type\":\"text\",\"label\":\"Op\",\"type\":\"string\",\"name\":\"op\",\"details\":{\"real_name\":\"op\"},\"optional\":false,\"hint\":\"op\"},{\"control_type\":\"text\",\"label\":\"Path\",\"type\":\"string\",\"name\":\"path\",\"details\":{\"real_name\":\"path\"},\"optional\":false,\"hint\":\"path\"},{\"control_type\":\"text\",\"label\":\"Value\",\"type\":\"string\",\"name\":\"value\",\"details\":{\"real_name\":\"value\"},\"optional\":false,\"hint\":\"value\"}],\"details\":{\"real_name\":\"Operations\"}}]",
"data": {
"schemas": "\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"",
"Operations": [
{
"op": "replace",
"path": "urn:ietf:params:scim:schemas:extension:spend:2.0:User.division",
"value": "My Division"
}
]
}
}
{
"status": 400,
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error",
"urn:ietf:params:scim:api:messages:concur:2.0:Error"
],
"urn:ietf:params:scim:api:messages:concur:2.0:Error": {
"messages": [
{
"code": "BAD_INPUT",
"type": "error",
"schemaPath": "urn:ietf:params:scim:schemas:extension:spend:2.0:User.division"
}
]
},
"scimType": "invalidPath",
"detail": "Invalid path element"
}
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
assuming "division" is the correct field, you should be using a : not a .
For the original request, they would be doing:
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
I can't think you enough for the quick response. Tried changing to a semi colon and referred to the user schema documentation to hopefully use the right path. Should I be using the v4 or the v4.1 API call? Something else I'm doing wrong? https://developer.concur.com/api-reference/profile/v4.identity.html#schema-user
{"code":"BAD_INPUT","type":"error","schemaPath":"urn:ietf:params:scim:schemas:core:2.0:Schema:division"}]},"scimType":"invalidPath","detail":"Invalid path element"}
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
I think I got it. the correct path is:
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:division
Thank you for all your help!
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Could I trouble you with one more question. Trying to replace a custom field. Not getting an error but the field isn't getting replaced. Is this syntax correct?
"op": "replace", "path": "urn:ietf:params:scim:schemas:extension:spend:2.0:User:customData[id eq \"custom1\"].value", "value": "My New Value"
Also my division isn't replacing either. Is there a schema.xsd out there for reference?
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
I am having this same issue, and when I call the provisioning endpoint to see what is happening, it says the change request was successfully applied.
Did you ever figure your problem out?
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
Sort of. The key is the Employee Group. Each one has a set of Custom fields (some required, some not). I can't tell you which ones, it depends on how your individual Employee Group is set up. However you do need to pass all the required fields as a whole payload. If you do them individually they don't work.
This content from the SAP Concur Community was machine translated for your convenience. SAP does not provide any guarantee regarding the correctness or completeness of this machine translated text. View original text custom.banner_survey_translated_text
When I query the user in Concur using API, I am not able to get a spend profile page. Can you advise how can i do it? Just thought to check if you have any clue?