Fino API
The Fino API enables natural language queries across your entire data stack. Use REST endpoints and WebSocket connections to build conversational analytics for agents and humans.
How It Works
The Fino API combines REST endpoints for managing conversations and WebSocket connections for real-time natural language queries:
- REST API - Create and manage conversation threads (
/fino/threads) - WebSocket API - Send natural language queries and receive AI responses (
/fino/nl) - Authentication - All endpoints use AWS SigV4 signing
See the Authentication Guide for complete implementation details.
Typical Workflow
A standard Fino API interaction:
- Create Conversation Thread - Initialize session with
POST /fino/threads - Establish WebSocket Connection - Connect using signed URL for real-time communication
- Send Natural Language Queries - Ask questions about any connected source or dataset
- Process AI Responses - Receive structured data, insights, and visualizations
- Manage Thread State - Update, archive, or delete threads
Fino can query across your data sources (via Access connections) and datasets automatically.
Getting Started
Prerequisites
- Infino account with API credentials (Access Key + Secret Key)
- Understanding of AWS SigV4 authentication
- WebSocket client library for real-time features
Quick Setup
- Get your credentials from the Infino UI during account creation
- Set up authentication using any REST client with AWS SigV4 support
- Create your first thread to start conversational analysis
- Connect via WebSocket for interactive queries
For detailed implementation, see the Authentication Guide for complete setup instructions.
API Documentation
- Authentication - AWS SigV4 authentication setup
- Conversation API - REST endpoints:
/fino/threads,/fino/message - WebSocket Connection - WebSocket endpoint:
/fino/nl
Request/Response Format
All REST endpoints accept and return JSON with standard HTTP status codes. WebSocket messages use JSON format for both directions.
REST API Headers
Authorization: AWS4-HMAC-SHA256 Credential=ACCESS_KEY/DATE/us-east-1/es/aws4_request, SignedHeaders=host;x-amz-date, Signature=SIGNATURE
Host: app.infino.ws
X-Amz-Date: 20240120T123000Z
Content-Type: application/json
WebSocket Headers
x-infino-client-id: <unique-client-identifier>
x-infino-thread-id: <thread-id>
Error Handling
The AI API follows standard HTTP status codes and returns detailed error information:
Authentication Errors
{
"error": {
"type": "authentication_error",
"message": "Invalid or expired signature",
"code": 401
}
}
Validation Errors
{
"error": {
"type": "validation_error",
"message": "Invalid request data",
"code": 400,
"details": {
"field": "thread_id",
"issue": "Thread ID is required"
}
}
}
Resource Errors
{
"error": {
"type": "resource_error",
"message": "Thread not found",
"code": 404,
"details": {
"resource_type": "thread",
"resource_id": "thread-uuid-123"
}
}
}