Ask for SharePoint
Bridge Microsoft Graph drive items to Findable's permission-aware Ask API. These endpoints resolve a SharePoint location to a building, expand selected files or folders into Findable document IDs, and return citation display data.
Integration workflow
- Resolve the current SharePoint site and drive to a Findable building.
- Resolve selected drive item IDs to Findable document IDs.
- Pass those IDs as
attached_document_idsto the Ask endpoint. - Resolve cited Findable IDs back to SharePoint display metadata.
Resolve a building
/v1/building_owners/{buildingOwnerId}/ask-sharepoint/resolve-buildingMatch SharePoint site and drive context to an active Findable subscription and building.
Authentication
x-api-key header
buildingOwnerIdstringrequiredBuilding owner / customer ID.
siteIdstringrequiredMicrosoft Graph site ID.driveIdstringrequiredMicrosoft Graph drive ID.parentItemIdstringOptional parent folder ID used to disambiguate multiple subscriptions.
Examples
curl -H "x-api-key: YOUR_API_KEY" \
"https://api.findable.ai/v1/building_owners/cust-456/ask-sharepoint/resolve-building?siteId=site-123&driveId=drive-456"200Resolution completed403Building owner access denied500Unexpected server error
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
status'resolved' | 'not_found' | 'ambiguous'Resolution outcome.customerIdstringBuilding owner ID from the URL. Always returned, including on not_found and ambiguous.buildingIdstringResolved Findable building ID when status is resolved.subscriptionSharePointSubscriptionSelected subscription when status is resolved.matchesSharePointSubscription[]All site/drive matches, including ambiguous candidates.
Response
{
"status": "resolved",
"customerId": "cust-456",
"buildingId": "bld-789",
"subscription": {
"siteId": "site-123",
"driveId": "drive-456",
"siteName": "Harbour House"
},
"matches": []
}Resolve selected files or folders
/v1/building_owners/{buildingOwnerId}/ask-sharepoint/resolve-documentsMap up to 50 Microsoft Graph drive item IDs to Findable document IDs. Folder IDs expand to synced documents in their subtree, capped at 1,000 documents per folder.
Authentication
x-api-key header
buildingOwnerIdstringrequiredBuilding owner / customer ID.
building_idstringrequiredResolved Findable building ID.sharepoint_item_idsstring[]requiredBetween 1 and 50 SharePoint file or folder drive item IDs.
Request Body Example
{
"building_id": "bld-789",
"sharepoint_item_ids": ["file-123", "folder-456"]
}200Items resolved403Customer or building access denied404Building not found500Unexpected server error
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
document_idsstring[]Unique Findable document IDs in stable input order.missing_sharepoint_item_idsstring[]Drive item IDs that did not resolve to a synced document.
Response
{
"document_ids": ["doc-1", "doc-2"],
"missing_sharepoint_item_ids": ["file-missing"]
}Resolve citation details
/v1/building_owners/{buildingOwnerId}/ask-sharepoint/documents-detailsReturn display fields and optional SharePoint metadata for up to 50 Findable document IDs.
Authentication
x-api-key header
buildingOwnerIdstringrequiredBuilding owner / customer ID.
document_idsstring[]requiredBetween 1 and 50 Findable document IDs.
Request Body Example
{ "document_ids": ["doc-1", "doc-2"] }200Details resolved403Building owner access denied404Building not found500Unexpected server error
All endpoints may also return 429 (rate limit) and 500 (server error). See Common Patterns for details.
documentsDocumentDetail[]Readable documents with filename, title, original path, and optional SharePoint metadata.missing_document_idsstring[]Missing, unreadable, or out-of-customer document IDs.
Response
{
"documents": [{
"id": "doc-1",
"filename": "fire-strategy.pdf",
"title": "Fire strategy",
"original_path": "/Shared Documents/Fire/",
"sharepoint_item_id": "file-123"
}],
"missing_document_ids": ["doc-missing"]
}