The three
GET routes on this page require read. The two POST routes require write. The write routes are asynchronous.Endpoint map
Two import flows
Web links
CallPOST /v2/documents/public with source: "web". In that case, the values inside documentIdsToAdd and documentIdsToRefresh are URLs, not existing document IDs.
Connected providers
Fornotion, zendesk, and confluence, the flow is:
GET /v2/documents/public/resources/:providerPOST /v2/documents/public/resources/:providerPOST /v2/documents/public
POST only creates or updates document records. The second POST is the one that actually queues ingestion.
POST /v2/documents/public also accepts source: "googledrive", but there is no public resource-discovery route for Google Drive. Use that source only if you already have Google Drive document IDs from another flow.List documents
updatedAt descending, then externalId descending.
Query parameters
string
required
Bearer token containing your Fini workspace API key. Format:
Bearer fini_...integer
default:"50"
Maximum number of documents to return.
string
Document ID to paginate from. Use the last document’s
id for the next page or the first document’s id for the previous page.string
default:"next"
Pagination direction when a cursor is supplied.
next moves toward older documents. previous moves back toward newer ones.string
Optional document-source filter. Supported values are
web, files, googledrive, zendesk, notion, and confluence.boolean
Optional English-processing filter.
string
Exact document ID filter.
string
Case-insensitive partial match on the document title.
string
Case-insensitive partial match on the original source URL.
string
Filter by linked article or knowledge node ID.
string
Filter by linked knowledge operation. Supported values are
ADD_ARTICLE_TO_FOLDER, UPDATE_ARTICLE, and DO_NOTHING.boolean
Return only linked documents flagged as changed.
The response includes
hasMore, but not a nextCursor. Use the returned document IDs themselves as cursors.Response shape
array
Array of document records.
boolean
Whether more results exist beyond the current page.
Get one document
cURL
List provider resources
notion, zendesk, and confluence.
The response shape is provider-specific:
- Notion: a flat list of resources with
externalId,title,originalUrl,mimeType,iconLink, andobject. - Zendesk: category trees. Categories contain section
children, and sections can contain articlechildren. - Confluence: spaces with
key,title,originalUrl, and nestedpages.
Register provider resources
Request body
originalUrl: provider URLtitle: resource titleexternalId: provider-specific identifiermimeType: resource MIME typestorageUrl: optional storage URLobject: optional provider-specific type, for example a Notion object type
Response
200 OK
documentIdsToAdd or documentIdsToRefresh on the next call to POST /v2/documents/public.
Queue document ingestion
Request body
Response
200 OK
linkedJobStatus, success, and error.
Troubleshooting
403 Forbidden
403 Forbidden
The key is valid but does not include
write. The two POST routes on this page require write.The provider-resources route returns 400
The provider-resources route returns 400
The provider is invalid for the public route or not connected in the workspace. The public provider routes accept
notion, zendesk, and confluence.POST /resources worked but nothing changed in knowledge
POST /resources worked but nothing changed in knowledge
Expected. Resource registration only creates or updates document records. You still need to call
POST /v2/documents/public to queue ingestion.A queued write stays pending
A queued write stays pending
Writes are asynchronous. Poll the document read routes and watch
linkedJobStatus, success, and error.A web import fails immediately
A web import fails immediately
When
source is web, the values in documentIdsToAdd and documentIdsToRefresh must be URLs, not existing document IDs.
