How can we help?
Searching in {{docApp.searchFilterBySpecificBookTitle}}
{{docApp.searchResultFilteredItems.length}} results for: {{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Search results have been limited. There are a total of {{docApp.searchResponse.totalResultsAvailable}} matches.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Operation Information
- Application Reference:
com.hornbill.servicemanager
- Scope:
Entity - Requests
- Class:
Entity
- Required Privilege Level:
guest
- Required Rights: none
Description
Update the primary and extended fields of a request
Request Parameters
The update API takes the following input parameters.
Note
When sending a JSON request payload to the API, the order of parameters is not significant. However, for XML request payloads, parameters must be provided in the exact order specified in this documentation to comply with input validation requirements.
Name | Type | Required | Description |
---|---|---|---|
requestId |
xs:string |
Yes | ID of the request |
h_summary |
xs:string |
No | Summary of the request |
h_description |
xs:string |
No | Description of the request |
h_category |
xs:string |
No | Category of the request |
h_category_id |
xs:int |
No | Category ID |
h_site |
xs:string |
No | Name of the site |
h_site_id |
xs:int |
No | Site ID |
h_external_ref_number |
xs:string |
No | External reference number |
customFields |
xs:string |
No | A JSON representation of the custom fields for a request |
resumeBpmProcess |
xs:boolean |
No | This parameter determines whether the BPM process is resumed or not. By default, this option is disabled. |
Response Parameters
Name | Type | Description |
---|---|---|
exceptionName |
xs:string |
This output parameter captures a code for errors that occured while updating the details section of a Request. The options are "exceededMaximumAllowableSize" and "failedToUpdateLockedDetails". |
exceptionDescription |
xs:string |
This output parameter captures a description for errors that occured while updating the details section of a Request. |
Request Parameters - Additional Information
customFields
The customFields
input parameter enables the update of any of the custom fields against your request records.
The input is of type xs:string
, but the API expects a string representation of a JSON object, with key-value pairs for each custom field needing updating, where they keys are the database field names and the values are in their native datatypes. The following example, when provided as a string to the customFields
input parameter, would prompt the API to update the h_custom_a
, h_custom_p
, h_custom_21
and h_custom_26
fields angainst the target request:
{
"h_custom_a": "A VARCHAR(255) string to be written into h_custom_a",
"h_custom_p": "A LONGTEXT string to be written into h_custom_p",
"h_custom_21": "2023-11-01 15:07:42",
"h_custom_26": 42
}
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.servicemanager/Requests","@method":"update","params":{"requestId":"xs:string","h_summary":"xs:string","h_description":"xs:string","h_category":"xs:string","h_category_id":1,"h_site":"xs:string","h_site_id":1,"h_external_ref_number":"xs:string","customFields":"xs:string","resumeBpmProcess":false}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("requestId", "xs:string")
hornbillAPI.SetParam("h_summary", "xs:string")
hornbillAPI.SetParam("h_description", "xs:string")
hornbillAPI.SetParam("h_category", "xs:string")
hornbillAPI.SetParam("h_category_id", "xs:int")
hornbillAPI.SetParam("h_site", "xs:string")
hornbillAPI.SetParam("h_site_id", "xs:int")
hornbillAPI.SetParam("h_external_ref_number", "xs:string")
hornbillAPI.SetParam("customFields", "xs:string")
hornbillAPI.SetParam("resumeBpmProcess", "xs:boolean")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.servicemanager/Requests", "update")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/Requests",
"@method": "update",
"params": {
"requestId": "xs:string",
"h_summary": "xs:string",
"h_description": "xs:string",
"h_category": "xs:string",
"h_category_id": 1,
"h_site": "xs:string",
"h_site_id": 1,
"h_external_ref_number": "xs:string",
"customFields": "xs:string",
"resumeBpmProcess": false
}
};
fetch(endpoint, {
method: 'POST',
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
},
body: JSON.stringify(payload)
}).then(res => res.json())
.then(res => console.log(res));
const axios = require('axios');
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests";
const payload = {
"@service": "apps/com.hornbill.servicemanager/Requests",
"@method": "update",
"params": {
"requestId": "xs:string",
"h_summary": "xs:string",
"h_description": "xs:string",
"h_category": "xs:string",
"h_category_id": 1,
"h_site": "xs:string",
"h_site_id": 1,
"h_external_ref_number": "xs:string",
"customFields": "xs:string",
"resumeBpmProcess": false
}
};
const axiosConfig = {
headers: {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
};
axios.post(endpoint, payload, axiosConfig)
.then((res) => {
console.log("RESPONSE RECEIVED: ", res);
})
.catch((err) => {
console.log("AXIOS ERROR: ", err);
})
$endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests";
$payload = (object) [
'@service' => 'apps/com.hornbill.servicemanager/Requests',
'@method' => 'update',
'params' => (object) [
'requestId' => 'xs:string',
'h_summary' => 'xs:string',
'h_description' => 'xs:string',
'h_category' => 'xs:string',
'h_category_id' => 'xs:int',
'h_site' => 'xs:string',
'h_site_id' => 'xs:int',
'h_external_ref_number' => 'xs:string',
'customFields' => 'xs:string',
'resumeBpmProcess' => 'xs:boolean',
]
];
$headers = [
'Authorization: ESP-APIKEY yourHornbillAPIKey',
'Content-Type: application/json'
];
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
$resp = curl_exec($curl);
curl_close($curl);
echo $resp;
$Endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests"
$Body = @{
"@service" = "apps/com.hornbill.servicemanager/Requests"
"@method" = "update"
params = @{
requestId = "xs:string"
h_summary = "xs:string"
h_description = "xs:string"
h_category = "xs:string"
h_category_id = "xs:int"
h_site = "xs:string"
h_site_id = "xs:int"
h_external_ref_number = "xs:string"
customFields = "xs:string"
resumeBpmProcess = "xs:boolean"
}
}
$Header = @{
"Authorization" = "ESP-APIKEY yourHornbillAPIKey"
}
$Parameters = @{
Method = "POST"
Uri = $Endpoint
Headers = $Header
Body = ($Body | ConvertTo-Json)
ContentType = "application/json"
}
Invoke-RestMethod @Parameters
import requests
import json
endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.servicemanager/Requests"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.servicemanager/Requests",
"@method":"update",
"params":{
"requestId":"xs:string",
"h_summary":"xs:string",
"h_description":"xs:string",
"h_category":"xs:string",
"h_category_id":"xs:int",
"h_site":"xs:string",
"h_site_id":"xs:int",
"h_external_ref_number":"xs:string",
"customFields":"xs:string",
"resumeBpmProcess":"xs:boolean",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}