How can we help?
{{docApp.searchError}}
{{product.name}}
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.docmanager
- Scope:
Global
- Class:
Application
- Required Privilege Level:
guest
- Required Rights: none
Description
Search for documents
Request Parameters
The DocumentSearch 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 |
---|---|---|---|
query |
xs:string |
Yes | The search Query |
pagestart |
xs:integer |
No | Use for paging (default 0) |
limit |
xs:integer |
No | Max number of results (default 10) |
segmentLimit |
xs:integer |
No | limit how many documents the search will return before checking if they are available for the user (default 100) |
libraryUrn |
xs:string |
No | Limit results to those in this library |
searchInCustomerPortalLibraries |
xs:boolean |
No | Limit results to those in this library |
searchInEmployeePortalLibraries |
xs:boolean |
No | Limit results to those in this library |
Response Parameters
Name | Type | Description |
---|---|---|
documents |
xs:string |
List of documents (JSON) |
totalSearchResults |
xs:integer |
The total matching results |
nextPage |
xs:integer |
Send this as the pagestart to get next results |
segmentMatch |
xs:integer |
How many documents in this search were available to the userThe approx results for user is segmentMatch / totalSearchResults |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.docmanager' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.docmanager","@method":"DocumentSearch","params":{"query":"xs:string","pagestart":1,"limit":1,"segmentLimit":1,"libraryUrn":"xs:string","searchInCustomerPortalLibraries":false,"searchInEmployeePortalLibraries":false}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("query", "xs:string")
hornbillAPI.SetParam("pagestart", "xs:integer")
hornbillAPI.SetParam("limit", "xs:integer")
hornbillAPI.SetParam("segmentLimit", "xs:integer")
hornbillAPI.SetParam("libraryUrn", "xs:string")
hornbillAPI.SetParam("searchInCustomerPortalLibraries", "xs:boolean")
hornbillAPI.SetParam("searchInEmployeePortalLibraries", "xs:boolean")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.docmanager", "DocumentSearch")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.docmanager";
const payload = {
"@service": "apps/com.hornbill.docmanager",
"@method": "DocumentSearch",
"params": {
"query": "xs:string",
"pagestart": 1,
"limit": 1,
"segmentLimit": 1,
"libraryUrn": "xs:string",
"searchInCustomerPortalLibraries": false,
"searchInEmployeePortalLibraries": 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.docmanager";
const payload = {
"@service": "apps/com.hornbill.docmanager",
"@method": "DocumentSearch",
"params": {
"query": "xs:string",
"pagestart": 1,
"limit": 1,
"segmentLimit": 1,
"libraryUrn": "xs:string",
"searchInCustomerPortalLibraries": false,
"searchInEmployeePortalLibraries": 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.docmanager";
$payload = (object) [
'@service' => 'apps/com.hornbill.docmanager',
'@method' => 'DocumentSearch',
'params' => (object) [
'query' => 'xs:string',
'pagestart' => 'xs:integer',
'limit' => 'xs:integer',
'segmentLimit' => 'xs:integer',
'libraryUrn' => 'xs:string',
'searchInCustomerPortalLibraries' => 'xs:boolean',
'searchInEmployeePortalLibraries' => '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.docmanager"
$Body = @{
"@service" = "apps/com.hornbill.docmanager"
"@method" = "DocumentSearch"
params = @{
query = "xs:string"
pagestart = "xs:integer"
limit = "xs:integer"
segmentLimit = "xs:integer"
libraryUrn = "xs:string"
searchInCustomerPortalLibraries = "xs:boolean"
searchInEmployeePortalLibraries = "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.docmanager"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.docmanager",
"@method":"DocumentSearch",
"params":{
"query":"xs:string",
"pagestart":"xs:integer",
"limit":"xs:integer",
"segmentLimit":"xs:integer",
"libraryUrn":"xs:string",
"searchInCustomerPortalLibraries":"xs:boolean",
"searchInEmployeePortalLibraries":"xs:boolean",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}
In This Document