I’ve just come across a strange bug with the HTTP Request body and single object arrays. Wondering if anyone has seen this before. I am calling the PATCH /accounts/:id api in my workflow to update the attributes of a delim source account. Per the API the request body must be sent as an array.
So in my HTTP request for the Request Body field I choose “Enter Value” and send something like this:
[
{
"op": "replace",
"path": "/attributes/someAttribute",
"value": "{{$.interactiveForm.formData.someField}}"
}
]
My request was failing every time. I looked at everything to troubleshoot. Then in the workflow output I noticed that after JSON parsing and variable substitution it looks like ISC is sending the JSON body like this:
{
"type": "ActivityTaskScheduled",
"timestamp": "2026-04-26T01:10:28.253069277Z",
"attributes": {
"displayName": "HTTP Request 2",
"input": {
"authenticationType": "OAuth",
"headerAuthValue": null,
"jsonRequestBody": {
"op": "replace",
"path": "/attributes/someAttribute",
"value": "ID Only"
},
"method": "patch",
abbreviated ...
Notice that in the “jsonRequestBody” field ISC has stripped the array and is sending just as a single JSON object! I guess it thinks it is doing the correct thing since this is a single item array, but stripping it will cause the request to be rejected by the endpoint!
Luckily the workaround was simple. I went back to the Request Body in the HTTP Request added another array:
[[
{
"op": "replace",
"path": "/attributes/someAttribute",
"value": "{{$.interactiveForm.formData.someField}}"
}
]]
This time it worked!
{
"type": "ActivityTaskScheduled",
"timestamp": "2026-04-26T01:35:18.003287514Z",
"attributes": {
"displayName": "HTTP Request 2",
"input": {
"authenticationType": "OAuth",
"headerAuthValue": null,
"jsonRequestBody": [
{
"op": "replace",
"path": "/attributes/someAttribute",
"value": "Fully Enabled"
}
],
"method": "patch",
abbreviated ...
I’m curious if anyone has seen this bug before? Is this not a bug / expected behavior? I don’t mind the work around but I’m afraid if SailPoint notices this and corrects it that my workflows will suddenly break.
Thanks!