---
title: Coviu API Integration on Truto
slug: coviu
category: Video
canonical: "https://truto.one/integrations/detail/coviu/"
---

# Coviu API Integration on Truto



**Category:** Video  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 19 tools for Coviu that AI agents can call directly.

- **create_a_coviu_session** — Create a new coviu session. Returns: session_id, session_name, start_time, end_time, participants. Required: session_name, start_time, end_time. Optionally supply participants and feature_flags to customise the call interface (exit-url, return-url, disable-menu, enforce-participant-uniqueness, etc.).
- **list_all_coviu_sessions** — List coviu sessions. Returns per session: session_id, session_name, start_time, end_time, actual_end_time, team_id, client_id, participants. Filter by start_time, end_time, order, state, include_canceled, or deleted_participants.
- **get_single_coviu_session_by_id** — Get a single coviu session by id. Returns: session_id, session_name, start_time, end_time, actual_end_time, team_id, client_id, participants. Required: id.
- **update_a_coviu_session_by_id** — Update a coviu session by id. Returns: session_id, session_name, start_time, end_time, actual_end_time, team_id, client_id, participants. Required: id.
- **delete_a_coviu_session_by_id** — Cancel a coviu session by id. Returns: ok (boolean confirming the cancellation succeeded). Required: id.
- **list_all_coviu_participants** — List coviu participants for a session. Returns: participant_id, display_name, role, session_id, entry_url, client_id, created. Required: session_id.
- **create_a_coviu_participant** — Add a participant to a coviu session. Returns: participant_id, display_name, role, session_id, entry_url, client_id, created. Required: session_id. Cannot add to a session that has already finished.
- **get_single_coviu_participant_by_id** — Get a single coviu participant by id. Returns: participant_id, display_name, role, session_id, entry_url, client_id, created. Required: id.
- **update_a_coviu_participant_by_id** — Update a coviu participant by id. Returns: participant_id, display_name, role, session_id, entry_url, client_id, created. Required: id.
- **delete_a_coviu_participant_by_id** — Cancel a coviu participant by id. Returns: ok. Required: id. Cannot cancel a participant belonging to a session that has already started.
- **list_all_coviu_waiting_calls** — List currently waiting calls in coviu for a specific team. Returns: callId, teamId, peerId, joinedAt, lastActivityAt, callType, and additional call state fields including socketId, sessionId, details, and transfer/hold timestamps. Required: team_id.
- **list_all_coviu_waiting_queue_calls** — List currently waiting calls for a specific coviu queue. Returns each call record including callId, teamId, peerId, callType, joinedAt, lastActivityAt, and additional lifecycle timestamps such as answeredAt, transferredAt, and finishedAt. Required: team_id, waiting_queue_id.
- **get_single_coviu_call_by_id** — Get a single waiting area call in coviu by its call ID within a given team. Returns: callId, teamId, peerId, callType, joinedAt, lastActivityAt, and additional timing/state fields such as answeredAt, finishedAt, transferredAt, and startedAt. Required: team_id, id.
- **list_all_coviu_collections** — List all collections belonging to a Coviu team. Returns: id, team_id, name, collection_reference, read_setting, delete_setting, and created_at for each collection. Required: team_id.
- **list_all_coviu_submissions** — List submissions for a Coviu collection. Returns: item_submission_id, session_id, secure_collection_id, submitting_user_id, created_at, updated_at, locked_at, collection_location, and action_status. Required: team_id, collection_id. Optionally filter by date range (from/until), a filter string, and sort via order/orderBy.
- **get_single_coviu_submission_by_id** — Get a single Coviu submission by id. Returns the full submission detail including item_submission_id, session_id, secure_collection_id, submitting_user_id, created_at, updated_at, locked_at, action_status, collection_location, and an array of associated files (each with id, metadata, size, created_at, updated_at). Required: team_id, collection_id, id.
- **get_single_coviu_submission_file_by_id** — Get the binary video recording file for a specific submission file in Coviu. Returns a video/webm binary stream of the recording (HTTP 200 or 206 partial content). Required: team_id, collection_id, submission_id, id.
- **get_single_coviu_audio_recording_by_id** — Get the binary audio recording file for a specific coviu collection submission. Returns a binary audio/webm file stream (not a JSON object). Required: id, team_id, collection_id.
- **get_single_coviu_session_summary_by_id** — Get the summary of a coviu session by id. Returns session details including session_id, session_name, start_time, end_time, actual_end_time, team_id, client_id, and participants. Required: id.

## How it works

1. **Link your customer's Coviu account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Coviu.** The Proxy API is a 1-to-1 mapping of the Coviu API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed native telehealth in your PMS or EHR** — Practice management and EHR platforms can offer built-in video consults instead of forcing clinicians to copy-paste links from a separate tool. Truto handles Coviu auth and API quirks so you can provision sessions and participant entry URLs directly from your appointment booking flow.
- **Power AI scribes with secure session audio** — AI medical scribe and clinical documentation SaaS can ingest audio recordings from completed Coviu consults to generate SOAP notes and summaries. Truto exposes the binary recording and session summary endpoints in a consistent way across your customer base.
- **Build a virtual reception dashboard** — Front-desk and triage tools can surface live Coviu waiting queue state inside their own UI, so receptionists never have to log into Coviu. Truto handles polling, pagination, and auth for the waiting call endpoints.
- **Sync clinical artifacts into the patient record** — Compliance-focused EHRs can automatically pull consent forms, submissions, and recordings produced during a Coviu session and attach them to the correct patient file. Truto normalizes access to collections, submissions, and submission file downloads.
- **Automate billing and consult duration logging** — Billing and revenue cycle SaaS can use Coviu session summaries to capture actual consult start and end times for accurate Medicare and insurance claims. Truto gives you a single, reliable path to fetch session metadata across all of your tenants.

## What you can build

- **One-click consult provisioning from your scheduler** — When an appointment is booked in your product, automatically create a Coviu session with the right start_time, end_time, and feature flags, and return a branded entry URL.
- **Role-aware participant links for patients and clinicians** — Mint distinct participant entry URLs per session with the correct role, so hosts and guests get different permissions inside the same embedded room.
- **Live waiting room widget** — Render a real-time queue of patients who have joined Coviu's virtual waiting room inside your reception dashboard, with joined, answered, and transferred timestamps.
- **Post-call recording ingestion pipeline** — Automatically pull audio recordings and submission files from finished sessions and pipe them into your storage, transcription, or EHR attachment workflow.
- **Consult duration auto-logging for billing** — Fetch session summaries after each call to capture actual call duration and attach it to invoices, billing codes, or claim submissions in your platform.
- **Session lifecycle management UI** — Let your users view, reschedule (update), or cancel (delete) Coviu sessions and participants from inside your app without touching the Coviu console.

## FAQs

### How does Truto handle authentication with Coviu for our end users?

Your end users connect their Coviu account once through Truto, and Truto manages credential storage, refresh, and request signing. Your application calls Truto's unified interface and never has to handle Coviu API keys directly.

### Which Coviu resources can we read and write through Truto today?

Truto exposes tools for sessions (list, get, create, update, delete), participants (list, get, create, update, delete), waiting calls and waiting queue calls, individual calls, collections, submissions, submission files, audio recordings, and session summaries.

### Can we download the actual video or audio recordings from a session?

Yes. You can fetch audio recordings via get_single_coviu_audio_recording_by_id and submission files via get_single_coviu_submission_file_by_id, which return the underlying binary streams for ingestion into your storage.

### How fresh is the waiting room data for reception dashboards?

Coviu's waiting queue endpoints are polled on demand, so freshness is determined by your polling cadence through Truto. For receptionist-style dashboards, frequent polling of list_all_coviu_waiting_queue_calls and get_single_coviu_call_by_id is the recommended pattern.

### Does Truto support real-time webhooks for Coviu events?

The current Coviu integration is built around the REST tools listed above. If you need event-driven flows like session completion or participant joined, reach out and Truto can scope additional capabilities on request.

### Can we customize the embedded Coviu experience for our users?

Yes. When you create or update a session via Truto, you can pass through Coviu's feature flags (such as disable-menu, exit-url, and return-url) so the embedded room matches your product's UX and routes users back into your app after the call.

### Is there a Unified Video API we can use to abstract Coviu alongside other providers?

Coviu is currently available as a direct integration with its own tools rather than through a Unified API. You can build against the Coviu-specific tools today, and request unified abstractions if you plan to support multiple video providers.
