Connect an AI assistant
Your AI assistant can read this documentation directly, so it answers from the current content instead of guessing. Add one of the servers below to your client — they use the Model Context Protocol (MCP). Each one covers a different body of content, so add the one you need.
The catalog did not load. Refresh the page to try again.
Loading…
{{server.name}}
{{server.summary}}
{{server.documentCount.toLocaleString()}} pages Not published to this site
- Name
-
{{server.name}} - URL
-
{{mcpServerUrl(server.path)}}
| Tool | What it does |
|---|---|
{{tool.name}} |
{{part.text}}{{part.text}} |
How can we help?
Keep typing - a search needs at least two characters
Searching in {{docApp.searchFilterBySpecificBookTitle}}
Searching for:
{{docApp.searchResultFilteredItems.length}} results for:
{{docApp.currentResultsSearchText}}
in {{docApp.searchFilterBySpecificBookTitle}}
Found {{docApp.searchResponse.totalResultsAvailable}} matches. Showing the top {{docApp.searchResponse.results ? docApp.searchResponse.results.length : 0}}. Use a more specific search to further narrow down the results.
No documentation pages match this search, so all content types are shown.
Most matches are in {{docApp.searchDocTypeRescue.best.name}}.
There is no book with the ID "{{docApp.searchBookRescue.bid}}", so the book filter from this link was ignored and results from all books are shown.
You have an odd number of " characters in your search terms - each one needs closing with a matching " character!
-
{{resultItem.title}} {{resultItem.matchedBy === 'semantic' ? 'semantic' : (resultItem.matchedBy === 'both' ? 'keyword + semantic' : 'keyword')}}
{{resultItem.url}}
{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}
{{docApp.libraryHomeViewProduct.description}}
{{group.title || group.id}}
{{group.description}}
Entity API / getBoardsContainingCard
- Article
- 3 minutes to read
Operation Information
- Application Reference:
com.hornbill.boardmanager - Scope:
Entity - Board - Class:
Entity - Required Privilege Level:
user - Required Rights: Group A - canView
Description
Returns the boards the calling user can see that already hold a card matching the given type and key, or a given card id. Used to tell whether something has already been added to a board. An operation rather than a direct stored-query call so a client can ask for it over the JSON API, where data::queryExec is not available.
Request Parameters
The getBoardsContainingCard 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 |
|---|---|---|---|
type |
xs:string |
No | The type of card to look for, e.g. core.email. |
key |
xs:string |
No | The key of the card to look for - typically the URN or id of the subject it was created from. |
boardId |
xs:integer |
No | Only look on this board. |
cardId |
xs:integer |
No | Look for this specific card by id, instead of by type and key. |
Response Parameters
| Name | Type | Description |
|---|---|---|
boards |
JSONDataType |
One row per matching card placement, exactly as the stored query returns it. Each row identifies the board (h_id, h_name, h_description), the lane it sits in (h_lane_id, h_lane_name, h_lane_limit, h_lane_width, h_lane_style, h_lane_config, h_lane_order) and the card itself (h_card_id, h_card_title, h_card_icon, h_card_type, h_order, h_column, h_value, h_progress, h_key, h_card_lane, h_archived), together with the caller's combined permission bitmask on the board (h_permissions). Always an array, including when a single row matches, and empty when the card is on no board the caller can see. |
Code Examples
curl -X POST 'https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.boardmanager/Board' \
-H 'Authorization: ESP-APIKEY yourHornbillAPIKey' \
-H 'Content-Type: application/json' \
-d '{"@service":"apps/com.hornbill.boardmanager/Board","@method":"getBoardsContainingCard","params":{"type":"xs:string","key":"xs:string","boardId":1,"cardId":1}}'
package main
import (
"fmt"
apiLib "github.com/hornbill/goApiLib"
)
func main() {
hornbillAPI := apiLib.NewXmlmcInstance("yourinstanceid")
hornbillAPI.SetAPIKey("yourHornbillAPIKey")
hornbillAPI.SetJSONResponse(true)
hornbillAPI.SetParam("type", "xs:string")
hornbillAPI.SetParam("key", "xs:string")
hornbillAPI.SetParam("boardId", "xs:integer")
hornbillAPI.SetParam("cardId", "xs:integer")
responseBody, apiError := hornbillAPI.Invoke("apps/com.hornbill.boardmanager/Board", "getBoardsContainingCard")
if apiError != nil {
fmt.Println(apiError)
return
}
fmt.Println(responseBody)
}
const endpoint = "https://api.hornbill.com/yourinstanceid/xmlmc/apps/com.hornbill.boardmanager/Board";
const payload = {
"@service": "apps/com.hornbill.boardmanager/Board",
"@method": "getBoardsContainingCard",
"params": {
"type": "xs:string",
"key": "xs:string",
"boardId": 1,
"cardId": 1
}
};
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.boardmanager/Board";
const payload = {
"@service": "apps/com.hornbill.boardmanager/Board",
"@method": "getBoardsContainingCard",
"params": {
"type": "xs:string",
"key": "xs:string",
"boardId": 1,
"cardId": 1
}
};
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.boardmanager/Board";
$payload = (object) [
'@service' => 'apps/com.hornbill.boardmanager/Board',
'@method' => 'getBoardsContainingCard',
'params' => (object) [
'type' => 'xs:string',
'key' => 'xs:string',
'boardId' => 'xs:integer',
'cardId' => 'xs:integer',
]
];
$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.boardmanager/Board"
$Body = @{
"@service" = "apps/com.hornbill.boardmanager/Board"
"@method" = "getBoardsContainingCard"
params = @{
type = "xs:string"
key = "xs:string"
boardId = "xs:integer"
cardId = "xs:integer"
}
}
$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.boardmanager/Board"
headers = {
"Authorization": "ESP-APIKEY yourHornbillAPIKey"
}
payload={
"@service":"apps/com.hornbill.boardmanager/Board",
"@method":"getBoardsContainingCard",
"params":{
"type":"xs:string",
"key":"xs:string",
"boardId":"xs:integer",
"cardId":"xs:integer",
},
}
response = requests.request("POST", endpoint, json=payload, headers=headers)
print(response.text)
- Version {{docApp.book.version}}
- Node {{docApp.node}} / {{docApp.build}}