---
title: Cohere API Integration on Truto
slug: cohere
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/cohere/"
---

# Cohere API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 40 tools for Cohere that AI agents can call directly.

- **create_a_cohere_chat** — Generate a text response from a Cohere model given a chronological list of chat messages. Returns: id, finish_reason, message, usage, logprobs. Required: model, messages, stream.
- **create_a_cohere_chat_v_1** — Generate a text response to a user message in Cohere. Returns: text, generation_id, response_id, citations, finish_reason. Required: message, stream.
- **create_a_cohere_prompt** — Construct the text prompt that Cohere would send to the model for a v2 chat request without running generation. Returns: prompt. Required: model, messages. The request body matches Chat v2; the stream field is ignored.
- **create_a_cohere_rerank** — Rerank a list of documents against a search query in Cohere, producing an ordered array with each text assigned a relevance score. Returns: results, id, meta. Required: model, query, documents. Up to 1,000 documents recommended per request; longer documents are auto-truncated to max_tokens_per_doc.
- **create_a_cohere_embed** — Generate text and image embeddings in Cohere using the v2 Embed API. Returns: id, embeddings, texts, images, meta. Required: model, input_type. Maximum 96 texts per call; image embeddings supported with Embed v3.0 and newer.
- **create_a_cohere_embed_job** — Create an async embed job in Cohere for a Dataset of type embed-input. The completed job produces a new Dataset of type embed-output with the original text entries and corresponding embeddings. Returns: job_id, meta. Required: model, dataset_id, input_type.
- **list_all_cohere_embed_jobs** — List all embed jobs in Cohere for the authenticated user. Returns each embed job record including job_id, status, created_at, input_dataset_id, model, name, output_dataset_id, truncate, and meta.
- **get_single_cohere_embed_job_by_id** — Get a single embed job by id in Cohere. Returns: job_id, status, created_at, input_dataset_id, model, truncate, name, output_dataset_id, meta. Required: id.
- **cohere_embed_jobs_cancel** — Cancel an active embed job in Cohere. Users are charged for embeddings processed up to the cancellation point and partial results are not available after cancellation. Returns an empty 200 response on success. Required: embed_job_id.
- **create_a_cohere_audio_transcription** — Transcribe an audio file in Cohere. Returns the transcribed text. Required: model, language, file.
- **create_a_cohere_batch** — Create and execute a batch in Cohere from an uploaded dataset of requests. Returns the batch object including its id, name, input_dataset_id, model, created_at, and updated_at. Required: name, input_dataset_id, model.
- **list_all_cohere_batches** — List batches for the current authenticated user in Cohere. Returns each batch with its id, name, input_dataset_id, model, created_at, and updated_at. Max 1000 per page.
- **get_single_cohere_batch_by_id** — Get a single batch by id in Cohere. Returns the batch object including its id, name, input_dataset_id, model, created_at, and updated_at. Required: id.
- **cohere_batches_cancel** — Cancel an in-progress batch in Cohere by batch_id. Returns an empty 204 response on success. Required: batch_id.
- **create_a_cohere_dataset** — Create a Cohere dataset by uploading a file via multipart form. Returns: id, name, dataset_type, validation_status, created_at, warnings. Required: name, type, data. The only valid type is embed-input.
- **list_all_cohere_datasets** — List Cohere datasets with optional filtering by type, validation status, and date range. Returns: id, name, dataset_type, validation_status, created_at, warnings.
- **get_single_cohere_dataset_by_id** — Get a single Cohere dataset by id. Returns: id, name, dataset_type, validation_status, created_at, warnings. Required: id.
- **delete_a_cohere_dataset_by_id** — Delete a Cohere dataset by id. Returns an empty 204 response on success. Required: id.
- **cohere_datasets_get_usage** — View the dataset storage usage for your Cohere organization. Returns: organization_usage. Each organization can have up to 10GB of storage across all users.
- **create_a_cohere_tokenize** — Tokenize input text in Cohere using byte-pair encoding (BPE). Returns: tokens, token_strings, meta. Required: text, model. Text length must be between 1 and 65536 characters.
- **create_a_cohere_detokenize** — Detokenize a list of byte-pair encoding tokens back into their text representation in Cohere. Returns: text, meta. Required: tokens, model.
- **list_all_cohere_models** — List models available for use in Cohere. Returns each model's name, endpoints, finetuned, context_length, is_deprecated, tokenizer_url, default_endpoints, features, and sampling_defaults. Optional filters: endpoint (filter by compatible API endpoint) and default_only (only default models for the specified endpoint, requires endpoint).
- **get_single_cohere_model_by_id** — Get details of a single Cohere model by its name (id). Returns: name, is_deprecated, endpoints, finetuned, context_length, tokenizer_url, default_endpoints, features, sampling_defaults. Required: id.
- **create_a_cohere_classify** — Classify up to 96 text inputs in Cohere by predicting the best-fitting label for each input using provided text+label example pairs as reference. Returns: id, classifications, meta. Required: inputs. Fine-tuned models do not require the examples parameter.
- **create_a_cohere_generate** — Generate realistic text from a given prompt using Cohere's legacy Generate API. Returns: id, generations (list of generated results), prompt, and meta. Required: prompt, stream. This API is legacy and no longer maintained; migrate to the Chat API.
- **create_a_cohere_summarize** — Generate a summary in English for a given text using the Cohere Summarize API (Legacy). Returns: id, summary, meta. Required: text. Input text must be 250–50,000 characters and currently only English is supported.
- **cohere_api_keys_check** — Check that a Cohere API key is valid and active. Returns: valid, organization_id, owner_id.
- **list_all_cohere_connectors** — List Cohere connectors ordered by descending creation date (newer first). Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Max 100 per page.
- **create_a_cohere_connector** — Create a new Cohere connector. The connector is tested during registration and registration is cancelled if the test fails. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: name, url.
- **get_single_cohere_connector_by_id** — Get a single Cohere connector by id. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: id.
- **update_a_cohere_connector_by_id** — Update a Cohere connector by id. Omitted fields are not updated. Returns: id, name, url, description, excludes, oauth, active, continue_on_failure, service_auth. Required: id.
- **delete_a_cohere_connector_by_id** — Delete a Cohere connector by id. Returns an empty 204 response on success. Required: id.
- **cohere_connectors_oauth_authorize** — Authorize a Cohere connector via OAuth 2.0 for the connector OAuth app. Returns: redirect_url. Required: connector_id.
- **list_all_cohere_finetuned_models** — List fine-tuned models in Cohere that the caller has access to. Returns each model with id, name, status, settings, and created_at. Supports sorting by created_at.
- **create_a_cohere_finetuned_model** — Create a new fine-tuned model in Cohere with a name and training settings (dataset, hyperparameters). Training runs asynchronously. Returns the model with id, name, status, settings, and created_at. Required: name, settings.
- **get_single_cohere_finetuned_model_by_id** — Get a single fine-tuned model in Cohere by id. Returns the model with id, name, status, settings, and created_at. Required: id.
- **update_a_cohere_finetuned_model_by_id** — Update a fine-tuned model in Cohere by id with a new name and settings. Returns the updated model with id, name, status, settings, and created_at. Required: id, name, settings.
- **delete_a_cohere_finetuned_model_by_id** — Delete a fine-tuned model in Cohere by id. This operation is irreversible. Returns an empty 204 response on success. Required: id.
- **list_all_cohere_finetuned_model_events** — List events that occurred during the life-cycle of a Cohere fine-tuned model, ordered by creation time with the most recent first. Returns: created_at. Required: finetuned_model_id.
- **list_all_cohere_finetuned_model_metrics** — List training step metrics for a Cohere fine-tuned model, ordered by step number with the most recent step first. Returns a list of step metric objects containing training evaluation data for each step. Required: finetuned_model_id.

## How it works

1. **Link your customer's Cohere 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 Cohere.** The Proxy API is a 1-to-1 mapping of the Cohere 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

- **Ship AI features without hosting your own models** — Give your customers grounded chat, semantic search, and classification powered by Cohere's Command and Embed models, while Truto handles authentication and request lifecycle so your team focuses on the product experience.
- **Let customers bring their own Cohere account** — Enterprise buyers often have existing Cohere contracts and data residency requirements. Truto lets end users connect their own Cohere API keys so usage, billing, and compliance stay under their control.
- **Power multi-tenant RAG pipelines** — Run per-customer embed jobs and rerank calls through a single integration layer, so each tenant's data stays isolated and you can scale ingestion without building bespoke job orchestration.
- **Add audit-ready generative AI to regulated workflows** — Cohere's Chat API returns citations and response IDs — ideal for LegalTech, FinTech, and healthcare SaaS that need to prove why the model produced a given answer.
- **Consolidate AI vendor management for your customers** — Offer Cohere alongside other AI providers in your product with a consistent connection experience, letting customers choose the model provider that fits their policies and pricing.

## What you can build

- **Grounded in-app chatbot with citations** — Use the Chat API to answer end-user questions against their own knowledge base and render Cohere's citation array as clickable source references in your UI.
- **AI-powered semantic search upgrade** — Wrap your existing keyword search with the Rerank endpoint to reorder up to 1,000 candidate documents by true semantic relevance without migrating your database.
- **Bulk document embedding pipeline** — Kick off asynchronous embed jobs on customer datasets, poll job status, and stream vectors into your search index once complete — all through a consistent integration surface.
- **Zero-shot ticket and content classification** — Route support tickets, tag content, or score sentiment using the Classify endpoint with a handful of labeled examples, no model training required.
- **Call recording insights generator** — Transcribe customer calls via the Audio Transcription endpoint and pipe the text into Chat to extract action items, summaries, or risk signals.
- **Enterprise connector-backed answers** — Let customers register and OAuth-authorize Cohere Connectors so chat responses can pull live data from their Jira, Slack, or Drive without you building each scraper.

## FAQs

### How do end users authenticate their Cohere account?

End users provide a Cohere API key, which Truto stores securely and injects into every request. You can validate a key at connection time using the API keys check endpoint before allowing further calls.

### Which Cohere endpoints does Truto support?

Truto exposes Cohere's Chat (v1 and v2), Rerank, Embed, Embed Jobs, Classify, Generate, Summarize, Tokenize/Detokenize, Datasets, Batches, Audio Transcription, Models, Fine-tuned Models, and Connectors endpoints as first-class tools.

### Can I run long-running embedding jobs without hitting timeouts?

Yes. Use the async Embed Jobs flow: create a dataset, start an embed job, then poll job status via the get-by-id endpoint or cancel it if needed. This avoids synchronous timeouts on large corpora.

### How do I handle rate limits and quotas?

Rate limits are enforced by Cohere per API key and vary by endpoint and account tier. Truto passes through Cohere's rate limit responses so you can implement retries and backoff in your integration logic.

### Can customers use their own fine-tuned models?

Yes. Truto supports listing, creating, updating, and deleting fine-tuned models, as well as fetching training events and metrics, so customers can manage custom models tied to their own Cohere account.

### How do I enable Cohere Connectors for RAG?

Use the Connectors endpoints to create and manage connector definitions, and trigger the OAuth authorize flow so end users can grant Cohere access to their external tools. Connectors can then be referenced in Chat calls to ground responses in live data.
