Knowledge
Queue document ingestion
Queue ingestion or refresh jobs for web links or provider documents. The call returns immediately — processing is async.
POST
Queues ingestion or refresh jobs for documents. This is the call that actually starts processing — both for web links (which skip registration entirely) and for provider documents (where you’ve already called Register provider resources).Documentation Index
Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
Use this file to discover all available pages before exploring further.
Headers
Bearer token containing your Fini workspace API key. Format:
Bearer fini_... The key needs write scope.application/jsonBody parameters
Source type. Supported values:
web, googledrive, notion, zendesk, confluence. Determines what the documentIdsToAdd and documentIdsToRefresh arrays contain — see the note below.Items to ingest for the first time. For
source: "web", these values are URLs. For every other source, these values are document IDs returned by Register provider resources or already in your workspace.Items to refresh (re-process existing content). Same value semantics as
documentIdsToAdd: URLs for web, document IDs for everything else.Whether to apply English-specific processing.
Whether to apply BASER processing.
The same field names (
documentIdsToAdd, documentIdsToRefresh) carry different value types depending on source. This is the most common cause of failed web imports — see the troubleshooting section below.Response
Document IDs for items that were queued for first-time ingestion.
Document IDs for items that were queued for refresh.
Polling for completion
The response above means jobs are queued, not finished. Poll the read routes:Poll
| Field | Meaning |
|---|---|
linkedJobStatus | PENDING → IN_PROGRESS → COMPLETED or FAILED |
success | true when the latest run produced usable content |
error | Non-empty string when the latest run failed |
paragraphs | Populated after a successful run |
linkedKnowledgeId | Set once the document has been linked to an article |
A
COMPLETED job means the document was processed. It does not mean its content is live in agent answers — content lands in Review as a draft. Only approved and published articles affect responses.Errors
400 Bad Request
400 Bad Request
Common causes: unsupported
source value, missing required fields, or — most commonly — passing document IDs in documentIdsToAdd when source: "web" (web imports expect URLs).401 Unauthorized
401 Unauthorized
403 Forbidden
403 Forbidden
The API key doesn’t include the
write scope, or it’s scoped to a different workspace.A web import was accepted but fails during processing
A web import was accepted but fails during processing
The job was queued successfully but failed during fetch. Check
error on the document record. Common causes: URL behind authentication, robots.txt blocks, or content type Fini doesn’t extract.A provider import was accepted but fails during processing
A provider import was accepted but fails during processing
The provider connection may have expired or lost permissions on the resource. Reconnect the provider in the dashboard and refresh the document.
A job stays PENDING for a long time
A job stays PENDING for a long time
Ingestion is queued — under heavy workspace load,
PENDING can persist longer than usual. If a job sits for more than 15 minutes, contact support with the linkedJobId from the document record.
