Skip to content

Conversational Intelligence

OpenAI
API integration

Ship Conversational Intelligence features without building the integration. Full OpenAI API access via Proxy, normalized data through Unified APIs, and 150+ MCP-ready tools for AI agents — all extensible to your exact use case.

Talk to us
OpenAI

Use Cases

Why integrate with OpenAI

Common scenarios for SaaS companies building OpenAI integrations for their customers.

01

Embed AI-powered copilots using your customers' own OpenAI accounts

Let your users connect their OpenAI accounts so your SaaS can orchestrate Assistants, Threads, and Runs on their behalf — delivering stateful conversational AI without you footing the token bill or managing API keys directly.

02

Build multi-tenant RAG pipelines with customer-owned Vector Stores

SaaS platforms can sync proprietary customer data into OpenAI Vector Stores, create Assistants attached to those stores, and let end-users query their own documents — all while Truto handles auth and tenant isolation across accounts.

03

Automate bulk AI processing with Batch jobs

Offer your users overnight bulk operations like sentiment analysis, content rewriting, or document extraction by orchestrating OpenAI's Batches API through Truto, giving them 50% cost savings and no rate-limit headaches.

04

Surface AI cost and usage dashboards per customer workspace

Pull cost data, audit logs, and project-level rate limits from your customers' OpenAI accounts to build internal billing dashboards, enforce usage quotas, and give end-users transparency into their AI spend.

05

Chain multimodal pipelines from audio transcription to structured output

SaaS products handling voice data can use customers' OpenAI accounts to transcribe audio, run Chat Completions for structured extraction, and feed results back into workflows — all through a single Truto integration.

What You Can Build

Ship these features with Truto + OpenAI

Concrete product features your team can ship faster by leveraging Truto’s OpenAI integration instead of building from scratch.

01

Stateful AI chat threads

Create and manage OpenAI Threads, Messages, and Runs to deliver persistent, context-aware conversational experiences inside your product without rebuilding state management.

02

Knowledge base semantic search

Upload customer documents into OpenAI Vector Stores via file batches and enable natural-language search over proprietary data using vector store search.

03

Per-tenant project provisioning and access control

Automatically create OpenAI Projects, assign Project Users and Service Accounts, and manage Project API Keys to securely isolate each customer's AI resources.

04

AI usage metering and cost attribution

Pull costs, audit logs, and project rate limits to attribute OpenAI spend to specific tenants and enforce consumption guardrails from within your platform.

05

Overnight bulk content generation

Submit thousands of prompts via OpenAI's Batches API for large-scale content creation, classification, or extraction jobs that run asynchronously at reduced cost.

06

Voice-to-action pipeline

Chain audio transcription and Chat Completions to automatically convert call recordings into structured action items, summaries, or CRM updates.

SuperAI

OpenAI AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_openai_users

List users in OpenAI organization. Returns id, name, email, role, and added_at for each user.

get_single_openai_user_by_id

Get a specific user in OpenAI by id. Returns id, name, email, role, and added_at in the response.

delete_a_openai_user_by_id

Delete a user in OpenAI. Requires id. Returns object indicating deletion confirmation with object type, id, and deleted status.

update_a_openai_user_by_id

Update a user's role in OpenAI. Requires id. Returns id, name, email, role, and added_at for the updated user.

list_all_openai_projects

List projects in OpenAI. Returns project id, name, created_at, archived_at, and status fields in the response.

get_single_openai_project_by_id

Get a specific project in OpenAI by id. Returns id, name, created_at, archived_at, status, and object fields.

create_a_openai_project

Create a new project in OpenAI. Requires name. Returns id, object, name, created_at, archived_at, and status of the created project.

update_a_openai_project_by_id

Update project in OpenAI by id with a new name. Requires id. Returns the updated Project object with key details such as id, name, created date, and status.

openai_projects_archive

Archive a project in OpenAI by id. Returns the project object with fields id, object, name, created_at, archived_at, and status. Archived projects cannot be used or updated.

list_all_openai_project_users

List project users in OpenAI for a given project_id. Returns user fields including id for identification, name, email, role, and added_at timestamp in the response.

get_single_openai_project_user_by_id

Get a specific project user in OpenAI. Requires project_id and id. Returns id, name, email, role, and added_at fields of the project user.

create_a_openai_project_user

Create a project user in OpenAI using project_id. Requires user_id and role in the request body. Returns object, id, email, role, and added_at fields in the response.

update_a_openai_project_user_by_id

Update a specific project user's role in OpenAI. Requires project_id and id. Returns object, id, name, email, role, and added_at fields in the response.

delete_a_openai_project_user_by_id

Delete a user from a project in OpenAI. Requires project_id and id. Returns object type, id of the user, and confirmation that the user was deleted.

list_all_openai_me

Use this endpoint to retrieve details about the currently authenticated user.

list_all_openai_project_service_accounts

List project service accounts in OpenAI. Requires project_id. Returns id, name, role, and created_at for each service account.

get_single_openai_project_service_account_by_id

Get a service account in OpenAI. Requires project_id and id. Returns id, name, role, and created_at for the service account.

create_a_openai_project_service_account

Create a new project service account in OpenAI. Requires project_id and name. Returns id, name, role, created_at, and an unredacted api_key object containing value, name, created_at, and id.

delete_a_openai_project_service_account_by_id

Delete a service account in OpenAI from a specific project. Requires project_id and id. Returns object type, id, and deleted confirmation status.

list_all_openai_project_api_keys

List project API keys in OpenAI. Requires project_id. Returns id, name, redacted_value, created_at, last_used_at, and owner details including user id, name, email, and role.

get_single_openai_project_api_key_by_id

Get a specific project API key in OpenAI by project_id and id. Returns id, name, redacted_value, created_at, last_used_at, and owner details including user id, name, email, role, and added_at.

delete_a_openai_project_api_key_by_id

Delete a specific project API key in OpenAI. Requires project_id and id. Returns object confirming deletion with fields: id (key identifier), deleted (boolean status), and object (type of response).

list_all_openai_project_rate_limits

List project rate limits in OpenAI. Requires project_id. Returns id, model, max_requests_per_1_minute, max_tokens_per_1_minute, and max_images_per_1_minute for each rate limit.

update_a_openai_project_rate_limit_by_id

Update a project rate limit in OpenAI. Requires project_id and id. Returns id, model, and rate limit values such as max_requests_per_1_minute, max_tokens_per_1_minute, and max_images_per_1_minute.

list_all_openai_audit_logs

List audit logs in OpenAI. Returns id, type, effective_at, and actor details including user id and email, along with event-specific fields such as project.archived or api_key.updated.

list_all_openai_completions

Get completions usage details in OpenAI for the organization. Requires start_time. Returns time-bucketed data objects with start_time, end_time, input_tokens, output_tokens, input_cached_tokens, audio tokens, num_model_requests, and identifiers for project_id, user_id, api_key_id, model, and batch.

list_all_openai_embeddings

Get embeddings usage details for the organization in OpenAI. Requires start_time. Returns time-bucketed usage objects including input_tokens, num_model_requests, project_id, user_id, api_key_id, and model.

list_all_openai_moderations

Get moderations usage details in OpenAI for an organization within a specified time range using start_time. Returns time-bucketed usage with start_time, end_time, input_tokens, num_model_requests, project_id, user_id, api_key_id, and model.

list_all_openai_images

Get images usage details in OpenAI for an organization. Requires start_time. Response includes start_time and end_time for each bucket, with results showing images count, num_model_requests, size, source, project_id, user_id, api_key_id, and model.

list_all_openai_audio_speeches

Get audio speeches usage details in OpenAI for an organization. Requires start_time. Returns buckets with start_time, end_time, and results including characters, num_model_requests, project_id, user_id, api_key_id, and model.

list_all_openai_audio_transcriptions

Get audio transcriptions usage details for an organization in OpenAI. Requires start_time. Returns start_time, end_time, and usage results including seconds, num_model_requests, project_id, user_id, api_key_id, and model.

list_all_openai_vector_store

Get vector stores usage details in OpenAI for an organization. Requires start_time. Returns buckets with start_time, end_time, and results including usage_bytes and project_id.

list_all_openai_code_interpreter_sessions

Get code interpreter sessions usage in OpenAI for an organization. Requires start_time. Returns bucketed usage data with fields start_time, end_time, num_sessions, and project_id in results.

list_all_openai_costs

Get costs for the organization in OpenAI. Requires start_time. Returns time bucketed costs with start_time, end_time, and results including amount (value, currency), line_item, and project_id.

get_single_openai_certificate_by_id

Get a certificate in OpenAI by id. Returns id, name, created_at, and certificate_details including valid_at, expires_at, and optional content.

create_a_openai_certificate

Upload a certificate in OpenAI for an organization using content. Returns a certificate object with fields id, name, created_at, and certificate_details including valid_at and expires_at.

update_a_openai_certificate_by_id

Update a certificate in OpenAI using id. Only the name can be modified. Returns the updated certificate object with id, name, created_at, and certificate_details including valid_at and expires_at.

delete_a_openai_certificate_by_id

Delete a certificate in OpenAI. Requires id. The certificate must be inactive for the organization and all projects. Returns object and id confirming deletion.

list_all_openai_organization_certificates

List organization certificates in OpenAI. Returns id, name, active status, created_at timestamp, and certificate_details including valid_at and expires_at for each certificate.

openai_organization_certificates_activate

Activate organization-certificates in OpenAI. Requires certificate_ids. Returns a list of certificates with id, name, active status, created_at, and certificate_details including valid_at and expires_at.

openai_organization_certificates_deactivate

Deactivate up to 10 organization certificates in OpenAI. Requires certificate_ids. Returns a list of certificates with id, name, active status, created_at, and certificate_details including valid_at and expires_at.

list_all_openai_project_certificates

List project certificates in OpenAI. Requires project_id. Returns id, name, active, created_at, and certificate_details (valid_at, expires_at) for each certificate.

openai_project_certificates_activate

Activate certificates for a specific project in OpenAI. Requires project_id and certificate_ids. Returns certificate objects with id, name, active status, created_at, and certificate_details including valid_at and expires_at.

openai_project_certificates_deactivate

Deactivate project-certificates in OpenAI for a given project_id. Deactivates up to 10 certificates atomically and idempotently. Returns certificate objects including id, name, active status, created_at, and certificate_details (valid_at, expires_at).

list_all_openai_invites

List invites in OpenAI. Returns id, email, role, status, invited_at, expires_at, and accepted_at for each invite.

get_single_openai_invite_by_id

Get a specific invite in OpenAI using id. Returns id, email, role, status, invited_at, expires_at, and accepted_at fields.

create_a_openai_invite

Create an invite in OpenAI for a user using email and role. Returns the invite object with fields including id, email, role, status, invited_at, expires_at, accepted_at, and projects.

delete_a_openai_invite_by_id

Delete an invite in OpenAI by id. If the invite has already been accepted, it cannot be deleted. Returns object confirming deletion with fields: id and deleted.

list_all_openai_admin_api_keys

List all organization and project API keys in OpenAI. Returns id, name, redacted_value, created_at, last_used_at, and owner details including type, id, name, created_at, and role.

get_single_openai_admin_api_key_by_id

Get an admin API key in OpenAI with id. Returns id, name, redacted_value, created_at, last_used_at, and owner details including type, id, name, created_at, and role.

create_a_openai_admin_api_key

Create an admin API key in OpenAI. Requires name. Returns id, name, redacted_value, created_at, last_used_at, owner details, and value of the created key.

delete_a_openai_admin_api_key_by_id

Delete a specific admin API key in OpenAI using id. Returns confirmation with id, object indicating deletion type, and deleted status.

create_a_openai_response

Create a model response in OpenAI. Returns id, status, model, and output with assistant-generated content (type, text, annotations), along with usage details such as input_tokens, output_tokens, and total_tokens.

get_single_openai_response_by_id

Get a model response in OpenAI. Requires id. Returns fields including id, status, model, output messages (with role and content), usage details (input_tokens, output_tokens, total_tokens), and metadata.

delete_a_openai_response_by_id

Delete a specific response in OpenAI by id. Returns id of the deleted response, object type, and confirmation that deleted is true.

openai_response_cancel

Cancel a response in OpenAI using id. Only responses created with background=true can be cancelled. Returns a response object with fields like id, status, model, output, and usage.

openai_response_input_items

List input items for a specific response in OpenAI. Requires id. Returns id, type, role, and content fields with input text details.

get_single_openai_conversation_by_id

Get a conversation in OpenAI by id. Returns id, object type, created_at timestamp, and metadata fields in the response.

create_a_openai_conversation

Create a conversation in OpenAI. Returns id, object type, created_at timestamp, and metadata for the new conversation.

update_a_openai_conversation_by_id

Update a conversation in OpenAI. Requires id. Returns the updated conversation with fields: id, object, created_at, and metadata.

delete_a_openai_conversation_by_id

Delete a conversation in OpenAI using id. Returns id for the deleted conversation, object type as 'conversation.deleted', and deleted status.

list_all_openai_conversation_items

List conversation-items in OpenAI for a specific conversation using conversation_id. Returns fields including id (unique item identifier), type (item type), status (completion state), role (sender role), and content (message or data payload).

get_single_openai_conversation_item_by_id

Get a specific conversation-item in OpenAI using conversation_id and id. Returns type, id, status, role, and content fields that describe the item state, ownership, and message content.

create_a_openai_conversation_item

Create items in a conversation in OpenAI. Requires conversation_id and items. Returns the created items with fields including id (unique identifier), type (item type), status (processing status), role (message role), and content (message body).

delete_a_openai_conversation_item_by_id

Delete a conversation-item in OpenAI. Requires conversation_id and id. Returns the updated conversation object including id, object, created_at, and metadata fields.

create_a_openai_speech

Create speech in OpenAI by providing input, model, and voice. Returns audio file content or a stream of audio events.

create_a_openai_transcription

Create a transcription in OpenAI from an audio file using a specified model. Requires file and model. Returns text with usage details including input_tokens, output_tokens, and total_tokens.

create_a_openai_translation

Create translation of an audio file in OpenAI. Requires file and model. Returns text containing the translated English transcription of the audio.

create_a_openai_image_generation

Create an image in OpenAI using a prompt. Requires prompt. Returns created timestamp, data with image output (b64_json or url depending on model), and usage details including token counts.

create_a_openai_image_edit

Create an edited or extended image in OpenAI. Requires image and prompt. Returns data containing b64_json or url for the generated image, depending on model and output format.

list_all_openai_evals

List evals in OpenAI. Returns id (unique identifier of eval), name, data_source_config (type, metadata, schema), testing_criteria (grading configuration), created_at (timestamp), and metadata (description).

get_single_openai_eval_by_id

Get an eval in OpenAI by id. Returns fields including id, data_source_config (schema used for evaluation), testing_criteria (evaluation checks), name, created_at, and metadata.

create_a_openai_eval

Create a new eval in OpenAI. Requires data_source_config and testing_criteria. Returns eval id, data_source_config with schema, testing_criteria with graders, optional name, created_at timestamp, and metadata.

update_a_openai_eval_by_id

Update an eval in OpenAI. Requires id. Returns fields including id, data_source_config with schema, testing_criteria details, name, created_at, and metadata.

delete_a_openai_eval_by_id

Delete an eval in OpenAI. Requires id. Returns object (eval.deleted), deleted (confirmation), and eval_id (identifier of deleted eval).

list_all_openai_eval_runs

List eval-runs for a specific evaluation in OpenAI. Requires eval_id. Returns runs with fields including id, eval_id, status, model, name, created_at, result_counts, per_model_usage, per_testing_criteria_results, and report_url.

get_single_openai_eval_run_by_id

Get an eval run in OpenAI using eval_id and id. Returns id, eval_id, status, model, report_url, created_at, result_counts, and data_source details in the response.

create_a_openai_eval_run

Create a new eval run in OpenAI for a given evaluation using eval_id. Returns run id, status, model, name, created_at, report_url, result_counts, data_source details, and metadata.

delete_a_openai_eval_run_by_id

Delete an eval run in OpenAI. Requires eval_id and id. Returns object with deleted status, run_id, and object type.

openai_eval_runs_cancel

Cancel an ongoing eval run in OpenAI. Requires eval_id and id. Returns the updated eval run object with fields like id, eval_id, status (canceled), report_url, model, created_at, result_counts, data_source, and input_messages.

list_all_openai_eval_run_output_items

List eval run output items in OpenAI. Requires eval_id and run_id. Returns fields including id, status, datasource_item (with input and ground_truth), results (with score and pass/fail), and sample (with input, output, model, and usage details).

get_single_openai_eval_run_output_item_by_id

Get a specific evaluation run output item in OpenAI. Requires eval_id, run_id, and id. Returns fields including id, status, datasource_item, results, sample (with input and output messages), usage, and model details.

list_all_openai_fine_tuning_jobs

List fine-tuning jobs in OpenAI. Returns job id, model, created_at, fine_tuned_model, organization_id, result_files, status, validation_file, training_file, and metadata for each job.

create_a_openai_fine_tuning_job

Create a fine-tuning job in OpenAI. Requires model and training_file. Response includes job id, status, and the name of the fine-tuned model once complete.

get_single_openai_fine_tuning_job_by_id

Get details of a specific fine-tuning job in OpenAI. Requires id. Returns fields including model, created_at, finished_at, fine_tuned_model, organization_id, status, training_file, hyperparameters, and trained_tokens.

openai_fine_tuning_jobs_cancel

Cancel a fine-tuning job in OpenAI. Requires id. Returns the cancelled fine-tuning job object with fields: id, model, created_at, fine_tuned_model, organization_id, result_files, status, validation_file, and training_file.

openai_fine_tuning_jobs_resume

Resume a fine-tuning job in OpenAI. Requires id. Returns fine-tuning job object including id, model, created_at, fine_tuned_model, organization_id, result_files, status, validation_file, and training_file.

openai_fine_tuning_jobs_pause

Pause a fine-tuning job in OpenAI. Requires id. Returns the fine-tuning job object with fields including id, model, created_at, fine_tuned_model, organization_id, result_files, status, validation_file, and training_file.

list_all_openai_fine_tuning_events

List fine-tuning events for a job in OpenAI. Requires fine_tuning_job_id. Returns event id, created_at timestamp, level, message, optional data, and type for each fine-tuning job event.

list_all_openai_fine_tuning_checkpoints

List fine-tuning checkpoints for a specific fine-tuning job in OpenAI. Requires fine_tuning_job_id. Returns checkpoint id, created_at, fine_tuned_model_checkpoint, metrics, fine_tuning_job_id, and step_number.

list_all_openai_checkpoint_permissions

List checkpoint permissions in OpenAI for a fine-tuned model checkpoint. Requires id. Returns permission objects with fields id, created_at, and project_id.

create_a_openai_checkpoint_permission

Create checkpoint permissions in OpenAI. Requires id of fine_tuned_model_checkpoint. Returns a list of checkpoint.permission objects with fields id, created_at, and project_id.

delete_a_openai_checkpoint_permission_by_id

Delete a checkpoint permission in OpenAI. Requires fine_tuned_model_checkpoint and id. Returns id of the permission and deleted status.

list_all_openai_batches

List batches in OpenAI. Returns batch objects including id, endpoint, status, input_file_id, output_file_id, error_file_id, lifecycle timestamps, request_counts, and metadata.

get_single_openai_batch_by_id

Get a specific batch in OpenAI by id. Returns fields such as endpoint, status, request_counts, input_file_id, output_file_id, timestamps, and metadata for monitoring and tracking batch operations.

create_a_openai_batch

Create a batch in OpenAI using input_file_id, endpoint, and completion_window. Returns batch id, status, input_file_id, endpoint, completion_window, file references, timestamps, request_counts, and metadata.

openai_batches_cancel

Cancel a batch in OpenAI using id. Returns a batch object with fields including id, status (shows cancelling or cancelled), input_file_id, output_file_id, timestamps for lifecycle events, request_counts, and metadata.

list_all_openai_files

List files in OpenAI. Returns id, object, bytes, created_at, expires_at, filename, and purpose for each file.

get_single_openai_file_by_id

Get information about a specific file in OpenAI. Requires id. Returns id, object, bytes, created_at, expires_at, filename, and purpose fields in the response.

create_a_openai_file

Upload a file in OpenAI. Requires file and purpose. Returns id, object, bytes, created_at, expires_at, filename, and purpose of the uploaded file.

delete_a_openai_file_by_id

Delete a file in OpenAI. Requires id. Returns id of the file, object type, and deletion status.

create_a_openai_upload

Create an upload in OpenAI. Requires bytes, filename, mime_type, and purpose. Returns an Upload object with id, bytes, filename, purpose, status, created_at, and expires_at.

openai_uploads_add

Add a part to an upload in OpenAI. Requires id. The response returns id (the part identifier), object (type), created_at (timestamp), and upload_id (associated upload). Each part is limited to 64MB and total upload size to 8GB.

openai_uploads_complete

Complete an upload in OpenAI using id. Requires part_ids in request body. Returns the Upload object with status 'completed' and a nested File object containing id, filename, bytes, purpose, and created_at.

openai_uploads_cancel

Cancel an upload in OpenAI. Requires id. Returns the Upload object with id, object, bytes, created_at, filename, purpose, status, and expires_at fields. Once cancelled, no parts can be added.

list_all_openai_models

List models in OpenAI. Returns model objects including id (unique identifier), created (timestamp), and owned_by (organization or user that owns the model).

get_single_openai_model_by_id

Get a specific model in OpenAI using id. Returns fields id (model identifier), object (resource type), created (timestamp), and owned_by (model owner).

delete_a_openai_model_by_id

Delete a fine-tuned model in OpenAI. Requires id. Returns id of the deleted model, object type, and deletion status.

list_all_openai_vector_stores

List vector stores in OpenAI. Returns id, name, created_at, bytes, and file_counts for each vector store.

get_single_openai_vector_store_by_id

Get a vector store in OpenAI by id. Returns id, object type, and created_at timestamp in the response.

create_a_openai_vector_store

Create a vector store in OpenAI. Returns id, object, created_at, name, bytes, and file_counts indicating processing status of associated files.

update_a_openai_vector_store_by_id

Update a vector store in OpenAI by id. Returns fields including id, name, created_at, bytes, and file_counts (in_progress, completed, failed, cancelled, total).

delete_a_openai_vector_store_by_id

Delete a vector store in OpenAI. Requires id. Returns id of the deleted vector store, object type indicating deletion, and deleted status.

list_all_openai_vector_store_search

Search a vector store in OpenAI using vector_store_id and query. Returns results with file_id, filename, score, attributes, and content chunks.

list_all_openai_vector_store_files

List vector store files in OpenAI by vector_store_id. Returns id, object, created_at, and vector_store_id for each file.

get_single_openai_vector_store_file_by_id

Get a vector store file in OpenAI using vector_store_id and id. Returns id, object, created_at, vector_store_id, status, and last_error fields.

create_a_openai_vector_store_file

Create a vector store file in OpenAI using vector_store_id and file_id. Returns fields including id (file identifier), object (resource type), created_at (timestamp), usage_bytes (storage size), vector_store_id (associated store), status (processing state), and last_error (error details if any).

delete_a_openai_vector_store_file_by_id

Delete a specific vector store file in OpenAI using vector_store_id and id. This removes the file from the vector store but does not delete the underlying file. Returns id, object type, and deletion status in the response.

list_all_openai_vector_store_file_content

Get parsed content of a specific vector store file in OpenAI. Requires vector_store_id and id. Returns file_id, filename, attributes, and content array with parsed data.

create_a_openai_vector_store_file_batch

Create a vector store file batch in OpenAI. Requires vector_store_id and file_ids. Returns id, object, created_at, vector_store_id, status, and file_counts to track processing state and counts of files in different statuses.

list_all_openai_vector_store_file_batches

List vector store files in a batch in OpenAI. Requires vector_store_id and batch_id. Returns file id, created_at timestamp, and vector_store_id for each file.

get_single_openai_vector_store_file_batch_by_id

Get a specific vector store file batch in OpenAI using vector_store_id and id. Returns id, created_at, vector_store_id, status, and file_counts with counts of in_progress, completed, failed, cancelled, and total files.

openai_vector_store_file_batches_cancel

Cancel a vector store file batch in OpenAI. Requires vector_store_id and id. Returns the modified file batch object with fields: id, object, created_at, vector_store_id, status, and file_counts for tracking batch progress.

list_all_openai_containers

List containers in OpenAI. Returns id, object type, created_at, status, expires_after, last_active_at, and name fields for each container.

get_single_openai_container_by_id

Get a specific container in OpenAI by id. Requires id. Returns container id, object type, created_at timestamp, status, expiration settings, last_active_at timestamp, and name.

create_a_openai_container

Create a container in OpenAI. Requires name. Returns container id for identification, status for current state, created_at timestamp, last_active_at for activity tracking, and name.

delete_a_openai_container_by_id

Delete a container in OpenAI by id. Returns id to confirm which container was deleted, object indicating the resource type, and deleted flag showing successful deletion.

list_all_openai_container_files

List container files in OpenAI. Requires container_id. Returns id, created_at, bytes, container_id, path, and source for each file.

get_single_openai_container_file_by_id

Get a specific container file in OpenAI using container_id and id. Returns id, object, created_at, bytes, container_id, path, and source for the file.

delete_a_openai_container_file_by_id

Delete a container file in OpenAI. Requires container_id and id. Returns id of the deleted file, object type as container.file.deleted, and deleted status confirming removal.

list_all_openai_container_file_content

Get container file content in OpenAI using container_id and id. Returns the binary content of the file.

list_all_openai_chat_completions

List stored Chat Completions in OpenAI. Returns id, model, created timestamp, request_id, usage details, seed, top_p, temperature, penalties, system_fingerprint, service_tier, metadata, and choices with assistant message content.

get_single_openai_chat_completion_by_id

Get a stored chat completion in OpenAI using id. Only completions created with store=true can be retrieved. Returns fields including id, model, created, usage (tokens), and choices with assistant message content and finish_reason.

create_a_openai_chat_completion

Create a chat completion in OpenAI. Requires model and messages. Returns id, model, choices with assistant message content and refusal, finish_reason, and usage with prompt_tokens, completion_tokens, and total_tokens.

update_a_openai_chat_completion_by_id

Update a stored chat completion in OpenAI by id. Requires id and metadata. Returns the chat completion with updated metadata, including fields such as id, model, created, usage, metadata, and choices with assistant message content.

delete_a_openai_chat_completion_by_id

Delete a stored chat completion in OpenAI using id. Only completions created with store=true can be deleted. Returns object, id, and deleted fields confirming deletion status.

list_all_openai_assistants

List assistants in OpenAI. Returns assistant objects with fields including id, created_at, name, model, instructions, tools, metadata, top_p, temperature, and response_format.

get_single_openai_assistant_by_id

Get assistant in OpenAI using id. Returns fields including id, name, model, instructions, tools, metadata, top_p, temperature, and response_format.

create_a_openai_assistant

Create an assistant in OpenAI with a required model. Returns id, name, description, model, instructions, tools, metadata, top_p, temperature, response_format, and created_at in the response.

update_a_openai_assistant_by_id

Update an assistant in OpenAI using id. Returns assistant fields including id, name, description, model, instructions, tools, tool_resources, metadata, top_p, temperature, and response_format.

delete_a_openai_assistant_by_id

Delete an assistant in OpenAI. Requires id. Returns id, object indicating 'assistant.deleted', and deleted status to confirm successful removal.

get_single_openai_thread_by_id

Get a specific thread in OpenAI by id. Returns id, object type, created_at timestamp, metadata, and tool_resources for the thread.

create_a_openai_thread

Create a thread in OpenAI. Returns id for thread identification, object type as 'thread', created_at timestamp, and optional metadata and tool_resources when provided.

update_a_openai_thread_by_id

Update a thread in OpenAI by id. Only metadata can be modified. Returns the thread id, object type, created_at timestamp, metadata, and tool_resources.

delete_a_openai_thread_by_id

Delete a thread in OpenAI by id. Returns id, object, and deleted status in the response.

list_all_openai_messages

List messages in OpenAI for a given thread. Requires thread_id. Returns id, created_at, role, thread_id, content, attachments, and metadata for each message.

get_single_openai_message_by_id

Get a specific message in OpenAI. Requires thread_id and id. Returns fields including id, object, created_at, thread_id, role, content, attachments, and metadata.

create_a_openai_message

Create a message in OpenAI for a specific thread using thread_id. Requires role and content. Returns id, role, content with text and annotations, attachments, metadata, and thread_id in the response.

update_a_openai_message_by_id

Update a specific message in OpenAI using thread_id and id. Returns message fields including id, object, created_at, thread_id, role, content, file_ids, and metadata.

delete_a_openai_message_by_id

Delete a specific message in OpenAI. Requires thread_id and id. Response returns id for the deleted message, object type as thread.message.deleted, and deleted status.

list_all_openai_runs

List runs in OpenAI for a given thread_id. Returns run objects with fields including id, status, model, created_at, assistant_id, usage (prompt_tokens, completion_tokens, total_tokens), and tool details.

get_single_openai_run_by_id

Get a specific run in OpenAI. Requires thread_id and id. Returns fields including id, status, assistant_id, thread_id, created_at, completed_at, model, tools, and usage token details.

create_a_openai_run

Create a run in OpenAI using thread_id and assistant_id. Returns id, status, assistant_id, thread_id, model, created_at, completed_at, tools, usage, temperature, top_p, and truncation_strategy in the response.

update_a_openai_run_by_id

Modify a run in OpenAI. Requires thread_id and id. Returns the updated run object including status, assistant_id, thread_id, created_at, completed_at, model, tools, tool_resources, metadata, and usage fields.

openai_runs_cancel

Cancel a run in OpenAI that is in_progress. Requires thread_id and id. Returns the modified run with fields such as status (updated to cancelling), assistant_id, thread_id, timestamps (created_at, started_at, expires_at), model, instructions, tools, and tool_resources.

list_all_openai_run_steps

List run steps in OpenAI for a given thread_id and run_id. Returns step id, type, status, timestamps, step_details, and usage fields in the response.

get_single_openai_run_step_by_id

Get a specific run step in OpenAI. Requires thread_id, run_id, and id. Returns fields including id, created_at, run_id, assistant_id, thread_id, type, status, step_details with message_id, and usage with tokens.

Why Truto

Why use Truto’s MCP server for OpenAI

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

Unified APIs

Unified APIs for OpenAI

Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.

Unified User Directory API

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with OpenAI in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s OpenAI account

Use Truto’s frontend SDK to connect your customer’s OpenAI account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call OpenAI

Truto’s Proxy API is a 1-to-1 mapping of the OpenAI API. You call us, we call OpenAI, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate OpenAI’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about OpenAI on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end-users authenticate their OpenAI accounts through Truto?

End-users provide their OpenAI API key (admin or project-scoped) through Truto's secure credential storage. Truto manages the key lifecycle so your application never handles raw secrets directly.

Can I manage OpenAI Projects and Users programmatically for multi-tenant isolation?

Yes. Truto exposes tools for creating, updating, listing, and archiving OpenAI Projects, as well as managing Project Users, Service Accounts, and Project API Keys — all mapped to the Unified User Directory API for Roles and Users.

Which OpenAI operations does Truto support?

Truto supports a comprehensive set of operations including Chat Completions, Assistants, Threads, Messages, Runs, Vector Stores (with file management and search), Batches, Fine-Tuning Jobs, Audio Transcriptions and Speeches, Image Generation, Embeddings, Moderations, Evals, Files, Models, Containers, Costs, Audit Logs, Invites, Admin API Keys, Certificates, and Responses.

How does Truto handle OpenAI rate limits?

You can read and update project-level rate limits via list_all_openai_project_rate_limits and update_a_openai_project_rate_limit_by_id. Truto also handles pagination across list endpoints automatically, so you don't need to manage cursor logic yourself.

Can I track OpenAI costs and audit activity per customer?

Yes. Use list_all_openai_costs to pull usage cost data and list_all_openai_audit_logs to retrieve organization-level audit events — both are available as standard Truto tools on this integration.

Does Truto support OpenAI's fine-tuning and evaluation workflows?

Yes. You can create and manage Fine-Tuning Jobs (including pause, resume, and cancel), list training events and checkpoints, and run Evals with full access to eval run output items for automated quality assurance.

OpenAI

Get OpenAI integrated into your app

Our team understands what it takes to make a OpenAI integration successful. A short, crisp 30 minute call with folks who understand the problem.

Talk to us