# Rust API client for roark-rs
# Roark Analytics API - Voice AI Analytics Platform
The Roark Analytics API provides comprehensive monitoring, evaluation, and analytics capabilities for voice AI agents. This API allows developers to seamlessly integrate with the Roark platform to track call quality, analyze agent performance, and extract insights from voice interactions.
## Key Features
- **Real-time Call Analysis**: Upload and analyze voice call recordings with AI-powered insights
- **Sentiment Analysis**: Extract emotional tone, key phrases, and sentiment scores across 64+ emotions
- **Agent Performance Evaluation**: Create custom evaluation jobs with configurable metrics and scoring
- **Platform Integrations**: Native support for VAPI and Retell AI with webhook-based data ingestion
- **Custom Analytics**: Build custom analytics pipelines with flexible data models and properties
## Authentication
All API endpoints require Bearer token authentication. Include your API token in the Authorization header:
```
Authorization: Bearer YOUR_API_TOKEN
```
## Rate Limiting
The API implements rate limiting to ensure service stability. Rate limit headers are included in responses.
## Error Handling
The API uses standard HTTP status codes and returns structured error responses with detailed error information including error types, codes, and human-readable messages.
## Rust Code Generation
This OpenAPI specification has been optimized for Rust code generation with:
- Snake_case field naming conventions
- Proper nullable field handling with Option<T>
- Comprehensive documentation for generated code
- Type-safe enum definitions
- Structured error handling
For more information, please visit [https://docs.roark.ai](https://docs.roark.ai)
## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [openapi-spec](https://openapis.org) from a remote server, you can easily generate an API client.
- API version: 1.0.0
- Package version: 0.0.2
- Generator version: 7.13.0
- Build package: `org.openapitools.codegen.languages.RustClientCodegen`
## Installation
Put the package under your project folder in a directory named `roark-rs` and add the following to `Cargo.toml` under `[dependencies]`:
```
roark-rs = { path = "./roark-rs" }
```
## Documentation for API Endpoints
All URIs are relative to *https://api.roark.ai*
*CallAnalysisApi* | [**create_call_analysis_job**](docs/CallAnalysisApi.md#create_call_analysis_job) | **POST** /v1/call-analysis | Create call analysis job
*CallAnalysisApi* | [**get_call_analysis_job**](docs/CallAnalysisApi.md#get_call_analysis_job) | **GET** /v1/call-analysis/{job_id} | Get call analysis job
*CallOperationsApi* | [**get_call_evaluation_runs**](docs/CallOperationsApi.md#get_call_evaluation_runs) | **GET** /v1/call/{call_id}/evaluation-run | Get call evaluation runs
*CallOperationsApi* | [**get_call_sentiment_analysis**](docs/CallOperationsApi.md#get_call_sentiment_analysis) | **GET** /v1/call/{call_id}/sentiment-run | Get call sentiment analysis
*EvaluationApi* | [**create_evaluation_job**](docs/EvaluationApi.md#create_evaluation_job) | **POST** /v1/evaluation/job | Create evaluation job
*EvaluationApi* | [**get_evaluation_job**](docs/EvaluationApi.md#get_evaluation_job) | **GET** /v1/evaluation/job/{job_id} | Get evaluation job
*EvaluationApi* | [**get_evaluation_job_runs**](docs/EvaluationApi.md#get_evaluation_job_runs) | **GET** /v1/evaluation/job/{job_id}/runs | Get evaluation job runs
*HealthApi* | [**get_api_health**](docs/HealthApi.md#get_api_health) | **GET** /health | Get API health status
*IntegrationsApi* | [**create_retell_call**](docs/IntegrationsApi.md#create_retell_call) | **POST** /v1/retell/call | Send a Retell call to Roark
*IntegrationsApi* | [**create_vapi_call**](docs/IntegrationsApi.md#create_vapi_call) | **POST** /v1/vapi/call | Send a VAPI call to Roark
## Documentation For Models
- [ApiResponse](docs/ApiResponse.md)
- [CallAnalysisCreateRequest](docs/CallAnalysisCreateRequest.md)
- [CallAnalysisJob](docs/CallAnalysisJob.md)
- [CallData](docs/CallData.md)
- [CallDirection](docs/CallDirection.md)
- [CallEndedStatus](docs/CallEndedStatus.md)
- [CallParticipant](docs/CallParticipant.md)
- [CallStatus](docs/CallStatus.md)
- [CallUploadResponse](docs/CallUploadResponse.md)
- [CreateCallAnalysisJob201Response](docs/CreateCallAnalysisJob201Response.md)
- [CreateEvaluationJob201Response](docs/CreateEvaluationJob201Response.md)
- [CreateVapiCall201Response](docs/CreateVapiCall201Response.md)
- [ErrorResponse](docs/ErrorResponse.md)
- [ErrorType](docs/ErrorType.md)
- [EvaluationEvidence](docs/EvaluationEvidence.md)
- [EvaluationJobCreateRequest](docs/EvaluationJobCreateRequest.md)
- [EvaluationJobCreateRequestDataset](docs/EvaluationJobCreateRequestDataset.md)
- [EvaluationJobCreateRequestEvaluators](docs/EvaluationJobCreateRequestEvaluators.md)
- [EvaluationJobResponse](docs/EvaluationJobResponse.md)
- [EvaluationJobStatus](docs/EvaluationJobStatus.md)
- [EvaluationMetric](docs/EvaluationMetric.md)
- [EvaluationRun](docs/EvaluationRun.md)
- [Evaluator](docs/Evaluator.md)
- [GetApiHealth200Response](docs/GetApiHealth200Response.md)
- [GetCallEvaluationRuns200Response](docs/GetCallEvaluationRuns200Response.md)
- [GetCallSentimentAnalysis200Response](docs/GetCallSentimentAnalysis200Response.md)
- [GetEvaluationJob200Response](docs/GetEvaluationJob200Response.md)
- [GetEvaluationJob200ResponseAllOfData](docs/GetEvaluationJob200ResponseAllOfData.md)
- [GetEvaluationJobRuns200Response](docs/GetEvaluationJobRuns200Response.md)
- [GetEvaluationJobRuns200ResponseAllOfData](docs/GetEvaluationJobRuns200ResponseAllOfData.md)
- [HealthResponse](docs/HealthResponse.md)
- [HealthStatus](docs/HealthStatus.md)
- [InterfaceType](docs/InterfaceType.md)
- [JobStatus](docs/JobStatus.md)
- [MetricRole](docs/MetricRole.md)
- [MetricValueType](docs/MetricValueType.md)
- [PaginationInfo](docs/PaginationInfo.md)
- [ParticipantRole](docs/ParticipantRole.md)
- [RetellCallUploadRequest](docs/RetellCallUploadRequest.md)
- [ScoreClassification](docs/ScoreClassification.md)
- [SentimentAnalysis](docs/SentimentAnalysis.md)
- [SentimentCategory](docs/SentimentCategory.md)
- [ToolInvocation](docs/ToolInvocation.md)
- [ToolInvocationParametersValue](docs/ToolInvocationParametersValue.md)
- [ToolInvocationResult](docs/ToolInvocationResult.md)
- [ToolParameter](docs/ToolParameter.md)
- [ToolParameterType](docs/ToolParameterType.md)
- [VapiCallUploadRequest](docs/VapiCallUploadRequest.md)
To get access to the crate's generated documentation, use:
```
cargo doc --open
```
## Author
support@roark.ai