Fini Sources API
The Sources API from Fini — 5 operation(s) for sources.
The Sources API from Fini — 5 operation(s) for sources.
openapi: 3.1.0
info:
title: Fini AI Agents Sources API
version: v2
description: Public REST API for Fini AI, the self-improving AI agent for enterprise customer support. Manage agents, conversations, knowledge (sources, articles, folders), rules, tags, and prompts, and drive the agent loop via Generate Answer. Structure captured by API Evangelist from the published Fini API reference; not an official Fini-published OpenAPI.
contact:
name: Fini AI
url: https://docs.usefini.com/en/api-reference/authentication
x-apis-json-generated: true
servers:
- url: https://api-prod.usefini.com/v2
description: Production
security:
- bearerAuth: []
tags:
- name: Sources
paths:
/documents/public/deep-crawl/links:
post:
operationId: crawlLinks
summary: Discover additional web URLs from one or more seed links before ingesting them as sources.
tags:
- Sources
description: Discover additional web URLs from one or more seed links before ingesting them as sources. Requires the `write` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/crawl-links
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
requestBody:
required: true
content:
application/json:
schema:
type: object
description: See the Fini API reference for the request body schema.
/documents/public:
delete:
operationId: deleteSources
summary: Delete source records and optionally delete the linked Articles in the same request.
tags:
- Sources
description: Delete source records and optionally delete the linked Articles in the same request. Requires the `write` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/delete-sources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
post:
operationId: ingestSources
summary: Queue first-time ingestion or refresh jobs for web links or existing source IDs.
tags:
- Sources
description: Queue first-time ingestion or refresh jobs for web links or existing source IDs. Requires the `write` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/ingest-sources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
requestBody:
required: true
content:
application/json:
schema:
type: object
description: See the Fini API reference for the request body schema.
get:
operationId: listSources
summary: Paginate through every source record in the workspace, with filters on source type, title, URL, linked article, and linked operation.
tags:
- Sources
description: Paginate through every source record in the workspace, with filters on source type, title, URL, linked article, and linked operation. Requires the `read` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/list-sources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
/documents/public/{id}:
get:
operationId: getSource
summary: Fetch one source record by ID.
tags:
- Sources
description: Fetch one source record by ID. Requires the `read` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/get-source
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
'404':
$ref: '#/components/responses/NotFound'
parameters:
- name: id
in: path
required: true
schema:
type: string
description: The id path parameter.
/documents/public/refresh:
post:
operationId: refreshSources
summary: Re-fetch existing source IDs so Fini can detect upstream changes and update linked knowledge.
tags:
- Sources
description: Re-fetch existing source IDs so Fini can detect upstream changes and update linked knowledge. Requires the `write` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/refresh-sources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
requestBody:
required: true
content:
application/json:
schema:
type: object
description: See the Fini API reference for the request body schema.
/documents/public/resources/{provider}:
get:
operationId: listProviderResources
summary: Discover importable resources from a connected provider. Step 1 of the provider import flow.
tags:
- Sources
description: Discover importable resources from a connected provider. Step 1 of the provider import flow. Requires the `read` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/list-provider-resources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
'404':
$ref: '#/components/responses/NotFound'
parameters:
- name: provider
in: path
required: true
schema:
type: string
description: The provider path parameter.
post:
operationId: registerProviderResources
summary: Create or update source records from provider resources. Step 2 of the connected-source flow.
tags:
- Sources
description: Create or update source records from provider resources. Step 2 of the connected-source flow. Requires the `write` scope.
externalDocs:
url: https://docs.usefini.com/en/api-reference/register-provider-resources
responses:
'200':
description: Successful response.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'500':
$ref: '#/components/responses/ServerError'
'404':
$ref: '#/components/responses/NotFound'
parameters:
- name: provider
in: path
required: true
schema:
type: string
description: The provider path parameter.
requestBody:
required: true
content:
application/json:
schema:
type: object
description: See the Fini API reference for the request body schema.
components:
responses:
Forbidden:
description: API key lacks the required scope.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
statusCode: 403
message: API key does not have the required scope for this operation
error: Forbidden
Unauthorized:
description: Missing or invalid API key.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
statusCode: 401
message: Unauthorized
error: Unauthorized
ServerError:
description: Internal server error.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
statusCode: 500
message: Internal Server Error
error: Internal Server Error
NotFound:
description: Resource not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
statusCode: 404
message: Not Found
error: Not Found
schemas:
Error:
type: object
description: Standard Fini error envelope.
properties:
statusCode:
type: integer
example: 403
message:
type: string
example: API key does not have the required scope for this operation
error:
type: string
example: Forbidden
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: fini_ API key
description: 'Bearer token containing your Fini workspace API key. Format: `Bearer fini_...`. The key carries `read` and/or `write` scope; write routes require the `write` scope.'