Posted on 08-14-2018 10:19 PM
trying to get my scripting correct to be able to update an extension attribute for an ipad using rest api. even through the Try It Out feature on the uapi/docs i receive an error 500 so something isnt correct. All examples are in XML but uapi is in JSON which i prefer (as im using powershell)
as the example in the uapi docs isnt working, i know the request isnt correct.....but what am i missing? is the documentation correct? I noticed in the model schema it mentions
"extensionAttributes": [
{
"id": 0,
"name": "string",
"type": "STRING",
"value": "string"
}
but in the bodies Model Schema it has
"updatedExtensionAttributes": [
{
"id": 0,
"name": "string",
"type": "STRING",
"value": "string"
}
]
here is the generated example which fails with error 500. the attribute exists, correctly as far as i know.
curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: jamf-token [insert token]' -d '{
"updatedExtensionAttributes": [
{
"id":1,
"name": "DiscoProfile",
"value": "xxx"
}
],
}' 'https://[server].jamfcloud.com/uapi/inventory/obj/mobileDevice/1/update'
Solved! Go to Solution.
Posted on 08-15-2018 06:12 AM
It appears that your original request has an extra comma, which likely resulted in the 500 error. Your second comment indicates that you've since resolved that issue, based on the request body. However, the Jamf Pro API requires the id of the extension attribute that you're attempting to update. Try using a request body like the following:
{
"updatedExtensionAttributes": [
{
"id": 1,
"value": "xxxx"
}
]
}
Posted on 08-14-2018 11:18 PM
OK now i can submit the POST on the uapi Try Out button. with success 200. however the response still doesnt seem to reflect the changes.
here is the data i POSTed as above
{
"updatedExtensionAttributes": [
{
"name": "DiscoProfile",
"value": "xxxx"
}
]
}
and here is the appropriate chunk from the response body
"extensionAttributes": [
{
"id": 1,
"name": "DiscoProfile",
"type": "STRING",
"value": "test"
}
]
As you can see, the extension attribute is still unchanged
Posted on 08-15-2018 06:12 AM
It appears that your original request has an extra comma, which likely resulted in the 500 error. Your second comment indicates that you've since resolved that issue, based on the request body. However, the Jamf Pro API requires the id of the extension attribute that you're attempting to update. Try using a request body like the following:
{
"updatedExtensionAttributes": [
{
"id": 1,
"value": "xxxx"
}
]
}