[← Back to Documentation Home](/)

# Gensail Analytics API

Welcome to the Gensail Analytics API documentation.

## Overview

The Gensail Analytics API processes call recordings and transcripts through configurable AI algorithms, delivering structured results via webhooks.

## Base URLs

- Production: `https://analytics-api.gensail.com`


## Quick Links

- [API Reference](/gensail-analytics/openapi/openapi) - Complete OpenAPI specification
- [On-Demand Algorithm Execution](/gensail-analytics/guides/on-demand-algorithms) - Run algorithms on existing transcripts
- [Job Requeue & Status Management](/gensail-analytics/guides/job-requeue) - Requeue skipped jobs for reprocessing
- [Webhook Payloads](/gensail-analytics/guides/webhook-payloads) - Webhook payload structure for success and failure
- [Webhook Authentication](/gensail-analytics/guides/webhook-authentication) - Verify webhook signatures
- [Webhook Credential Configuration](/gensail-analytics/guides/webhook-credential-configuration) - Configure outgoing webhook authentication


## Processing Flow

1. **Submit** - Send audio URL or transcript via POST
2. **Queue** - Receive job ID immediately (202 Accepted)
3. **Process** - Pipeline processes asynchronously (transcription → analysis)
4. **Deliver** - Results delivered to configured webhooks
5. **Monitor** - Poll job status if needed


## Authentication

All `/api/v1/*` endpoints require authentication using one of:

- **Bearer Token**: `Authorization: Bearer <token>`
- **API Key Header**: `x-api-key: <token>`


Tokens are workspace-scoped and provided by your Gensail administrator.

## Endpoints

### Calls

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/calls/audio` | POST | Submit audio URL for processing |
| `/api/v1/calls/audio-file` | POST | Upload audio file for processing |
| `/api/v1/calls/transcript` | POST | Submit transcript for processing |


### Jobs

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/jobs` | GET | List jobs with filtering and pagination |
| `/api/v1/jobs/lookup` | GET | Lookup job by source call/company IDs |
| `/api/v1/jobs/{job_id}` | GET | Get job status and details |
| `/api/v1/jobs/{job_id}/logs` | GET | Get job processing logs |
| `/api/v1/jobs/{job_id}/runs` | GET | Get algorithm run results |
| `/api/v1/jobs/{job_id}/retry` | POST | Retry a job (requeue, redeliver, or rerun) |
| `/api/v1/jobs/retry` | POST | Retry a job by source IDs |
| `/api/v1/jobs/{job_id}/status` | PATCH | Update job status (requeue skipped jobs) |
| `/api/v1/jobs/{job_id}/run-algorithms` | POST | Run algorithms on existing transcript |


### Algorithm Runs & Feedback

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/algorithm-runs/{id}/feedback` | POST | Submit feedback corrections |
| `/api/v1/algorithm-runs/{id}/redeliver-webhook` | POST | Re-deliver webhook payload |
| `/api/v1/feedback` | GET | List workspace feedback |
| `/api/v1/feedback/algorithms/{algorithm_id}/stats` | GET | Get algorithm accuracy stats |
| `/api/v1/feedback/export` | GET | Export feedback data |


### Algorithms

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/algorithms` | GET | List available algorithms |
| `/api/v1/algorithms/{id}/variables` | GET/PATCH | View or update algorithm variables |
| `/api/v1/algorithms/{id}/copy` | POST | Copy an algorithm |
| `/api/v1/algorithms/{id}/deprecate` | POST | Deprecate an algorithm |
| `/api/v1/algorithms/{id}/restore` | POST | Restore a deprecated algorithm |


### Config

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/config/schema` | GET | Get config schema |
| `/api/v1/config/schema/{section}` | GET | Get section schema |
| `/api/v1/config/workspaces/{workspace_id}` | GET | Get workspace config |
| `/api/v1/config/workspaces/{workspace_id}` | PUT | Replace workspace config |
| `/api/v1/config/workspaces/{workspace_id}/{section}` | PATCH | Update config section |
| `/api/v1/config/workspaces/{workspace_id}/resolved` | GET | Get resolved config |


### Stats

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/api/v1/stats` | GET | Aggregate job statistics |
| `/api/v1/stats/daily` | GET | Daily job statistics |
| `/api/v1/stats/duration-distribution` | GET | Call duration distribution |
| `/api/v1/stats/by-organization` | GET | Stats grouped by organization |
| `/api/v1/stats/trends` | GET | Daily call/duration trends |


### Health

| Endpoint | Method | Description |
|  --- | --- | --- |
| `/health` | GET | Basic health check (unauthenticated) |
| `/api/v1/health` | GET | Detailed system health |
| `/api/v1/health/integrations` | GET | Integration health status |


## Support

For questions or issues, contact [support@gensail.com](mailto:support@gensail.com).

*Documentation powered by Redocly*