Skip to main content

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:

  1. REST API - Create and manage conversation threads (/fino/threads)
  2. WebSocket API - Send natural language queries and receive AI responses (/fino/nl)
  3. Authentication - All endpoints use AWS SigV4 signing

See the Authentication Guide for complete implementation details.

Typical Workflow

A standard Fino API interaction:

  1. Create Conversation Thread - Initialize session with POST /fino/threads
  2. Establish WebSocket Connection - Connect using signed URL for real-time communication
  3. Send Natural Language Queries - Ask questions about any connected source or dataset
  4. Process AI Responses - Receive structured data, insights, and visualizations
  5. 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

  1. Get your credentials from the Infino UI during account creation
  2. Set up authentication using any REST client with AWS SigV4 support
  3. Create your first thread to start conversational analysis
  4. Connect via WebSocket for interactive queries

For detailed implementation, see the Authentication Guide for complete setup instructions.

API Documentation

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"
}
}
}