Update Workitem API doesn't work

Hello all,

I’m currently trying to build a reporter for the process where it will search unreported work items through the API call. ( I have to use API calls as the reporter only requires to report based on the outcome of the work items and just update on the status variable, nothing more)

I have followed the instruction on Robocorp Process API but I am having trouble using the Update Workitem (JSON) API call.

My issues are

  1. When I try to run this call, I get a 403 error message saying :
    not a valid key=value pair (missing equal-sign) in Authorization header
    But I can use any other API calls under the same setting as shown below

     # API call to update work item
     ${api_url}=    Set Variable    ${http_local_server}/workspaces/${Workspace_ID}/processes/${Process_ID}/work-items/${workitem_id}/data
     ${headers}=    Create Dictionary    Authorization=${API_Key}
     ${resp}=    POST    
     ...    url=${api_url}
     ...    headers=${headers}
     ...    data=${payload}
     Request Should Be Successful
     Status Should Be    200
    
  2. Where in the API call do I have to pass the JSON info? Is this the right way to call by specifying “data=${payload}”? I couldn’t find a right example of using this API call on the web page yet.

Thank you in advance.

I’ve spotted my mistake (using a wrong POST call instead of PUT) and also the format below works. I hope you can use this as reference.

API call to update work item

    ${api_url}=    Set Variable    ${http_local_server}/workspaces/${Workspace_ID}/processes/${Process_ID}/work-items/${workitem_id}/data?
    ${headers}=    Create Dictionary    Authorization=${API_Key["key"]}
    ${resp}=    PUT    
    ...    url=${api_url}
    ...    headers=${headers}
    ...    json=${payload}
    Request Should Be Successful
    Status Should Be    200
2 Likes

Thank you @hyunchanjang93!