API Reference
The Functor API provides a comprehensive REST interface for knowledge graph operations, natural language querying, data ingestion, and system monitoring. All endpoints follow RESTful conventions and return JSON responses.
Functor provides standard HTTP API interfaces that support multiple programming languages and development environments, with SDKs also available.
Authentication
The Functor API uses API Keys for authentication. An API key is required, which you can create or manage on the API Keys Page (local).
API keys should be provided via the X-API-Key header in HTTP requests.
Playground
The API Playground allows developers to quickly try out API calls. Simply click Try it on any API endpoint display to get started.
- On the API details page, you can interact directly with the endpoint.
- You can switch input types and modify parameters.
Call Examples
API Endpoints
The API is organized into 7 main categories with 70+ endpoints:
Query Operations
Execute natural language queries with automatic domain detection
/api/v1/queryData Ingestion
Upload and process documents from files or URLs
/api/v1/ingestKnowledge Graphs
List and manage knowledge graphs
/knowledge-graphsSource Management
CRUD operations for data sources
/api/v1/sources/*Visualizations
Access interactive dashboards and network graphs
/api/visualizations/*Health & Monitoring
System health checks and diagnostics
/healthAgent System
Agent system endpoints and status
/api/v1/agents/healthUsage & Analytics
Usage tracking, session analytics, and benchmarking
/api/analytics/usage/summaryResponse Format
All responses are JSON objects with consistent structure:
HTTP Status Codes
| Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
400 | Bad Request | Invalid parameters or malformed request |
401 | Unauthorized | Missing or invalid API key |
404 | Not Found | Resource does not exist |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server encountered an error |
Rate Limiting
- Query operations: 100 requests per minute
- Ingestion operations: 20 requests per minute
- Read operations: 200 requests per minute
SDKs
Official SDKs are available for easier integration: