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. It is important to note that the parameters must satisfy the requirement of the input validation checks.
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}}