Essential concepts and terminology for working with Onyx APIs
Actions
(Advanced) Custom Built-in Actions
backend/onyx/tools/tool_implementations
in the Onyx repository.Assistants
id: 0
Search Assistant - Uses the Search Tool to answer questions from your knowledge baseid: -1
General Assistant - Basic chat with no tools (basic chat with an LLM)id: -2
Paraphrase Assistant - Uses Search Tool and quotes exact snippets from sourcesid: -3
Art Assistant - Generates images and visual contentGET /persona
API endpoint to list all agentsConnectors
Connectors
in Onyx define the data you would like to indexname
: Not actually displayed in the UI if ConnectorCredentialPairMetadata:name
is setsource
: Which system to connect to (see DocumentSource
accordion below)input_type
: How the Connector
retrieves data (see InputType
accordion below)connector_specific_config
: Source-specific settings like folder paths or channels. You will need to see /backend/onyx/connectors
for the expected Connector-specific Configurations.refresh_freq
: How often to check for new or updated content in secondsprune_freq
: How often to remove old content from Onyx in secondsindexing_start
: Optional datetime to specify when indexing should beginCredentials
Credentials
contain the authentication details needed to access data sources. These include API keys, OAuth tokens, personal access tokens (PATs), or service account credentials that allow Onyx to securely connect to your external systems.Types of Credentials
:ConnectorCredentialPairs
Connectors
and Credentials
are combined into a ConnectorCredentialPair
(CC-pair).
A CC-pair is an active connection that can sync data from your external sources into Onyx. CC-pairs are what you see and manage on the Admin Connectors
page.CC-pair functionality:Connectors
through the API, you must associate them with a Credential
(CC-pair) to make them active!ConnectorCredentialPairMetadata
ConnectorCredentialPairMetadata
defines the configuration and access settings for a CC-pair.Configuration options:name
: Optional display name for the CC-pair (overrides the Connector
name)access_type
: Who can access data from this CC-pair (see AccessType
accordion below)auto_sync_options
: Optional configuration for automatic synchronization settingsgroups
: List of group IDs that have access to this CC-pairDocumentBase
DocumentBase
is a core structure used throughout Onyx for storing and managing document data. Note that the embeddings are stored in Vespa separately.id
: Unique identifier. Generated by Onyx if not providedsections
: List of content sections (see TextSection
and ImageSection
)source
: The system this document originated from (see DocumentSource
)semantic_identifier
: Displayed in the UI as the name of the Documentmetadata
: Arbitrary string
or list[string]
that will be saved as tags for this Documentdoc_updated_at
: UTC timestamp when the document was last updatedchunk_count
: Number of chunks the document is split into for processingprimary_owners
: Metadata about people associated with the Documentsecondary_owners
: Metadata about people associated with the Documenttitle
: Used for search (defaults to semantic_identifier
if not specified)from_ingestion_api
: Whether this document came from the Ingestion APIadditional_info
: Connector-specific information that other parts of the code may needexternal_access
: Permission sync data (Enterprise Edition only)cc_pair_id
to automatically associate a document with a CC-pair.DocumentSource
DocumentSource
is an enum that defines the valid sources for a document.
Uploading files to the Ingestion API and creating Connectors
programmatically require specifying a DocumentSource
.TextSection
TextSection
is a portion of a Document in Onyx.text
: The actual text content of the sectionlink
: Optional URL that this text section relates to or was sourced fromImageSection
ImageSection
is an image extracted from a Document in Onyx.image_file_id
: UUID of the image file stored in Onyx’s file storetext
: Optional text description or caption for the imagelink
: Optional URL that this image section relates to or was sourced fromAccessType
AccessType
defines who can access data from a Connector
in Onyx.PUBLIC
: All Onyx users may access data from this Connector
PRIVATE
: Only the user who created the Connector
and specified Groups may access data from this Connector
SYNC
: Only Connectors
with permission-sync support can be set to SYNC. The Connector
will sync access permissions with the source system.InputType
InputType
defines how a Connector
retrieves data from its source system.LOAD_STATE
: Single load of data from the sourcePOLL
: Continuous polling for new data from the source (starts with a full load)EVENT
: Not implemented for most Connectors
SLIM_RETRIEVAL
: For permission-syncing Connectors