Skip to content

Artificial Intelligence · Beta

Portkey
API integration

Ship Artificial Intelligence features without building the integration. Full Portkey API access via Proxy and 230+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Portkey

Use Cases

Why integrate with Portkey

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

01

Shift LLM costs to your customers with BYO gateway

Let customers route your product's AI features through their own Portkey account and virtual keys, so LLM spend lands on their bill while they keep full control over model choice, fallbacks, and caching.

02

Externalize prompt management to your customers' AI teams

Instead of hardcoding prompts, pull versioned prompts and templates from each customer's Portkey workspace so their internal team can iterate on tone, persona, and instructions without waiting for your next release.

03

Federate AI observability into customer dashboards

Push logs, feedback, and traces from your AI features into the customer's Portkey account so they get a single pane of glass for cost, latency, and quality across every AI tool in their stack.

04

Enforce customer-defined guardrails and spend limits

Read the customer's guardrails and provision per-tenant usage and rate limit policies programmatically, so regulated buyers can safely enable AI features in your product without fearing runaway bills or policy violations.

05

Close the feedback loop for customer-owned fine-tuning

Send end-user thumbs-up/down and edit signals back into Portkey against the originating trace, giving your customers the labeled data they need to fine-tune their own models on your product's interactions.

What You Can Build

Ship these features with Truto + Portkey

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

01

Connect-your-Portkey onboarding flow

A native setup screen where end users link their Portkey workspace and pick the virtual key your product should use for their tenant's AI calls.

02

Prompt picker backed by customer's prompt library

List the customer's Portkey prompts and versions in your UI and let admins choose which saved prompt powers each AI feature, then execute it with variables via prompt render or prompt completion.

03

Unified chat completion routing

Send all your product's chat and completion requests through Portkey's OpenAI-compatible endpoints so customers control provider, model, retries, and semantic caching from their own configs.

04

Per-tenant virtual keys with budget caps

Automatically provision a Portkey virtual key for each new workspace in your app and attach a usage limit policy so customers can cap monthly AI spend per tenant, agent, or feature.

05

In-app AI cost and latency dashboard

Surface time-series cost, token, and latency graphs pulled from Portkey inside your product so customers can see exactly what your AI features are costing them without leaving your UI.

06

Guardrail-checked AI outputs

Let customers select from their configured Portkey guardrails and enforce them on generations before rendering, so PII, toxicity, or brand-safety rules defined once in Portkey apply across your product.

SuperAI

Portkey AI agent tools

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

create_a_portkey_chat_completion

Create a chat completion in Portkey by sending a conversation's messages and a model name. Returns: id, choices, created, model, system_fingerprint, object, usage. Required: messages, model.

list_all_portkey_realtimes

Connect to the Portkey Realtime API WebSocket endpoint for streaming realtime sessions. Returns a WebSocket upgrade (101) response on success; the subsequent streaming session follows the provider's realtime protocol. The model query parameter is often required for OpenAI-style realtime sessions.

create_a_portkey_completion

Create a text completion in Portkey by sending a prompt to a model via the AI gateway. Returns: id, choices, created, model, system_fingerprint, object, usage. Required: model, prompt.

list_all_portkey_collections

List collections in a Portkey workspace, optionally filtered by name search. Returns each collection with id, slug, name, workspace_id, and parent_collection_id. Required: workspace_id.

create_a_portkey_collection

Create a new collection in a Portkey workspace. Returns: id, slug. Required: name.

get_single_portkey_collection_by_id

Get a single Portkey collection by id. Returns the collection object including id, slug, name, workspace_id, and parent_collection_id. Required: id.

update_a_portkey_collection_by_id

Update a Portkey collection's name by id. Returns: id. Required: name.

delete_a_portkey_collection_by_id

Delete a Portkey collection by id. Returns an empty response on success.

list_all_portkey_labels

List labels in Portkey, optionally filtered by organisation, workspace, or name search. Returns: id, name, description, color_code, organisation_id, workspace_id, is_universal, created_at, last_updated_at, status, updated_at. Max 100 per page.

create_a_portkey_label

Create a new label in Portkey. Returns the created label object including id, name, created_at, and updated_at. Required: name.

get_single_portkey_label_by_id

Get a single Portkey label by id. Returns: id, name, organisation_id, workspace_id, created_at, updated_at. Required: id.

update_a_portkey_label_by_id

Update an existing Portkey label by id. Returns the updated label object including id, name, created_at, and updated_at. Required: id.

delete_a_portkey_label_by_id

Delete a Portkey label by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_prompts

List prompts in Portkey, optionally filtered by collection, workspace, or search term. Returns: id, slug, name, collection_id, model, status, created_at, last_updated_at, object, version_id.

create_a_portkey_prompt

Create a new prompt in Portkey. Returns: id, slug, version_id, object. Required: name, collection_id, string, parameters, virtual_key.

get_single_portkey_prompt_by_id

Get a single Portkey prompt by id or slug. Returns: id, slug, name, collection_id, string, prompt_version, prompt_version_id, prompt_version_status, prompt_version_description, prompt_version_label_id, virtual_key, model, functions, tools, tool_choice, template_metadata, is_raw_template, status, created_at, last_updated_at, version_id, object. Required: id.

update_a_portkey_prompt_by_id

Update a Portkey prompt's metadata and/or create a new version with updated template content. Set patch to true for partial version updates where omitted fields are inherited from the latest version. Returns: id, slug, prompt_version_id. Required: id.

delete_a_portkey_prompt_by_id

Delete a Portkey prompt by id. Returns an empty 204 response on success.

list_all_portkey_prompt_versions

List all versions of a prompt in Portkey. Returns: id, slug, version_id, object, name, workspace_id, organisation_id, status, owner_id, updated_by, created_at, last_updated_at, config, format. Required: prompt_id.

update_a_portkey_prompt_version_by_id

Update the label of a specific prompt version in Portkey. Only label_id can be updated; version content (string, parameters, model) is immutable. Returns: id, slug, version_id, object, name. Required: prompt_id, id.

get_single_portkey_prompt_version_by_id

Get a specific version of a prompt in Portkey by version id. Returns: id, slug, name, collection_id, string, prompt_version, prompt_version_id, prompt_version_status, prompt_version_description, prompt_version_label_id, virtual_key, model, functions, tools, tool_choice, template_metadata, is_raw_template, status, created_at, last_updated_at, version_id, object, version_description, total, data.…

portkey_prompt_make_defaults_bulk_update

Set a specific version of a Portkey prompt as the default version. Returns an empty 200 response on success. Required: prompt_id, version.

list_all_portkey_prompts_partials

List prompt partials in Portkey, optionally filtered by collection. Returns each partial's id, slug, and version_id. Optional: collection_id.

create_a_portkey_prompts_partial

Create a new prompt partial in Portkey. Returns: id, slug, version_id. Required: name, string. Optional: workspace_id (required for Admin keys), version_description.

get_single_portkey_prompts_partial_by_id

Get a single prompt partial in Portkey by its id or slug. Returns: id, slug, version_id. Required: id.

update_a_portkey_prompts_partial_by_id

Update a prompt partial in Portkey by id. Returns: prompt_partial_version_id. Required: id.

delete_a_portkey_prompts_partial_by_id

Delete a prompt partial in Portkey by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_partial_versions

List all versions of a prompt partial in Portkey. Returns: version_id, version, version_description, string, created_at, updated_at, id, name, workspace_id, slug, organisation_id, status, owner_id, updated_by, last_updated_at, config, format, object. Required: prompt_partial_id.

portkey_partial_make_defaults_bulk_update

Set a specific version as the default for a prompt partial in Portkey. Returns an empty object on success confirming the default version was set. Required: prompt_partial_id, version.

create_a_portkey_prompt_completion

Execute a saved prompt template in Portkey to generate completions with variable substitution. Returns: status, headers, body. Required: prompt_id, variables. Hyperparameters must be passed at the root level alongside variables; max_tokens is deprecated — use max_completion_tokens instead.

create_a_portkey_prompt_render

Render a Portkey prompt template by substituting its variable values. Returns: success, data. Required: prompt_id, variables. Hyperparameters such as max_completion_tokens and temperature are passed at the root level, not nested under hyperparameters. The max_tokens parameter is deprecated — use max_completion_tokens.

list_all_portkey_guardrails

List guardrails in Portkey, optionally filtered by workspace or organisation. Returns: id, name, slug, organisation_id, workspace_id, status, created_at, last_updated_at, owner_id, updated_by, checks, actions, updated_at. Max 100 per page.

create_a_portkey_guardrail

Create a new guardrail in Portkey with specified checks and actions. Returns the created guardrail including id, slug, name, checks, and actions. Required: name, checks, actions.

get_single_portkey_guardrail_by_id

Get a specific Portkey guardrail by id (UUID or slug with guard_ prefix). Returns: id, slug, name, workspace_id, organisation_id, checks, actions, created_at, updated_at. Required: id.

update_a_portkey_guardrail_by_id

Update an existing guardrail's name, checks, or actions in Portkey. Returns the updated guardrail object including id, name, slug, checks, actions, organisation_id, and workspace_id. Required: id.

delete_a_portkey_guardrail_by_id

Delete an existing guardrail in Portkey by id (UUID or slug). Returns an empty 204 response on success. Required: id.

create_a_portkey_images_generation

Create an image in Portkey by generating it from a text prompt with a specified model. Returns: b64_json, url, revised_prompt. Required: prompt.

create_a_portkey_images_edit

Create an image edit in Portkey from an original image and a text prompt describing the desired changes, with an optional mask for targeted edits. Returns: b64_json, url, revised_prompt. Required: image, prompt.

create_a_portkey_images_variation

Create variations of an existing image in Portkey. Returns the image variation response including created timestamp and a data array of generated image objects. Required: image.

create_a_portkey_embedding

Create text embeddings through Portkey's AI Gateway. Returns: index, embedding, object. Required: model, input.

create_a_portkey_rerank

Rerank documents by semantic relevance to a query using Portkey's unified interface to reranking models from Cohere, Voyage, Jina, Pinecone, Bedrock, and Azure AI. Returns the rerank response. Required: model, query, documents.

create_a_portkey_ocr

Extract text and structured content from documents (PDFs and images) using OCR models in Portkey, supporting providers including Mistral AI and Azure AI Foundry. Returns: pages, model, usage_info. Required: model, document.

create_a_portkey_audio_speech

Generate speech audio from text via Portkey's AI gateway. Returns a binary audio stream (application/octet-stream) with chunked transfer encoding — write the response body to a file to obtain the audio. Required: model, input, voice.

create_a_portkey_audio_transcription

Create an audio transcription in Portkey by uploading an audio file with a specified model. Returns: text. Required: file, model.

create_a_portkey_audio_translation

Create an audio translation in Portkey by submitting an audio file to a speech-to-text model for translation to English. Returns: text. Required: file, model.

list_all_portkey_files

List files in Portkey, optionally filtered by purpose. Returns: id, bytes, created_at, filename, object, purpose, status, status_details. Max 100 per page.

create_a_portkey_file

Upload a file to Portkey for use across Assistant, Fine-Tuning, and Batch endpoints. Returns: id, bytes, created_at, filename, object, purpose, status, status_details. Required: file, purpose. Bucket limit 100 GB.

get_single_portkey_file_by_id

Get information about a specific file in Portkey by id. Returns: id, bytes, created_at, filename, object, purpose, status, status_details. Required: id.

delete_a_portkey_file_by_id

Delete a file in Portkey by id. Returns: id, object, deleted. Required: id.

list_all_portkey_contents

Get the contents of a file in Portkey. Returns the raw file content as a string. Required: file_id.

list_all_portkey_fine_tuning_jobs

List your organization's fine-tuning jobs in Portkey. Returns: id, created_at, error, fine_tuned_model, finished_at, hyperparameters, model, object, organization_id, result_files, status, trained_tokens, training_file, validation_file, integrations, seed, estimated_finish.

create_a_portkey_fine_tuning_job

Create a fine-tuning job in Portkey to fine-tune a provider model. Returns: id, created_at, error, fine_tuned_model, finished_at, hyperparameters, model, object, organization_id, result_files, status, trained_tokens, training_file, validation_file, integrations, seed, estimated_finish. Required: training_file.

get_single_portkey_fine_tuning_job_by_id

Get a single fine-tuning job by id in Portkey. Returns: id, created_at, error, fine_tuned_model, finished_at, hyperparameters, model, object, organization_id, result_files, status, trained_tokens, training_file, validation_file, integrations, seed, estimated_finish. Required: id.

portkey_fine_tuning_jobs_cancel

Immediately cancel a fine-tuning job in Portkey. Returns: id, created_at, error, fine_tuned_model, finished_at, hyperparameters, model, object, organization_id, result_files, status, trained_tokens, training_file, validation_file, integrations, seed, estimated_finish. Required: job_id.

portkey_fine_tuning_jobs_events

List status update events for a fine-tuning job in Portkey. Returns: id, created_at, level, message, object. Required: job_id.

list_all_portkey_job_checkpoints

List checkpoints for a fine-tuning job in Portkey. Returns: id, created_at, fine_tuned_model_checkpoint, step_number, metrics, fine_tuning_job_id, object. Required: fine_tuning_job_id.

list_all_portkey_models

List available models in Portkey, optionally filtered by AI service or provider. Returns: id, created, object, owned_by, slug, canonical_slug. Max 100 per page.

delete_a_portkey_model_by_id

Delete a fine-tuned model in Portkey by id. Returns an empty 204 response on success. Required: id.

get_single_portkey_model_by_id

Get a single model in Portkey by id. Returns: id, created, object, owned_by, slug, canonical_slug, total, data. Required: id.

create_a_portkey_moderation

Create a moderation in Portkey to identify potentially harmful content in text and images. Only works with OpenAI's Moderations endpoint currently. Returns: id, model, results. Required: input.

list_all_portkey_assistants

List Portkey assistants ordered by creation date. Returns: id, object, created_at, name, description, model, instructions, tools, tool_resources, metadata, temperature, top_p, response_format.

create_a_portkey_assistant

Create a new Portkey assistant with a model and instructions. Returns: id, object, created_at, name, description, model, instructions, tools, tool_resources, metadata, temperature, top_p, response_format. Required: model.

get_single_portkey_assistant_by_id

Get a single Portkey assistant by id. Returns: id, object, created_at, name, description, model, instructions, tools, tool_resources, metadata, temperature, top_p, response_format. Required: id.

delete_a_portkey_assistant_by_id

Delete a Portkey assistant by id. Returns: id, deleted, object. Required: id.

update_a_portkey_assistant_by_id

Update an existing Portkey assistant by id. Returns: id, object, created_at, name, description, model, instructions, tools, tool_resources, metadata, temperature, top_p, response_format. Required: id.

create_a_portkey_response

Create a model response in Portkey by providing a model and input prompt. Returns the response object including id, object, created_at, status, model, and output. Required: model, input. Supports server-sent event streaming when stream is set to true.

get_single_portkey_response_by_id

Get a Portkey model response by id. Returns the response object including id, object, created_at, status, model, and output. Required: id. Use the include query parameter to retrieve additional output data such as file search results and image URLs.

delete_a_portkey_response_by_id

Delete a Portkey model response by id. Returns an empty 200 response on success. Required: id.

list_all_portkey_response_input_items

List input items for a Portkey response by response_id. Returns each input item including its id, type, and type-specific attributes. Required: response_id. Max 100 per page.

create_a_portkey_thread

Create a new thread in Portkey. Returns the created thread object including id, object, created_at, metadata, and tool_resources. Accepts an optional messages array to pre-populate the thread with user messages.

get_single_portkey_thread_by_id

Get a single thread in Portkey by id. Returns: id, object, created_at, tool_resources, metadata. Required: id.

delete_a_portkey_thread_by_id

Delete a thread in Portkey by id. Returns: id, deleted, object. Required: id.

update_a_portkey_thread_by_id

Update a thread in Portkey by id. Only the metadata field can be modified. Returns the updated thread object including id, object, created_at, metadata, and tool_resources. Required: id.

list_all_portkey_thread_messages

List messages for a given Portkey thread. Returns each message with id, object, created_at, thread_id, role, content, attachments, and metadata. Required: thread_id.

create_a_portkey_thread_message

Create a message in a Portkey thread. Returns the created message including id, object, created_at, thread_id, role, content, attachments, and metadata. Required: thread_id, role, content.

delete_a_portkey_thread_message_by_id

Delete a message from a Portkey thread. Returns: id, deleted, object. Required: thread_id, id.

get_single_portkey_thread_message_by_id

Get a single message from a Portkey thread by id. Returns the message including id, object, created_at, thread_id, role, content, attachments, and metadata. Required: thread_id, id.

update_a_portkey_thread_message_by_id

Modify a message in a Portkey thread, typically updating its metadata. Returns the updated message including id, object, created_at, thread_id, role, content, attachments, and metadata. Required: thread_id, id.

create_a_portkey_threads_run

Create a thread and run it in one request in Portkey. Returns the run object including id, object, status, assistant_id, thread_id, model, created_at, and expires_at. Required: assistant_id, thread.

list_all_portkey_thread_runs

List runs belonging to a Portkey thread, ordered by creation date. Returns each run with id, object, created_at, assistant_id, thread_id, status, model, tools, metadata, and usage. Required: thread_id.

create_a_portkey_thread_run

Create a run on a Portkey thread using an existing assistant. Returns the created run object including id, status, assistant_id, thread_id, model, and created_at. Required: thread_id, assistant_id.

portkey_thread_runs_cancel

Cancel a Portkey run that is currently in_progress. Returns the run object including id, status, assistant_id, thread_id, and model. Required: thread_id, run_id.

get_single_portkey_thread_run_by_id

Get a single Portkey run by id within a thread. Returns the run object including id, status, assistant_id, thread_id, model, created_at, tools, and usage. Required: thread_id, id.

update_a_portkey_thread_run_by_id

Update a Portkey run's metadata by id within a thread. Returns the updated run object including id, status, assistant_id, thread_id, model, and metadata. Required: thread_id, id.

create_a_portkey_run_submit_tool_output

Submit tool call outputs for a Portkey run with status 'requires_action'. All outputs must be submitted in a single request. Returns the updated run object including id, status, assistant_id, thread_id, model, and created_at. Required: thread_id, run_id, tool_outputs.

list_all_portkey_run_steps

List run steps belonging to a specific run in Portkey. Returns: id, object, created_at, assistant_id, thread_id, run_id, type, status, step_details, last_error, expired_at, cancelled_at, failed_at, completed_at, metadata, usage. Required: thread_id, run_id. Max 100 per page; default 20.

get_single_portkey_run_step_by_id

Get a single run step by id in Portkey. Returns: id, object, created_at, assistant_id, thread_id, run_id, type, status, step_details, last_error, expired_at, cancelled_at, failed_at, completed_at, metadata, usage. Required: thread_id, run_id, id.

list_all_portkey_vector_stores

List Portkey vector stores ordered by creation date. Returns each store with id, object, created_at, name, bytes, and file_counts. Max 100 per page.

create_a_portkey_vector_store

Create a new Portkey vector store. Returns the created vector store object including id, object, created_at, name, bytes, and file_counts.

get_single_portkey_vector_store_by_id

Get a single Portkey vector store by id. Returns the full vector store object including id, object, created_at, name, bytes, and file_counts. Required: id.

delete_a_portkey_vector_store_by_id

Delete a Portkey vector store by id. Returns: id, deleted, object. Required: id.

update_a_portkey_vector_store_by_id

Update a Portkey vector store by id. Returns the updated vector store object including id, object, created_at, name, bytes, and file_counts. Required: id.

list_all_portkey_vector_store_files

List vector store files in Portkey. Returns each file's id, object, created_at, usage_bytes, vector_store_id, status, and last_error. Required: vector_store_id. Max 100 per page.

create_a_portkey_vector_store_file

Create a vector store file in Portkey by attaching an existing File to a vector store. Returns: id, object, usage_bytes, created_at, vector_store_id, status, last_error, chunking_strategy. Required: vector_store_id, file_id.

delete_a_portkey_vector_store_file_by_id

Delete a vector store file in Portkey, removing it from the vector store without deleting the underlying File. Returns: id, deleted, object. Required: vector_store_id, id.

get_single_portkey_vector_store_file_by_id

Get a single vector store file in Portkey by id. Returns: id, object, usage_bytes, created_at, vector_store_id, status, last_error, chunking_strategy, export_settings. Required: vector_store_id, id.

create_a_portkey_vector_store_file_batch

Create a vector store file batch in Portkey by providing a list of file IDs to add to the vector store. Returns: id, object, created_at, vector_store_id, status, file_counts. Required: vector_store_id, file_ids.

portkey_vector_store_file_batches_cancel

Cancel a vector store file batch in Portkey, attempting to stop processing of files in the batch as soon as possible. Returns: id, object, created_at, vector_store_id, status, file_counts. Required: vector_store_id, batch_id.

get_single_portkey_vector_store_file_batch_by_id

Retrieve a specific vector store file batch in Portkey by its batch ID. Returns: id, object, created_at, vector_store_id, status, file_counts, export_settings. Required: vector_store_id, id.

list_all_portkey_file_batche_files

List vector store files within a file batch in Portkey. Returns each file's id, object, created_at, and vector_store_id. Required: vector_store_id, batch_id. Filter by file status (in_progress, completed, failed, cancelled) and sort order by created_at are supported.

list_all_portkey_batches

List your organization's batches in Portkey. Returns: id, object, endpoint, errors, input_file_id, completion_window, status, output_file_id, error_file_id, created_at, in_progress_at, expires_at, finalizing_at, completed_at, failed_at, expired_at, cancelling_at, cancelled_at, request_counts, metadata. Max 100 per page.

create_a_portkey_batch

Create and execute a batch in Portkey from an uploaded file of requests. Returns the created batch including id, status, input_file_id, endpoint, completion_window, and created_at. Required: input_file_id, endpoint, completion_window.

get_single_portkey_batch_by_id

Get a single batch in Portkey by id. Returns: id, object, endpoint, errors, input_file_id, completion_window, status, output_file_id, error_file_id, created_at, in_progress_at, expires_at, finalizing_at, completed_at, failed_at, expired_at, cancelling_at, cancelled_at, request_counts, metadata. Required: id.

portkey_batches_cancel

Cancel an in-progress batch in Portkey. The batch enters cancelling status for up to 10 minutes before becoming cancelled, with partial results available in the output file. Returns the batch including id, status, input_file_id, endpoint, completion_window, created_at. Required: batche_id.

list_all_portkey_batche_outputs

Retrieve the output of a completed Portkey batch as a binary stream (application/octet-stream). Required: batch_id.

list_all_portkey_configs

List all Portkey configs. Returns: id, name, slug, organisation_id, workspace_id, status, owner_id, updated_by, created_at, last_updated_at.

create_a_portkey_config

Create a new Portkey config. Returns: id, version_id. Required: name, config.

get_single_portkey_config_by_id

Get a single Portkey config by id. Returns the config object including retry, cache, strategy, and targets settings. Required: id.

update_a_portkey_config_by_id

Update a Portkey config by id. Returns: version_id. Required: id.

delete_a_portkey_config_by_id

Delete a Portkey config by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_config_versions

List all versions of a Portkey config by its slug. Returns: id, name, workspace_id, slug, organisation_id, status, owner_id, updated_by, created_at, last_updated_at, config, format, type, version_id, object. Required: slug.

create_a_portkey_feedback

Create new feedback for a Portkey interaction or trace. Returns a feedback response confirming successful submission. Required: trace_id, value. Value must be an integer between -10 and 10; weight defaults to 1.0.

update_a_portkey_feedback_by_id

Update existing feedback in Portkey by id. Returns a feedback response confirming successful update. Required: id, value.

list_all_portkey_integrations

List all integrations in Portkey, optionally filtered by workspace or integration scope. Returns: id, organisation_id, ai_provider_id, name, status, created_at, last_updated_at, slug, description, object, note.

create_a_portkey_integration

Create a new Portkey integration by providing the AI provider and credentials. Returns: id. Required: name, ai_provider_id, key.

get_single_portkey_integration_by_id

Get a single Portkey integration by id. Returns: id, slug, name, ai_provider_id, note. Required: id.

update_a_portkey_integration_by_id

Update a Portkey integration's name or note by id. Returns: id. Required: id.

delete_a_portkey_integration_by_id

Delete a Portkey integration by id. Returns: id. Required: id.

list_all_portkey_integration_models

List all models available for a specific Portkey integration, including configuration and pricing details. Returns: id, slug, canonical_slug, object. Required: slug.

portkey_integration_models_bulk_update

Bulk update model access, pricing configuration, and settings for multiple models in a Portkey integration. Can enable/disable models and configure custom pricing. Returns: object, total, data. Required: slug, models.

portkey_integration_models_bulk_delete

Bulk delete multiple custom models from a Portkey integration by their model slugs. Returns a success confirmation object on successful deletion. Required: slug, slugs.

list_all_portkey_integration_workspaces

List workspace access configurations for a Portkey integration by slug. Returns: workspace_id, usage_limits, rate_limits for each workspace with access to the integration. Required: slug.

portkey_integration_workspaces_bulk_update

Bulk update workspace access for a Portkey integration. Updates workspace access permissions, usage limits, and rate limits for an integration, supporting both global workspace access and per-workspace settings. Returns the updated workspace access configuration object. Required: slug.

list_all_portkey_providers

List all providers in Portkey. Returns: name, integration_id, note, status, usage_limits, reset_usage, created_at, slug, rate_limits, expires_at, object, id, workspace_id. Max 100 per page.

create_a_portkey_provider

Create a new provider in Portkey. Returns: id, slug, name, integration_id, workspace_id, note, usage_limits, rate_limits, expires_at. Required: name, integration_id.

get_single_portkey_provider_by_id

Get a single provider by id in Portkey. Returns: id, slug, name, integration_id, workspace_id, note, usage_limits, rate_limits, expires_at. Required: id.

update_a_portkey_provider_by_id

Update a Portkey provider by id, modifying fields such as name, note, usage limits, rate limits, expiry, and reset usage. Returns: id, slug. Required: id.

delete_a_portkey_provider_by_id

Delete a Portkey provider by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_virtual_keys

List all Portkey virtual keys. Returns: name, note, status, usage_limits, reset_usage, created_at, slug, model_config, rate_limits, expires_at, secret_mappings, object, id, provider, key, workspace_id, apiVersion, resourceName, deploymentName, deploymentConfig, last_updated_at.

create_a_portkey_virtual_key

Create a Portkey virtual key for a given AI provider. Returns: slug.

get_single_portkey_virtual_key_by_id

Get a single Portkey virtual key by id. Returns: id, slug, name, provider, key, note, workspace_id, apiVersion, resourceName, deploymentName, deploymentConfig, usage_limits, rate_limits, expires_at, secret_mappings, created_at, last_updated_at. Required: id.

update_a_portkey_virtual_key_by_id

Update a Portkey virtual key by id. Returns: id, slug, name, provider, key, note, workspace_id, apiVersion, resourceName, deploymentName, deploymentConfig, usage_limits, rate_limits, expires_at, secret_mappings, created_at, last_updated_at. Required: id.

delete_a_portkey_virtual_key_by_id

Delete a Portkey virtual key by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_users_invites

List all user invites in Portkey. Returns: object, id, email, role, created_at, expires_at, accepted_at, status, invited_by, workspaces. Filter by role, email, or status.

create_a_portkey_users_invite

Send a user invite to join your Portkey organization. Returns the created invite object including its id, email, role, status, created_at, expires_at, invited_by, and workspaces. Required: email.

get_single_portkey_users_invite_by_id

Get a single Portkey user invite by id. Returns: object, id, email, role, created_at, expires_at, accepted_at, status, invited_by, workspaces. Required: id.

delete_a_portkey_users_invite_by_id

Delete a Portkey user invite by id. Returns an empty response on success. Required: id.

create_a_portkey_invite_resend

Resend an invite to a user in your Portkey organization. Returns: inviteLink. Required: invite_id.

list_all_portkey_admin_users

List Portkey admin users with optional role and email filters. Returns: object, id, first_name, last_name, role, email, created_at, last_updated_at, workspace_ids.

get_single_portkey_admin_user_by_id

Get a single Portkey admin user by id. Returns: object, id, first_name, last_name, role, email, created_at, last_updated_at, workspace_ids, expires_at, accepted_at, status, invited_by, workspaces. Required: id.

update_a_portkey_admin_user_by_id

Update a Portkey admin user's role by id. Returns the updated user object including object, id, first_name, last_name, role, email, created_at, last_updated_at, and workspace_ids. Required: id.

delete_a_portkey_admin_user_by_id

Remove a Portkey admin user by id. Returns an empty response on success. Required: id.

list_all_portkey_workspace_users

List members of a Portkey workspace, optionally filtered by role or email. Returns: object, id, first_name, last_name, org_role, role, created_at, last_updated_at, status, workspace_id, email, scopes, settings, expires_at, accepted_at, invited_by, workspaces. Required: workspace_id.

create_a_portkey_workspace_user

Add one or more existing Portkey users as members of a workspace, each with a specified role. Returns an empty response body on success. Required: workspace_id, users.

update_a_portkey_workspace_user_by_id

Update a Portkey workspace member's role by id. Returns an empty response body on success. Required: workspace_id, id, role.

delete_a_portkey_workspace_user_by_id

Remove a member from a Portkey workspace by id. Returns an empty 204 response on success. Required: workspace_id, id.

get_single_portkey_workspace_user_by_id

Get a single Portkey workspace member by id. Returns: object, id, first_name, last_name, org_role, role, created_at, last_updated_at, status, workspace_id, email, scopes, settings. Required: workspace_id, id.

list_all_portkey_admin_workspaces

List Portkey workspaces with optional filtering by name, exact name, or status. Returns: id, slug, name, description, created_at, last_updated_at, defaults, usage_limits, rate_limits, object.

create_a_portkey_admin_workspace

Create a new workspace in Portkey with optional defaults, users, usage limits, and rate limits. Returns: id, name, description, created_at, last_updated_at, object.

get_single_portkey_admin_workspace_by_id

Get a single Portkey workspace by id, including its member users. Returns: id, name, description, created_at, last_updated_at, object, users, email, role, expires_at, accepted_at, status, invited_by, workspaces. Required: id.

update_a_portkey_admin_workspace_by_id

Update a Portkey workspace by id, including name, description, defaults, usage limits, and rate limits. Returns: id, name, description, created_at, last_updated_at, object, email, role, expires_at, accepted_at, status, invited_by, workspaces. Required: id.

delete_a_portkey_admin_workspace_by_id

Delete a Portkey workspace by id. Returns an empty 200 response on success. Required: id.

list_all_portkey_scim_workspaces

List all SCIM group to workspace mappings in Portkey, optionally filtered by workspace, SCIM group, or role. Returns: id, workspace_id, scim_group, scim_group_id, role, name, created_at, last_updated_at, object.

create_a_portkey_scim_workspace

Create a SCIM group to workspace mapping in Portkey. Either reference an existing SCIM group by ID or provide a group name to pre-create it before the IdP provisions it. Returns: id, workspace_id, scim_group, role, scim_group_id. Required: workspace_id, role. Either scim_group_id or scim_group_name must be provided.

delete_a_portkey_scim_workspace_by_id

Delete a SCIM group to workspace mapping in Portkey by id. Archives the mapping without deleting the SCIM group or workspace. Returns: success. Required: id.

list_all_portkey_mcp_integrations

List MCP Integrations in Portkey, optionally filtered by type, workspace_id, or a search term. Returns each integration with id, slug, name, url, auth_type, and transport.

create_a_portkey_mcp_integration

Create a new MCP Integration in Portkey. Returns the created integration with id, name, url, auth_type, and transport. Required: name, url, auth_type, transport. Either organisation_id or workspace_id must also be provided.

get_single_portkey_mcp_integration_by_id

Get a single Portkey MCP Integration by id. Returns: id, slug, name, url, auth_type, transport. Required: id.

update_a_portkey_mcp_integration_by_id

Update a Portkey MCP Integration by id. Returns the updated integration with id, name, url, auth_type, and transport. Required: id.

delete_a_portkey_mcp_integration_by_id

Delete a Portkey MCP Integration by id. Returns the deleted integration object with id, name, url, auth_type, and transport. Required: id.

list_all_portkey_mcp_integration_workspaces

List workspaces associated with a Portkey MCP integration. Returns: id, name, description, created_at, last_updated_at, object. Required: mcp_integration_id. The optional version parameter switches the response shape from a legacy workspaces array to a data/total paginated shape.

portkey_mcp_integration_workspaces_bulk_update

Bulk update workspace access for a Portkey MCP integration. Returns a JSON object with the update result. Required: mcp_integration_id.

list_all_portkey_mcp_integration_capabilities

List MCP integration capabilities in Portkey, optionally filtered by capability type. Returns: name, type, title, description, icons, enabled, created_at, last_updated_at, input_schema, output_schema, execution, annotations, arguments, uri, uri_template, mime_type, size. Required: mcp_integration_id.

portkey_mcp_integration_capabilities_bulk_update

Bulk update MCP integration capabilities in Portkey by submitting update payloads for multiple capabilities at once. Returns the bulk update result object. Required: mcp_integration_id.

list_all_portkey_mcp_integration_metadata

Get the metadata key-value pairs attached to a Portkey MCP integration. Returns: _user, environment, feature, request_id. Required: mcp_integration_id.

list_all_portkey_mcp_servers

List MCP Servers for a workspace in Portkey. Returns: id, organisation_id, name, description, status, created_at, owner_id, slug, workspace_id, mcp_integration_id, mcp_integration_slug, mcp_integration_url, auth_type, workspace_name, workspace_slug, url. Max 100 per page.

create_a_portkey_mcp_server

Create a new MCP Server in Portkey as a workspace instance of an MCP Integration. Returns: id, slug, name, mcp_integration_id. Required: name, mcp_integration_id.

get_single_portkey_mcp_server_by_id

Get a single MCP Server by id in Portkey. Returns: id, name, mcp_integration_id. Required: id.

update_a_portkey_mcp_server_by_id

Update an MCP Server by id in Portkey. Returns: id. Required: id.

delete_a_portkey_mcp_server_by_id

Delete an MCP Server by id in Portkey. Returns: id.

create_a_portkey_mcp_server_test

Test connectivity to an MCP server in Portkey by verifying its integration URL. Returns an opaque response whose fields are determined upstream by the Portkey API. Required: mcp_server_id.

list_all_portkey_mcp_server_capabilities

List capabilities for a Portkey MCP Server, optionally filtered by capability type. Returns: name, type, title, description, icons, enabled, integration_enabled, input_schema, output_schema, execution, annotations, arguments, uri, uri_template, mime_type, size. Required: mcp_server_id.

portkey_mcp_server_capabilities_bulk_update

Bulk update capabilities for a Portkey MCP server, enabling or disabling tools, prompts, resources, and resource templates. Returns the bulk update response. Required: mcp_server_id.

list_all_portkey_mcp_server_user_acceses

List user access records for a specific MCP server in Portkey. Returns: user_id, first_name, last_name, enabled, has_override, connection_status, object, id, role, email, created_at, last_updated_at, expires_at, accepted_at, status, invited_by, workspaces. Required: mcp_server_id.

portkey_mcp_server_user_acceses_bulk_update

Bulk update user access records for a specific MCP server in Portkey. Returns: success. Required: mcp_server_id.

list_all_portkey_mcp_server_connections

List MCP Server Connections for a specific MCP server in Portkey. Returns: user_id, connected, created_at, last_updated_at, id, workspace_id, mcp_server_id, updated_at. Required: mcp_server_id. Optionally filter by user_id or workspace_id.

portkey_mcp_server_connections_bulk_delete

Delete an MCP server connection in Portkey, disconnecting a user from the specified MCP server. Returns: success. Required: mcp_server_id. user_id is required when using a service API key; optional with a user API key.

create_a_portkey_log

Create one or more custom log entries in Portkey by submitting request and response payloads with optional metadata. Returns: id, created_at. Accepts a single log object or an array of log objects.

get_single_portkey_log_by_id

Get a specific Portkey log by id. Returns: _id, request, response, organisation_id, created_at, metrics, id. Required: id. When path_format is v2, created_at is also required.

get_single_portkey_logs_export_by_id

Get a specific Portkey logs export by id. Returns: id, organisation_id, filters, requested_data, status, description, created_at, last_updated_at, created_by, workspace_id, object. Required: id.

update_a_portkey_logs_export_by_id

Update a Portkey logs export by id. Returns: id, total, object, workspace_id, filters, requested_data. Required: id, filters.

list_all_portkey_logs_exports

List all Portkey logs exports, optionally filtered by workspace. Returns each export with id, organisation_id, filters, requested_data, status, description, created_at, last_updated_at, created_by, workspace_id, object, error. Max 100 per page.

create_a_portkey_logs_export

Create a Portkey log export job by specifying filters and requested data fields. Returns: id, total, object, workspace_id, filters, requested_data. Required: filters, requested_data. Up to 50,000 logs per export job.

portkey_logs_exports_start

Start processing a Portkey logs export job by export_id. Returns: message, object. Required: export_id.

portkey_logs_exports_cancel

Cancel log export. Returns: message, object. Required: export_id.

list_all_portkey_export_downloads

Download a completed Portkey log export by retrieving its signed download URL for the JSONL export file. Returns: signed_url. Required: export_id. The export job must be completed before calling this endpoint; up to 50,000 logs per export job.

list_all_portkey_audit_logs

List Portkey audit logs filtered by time range and organisation. Returns: id, request_id, method, uri, user_id, user_type, workspace_id, organisation_id, response_status_code, resource_type, action, client_ip, country, created_at. Required: start_time, end_time, organisation_id. Max 100 per page.

create_a_portkey_api_key

Create a Portkey API key for a given type and sub-type, with scopes and optional rotation or usage-limit policies. Returns: id, key, object. Required: type, sub_type, name, scopes.

list_all_portkey_api_keys

List all Portkey API keys, optionally filtered by workspace. Returns each key's id, key, and object.

get_single_portkey_api_key_by_id

Get a single Portkey API key by id. Returns: id, key, object. Required: id.

update_a_portkey_api_key_by_id

Update a Portkey API key's metadata, scopes, rate limits, rotation policy, or usage limits by id. The key type and user_id cannot be changed after creation. Returns: id, object. Required: id.

delete_a_portkey_api_key_by_id

Delete a Portkey API key by id. Returns an empty response on success. Required: id.

create_a_portkey_api_key_rotate

Rotate an existing Portkey API key, generating a new key value while the previous key remains valid during a transition period. Returns: id, key, key_transition_expires_at, object. Required: api_key_id.

list_all_portkey_policies_usage_limits

List Portkey usage limits policies with optional status and type filtering. Returns: id, name, conditions, group_by, type, credit_limit, alert_threshold, periodic_reset, periodic_reset_days, next_usage_reset_at, last_reset_at, status, workspace_id, organisation_id, created_at, last_updated_at, value_key_usage_map.

create_a_portkey_policies_usage_limit

Create a Portkey usage limits policy to control total cost or token usage over a period. Returns: id, name, type, credit_limit, alert_threshold, periodic_reset, conditions, group_by, created_at. Required: conditions, group_by, type, credit_limit.

get_single_portkey_policies_usage_limit_by_id

Get a single Portkey usage limits policy by id. Returns: id, name, type, credit_limit, alert_threshold, periodic_reset, conditions, group_by, created_at. Required: id.

update_a_portkey_policies_usage_limit_by_id

Update an existing Portkey usage limits policy by id. Returns: id, name, type, credit_limit, alert_threshold, periodic_reset, conditions, group_by, created_at. Required: id.

delete_a_portkey_policies_usage_limit_by_id

Archive (soft delete) a Portkey usage limits policy by id. Returns an empty 204 response on success. Required: id.

list_all_portkey_usage_limit_entities

List entities tracked by a Portkey usage limits policy with their current usage. Returns: id, value_key, current_usage, status. Required: policy_usage_limits_id.

portkey_usage_limit_entities_bulk_update

Reset the current usage for a specific entity in a Portkey usage limits policy. Returns an empty object on success. Required: policy_usage_limits_id, entity_id.

list_all_portkey_policies_rate_limits

List all rate limits policies in Portkey with optional filtering by status, type, unit, and target. Returns: id, name, conditions, group_by, type, unit, value, status, workspace_id, organisation_id, created_at, last_updated_at, target, updated_at.

create_a_portkey_policies_rate_limit

Create a new rate limits policy in Portkey to control the rate of requests or tokens consumed per minute, hour, or day. Returns: id, name, conditions, group_by, type, unit, value, created_at, updated_at. Required: name, type, unit, value.

get_single_portkey_policies_rate_limit_by_id

Get a single rate limits policy by id in Portkey. Returns: id, name, conditions, group_by, type, unit, value, created_at, updated_at. Required: id.

update_a_portkey_policies_rate_limit_by_id

Update an existing rate limits policy in Portkey by id, such as changing the rate limit value or unit. Returns: id, name, conditions, group_by, type, unit, value, created_at, updated_at. Required: id.

delete_a_portkey_policies_rate_limit_by_id

Delete a rate limits policy in Portkey by id. Returns an empty response on success. Required: id.

list_all_portkey_graphs_requests

Get the requests analytics graph from Portkey, showing request volume across time buckets. Returns: summary, data_points, object, request_timeout, retry, provider. Supports optional filters by time range, cost, tokens, status code, virtual keys, configs, API keys, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_graphs_costs

Get a Portkey cost analytics graph showing cost trends over time. Returns: summary, data_points, object. All parameters are optional filters for narrowing the cost graph by time range, cost, token counts, status codes, virtual keys, configs, API keys, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_graphs_latencies

Get the latency analytics graph in Portkey, returning average and percentile (p50, p90, p99) latency metrics as time-series data points. Returns: summary, data_points, object. All query parameters are optional filters.

list_all_portkey_graphs_tokens

Get the tokens analytics graph in Portkey, showing token usage over time. Returns: summary, data_points, object, budget_tokens. All query parameters are optional filters including time range, cost, token counts, status code, virtual keys, configs, API keys, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_graphs_users

Get users graph. Returns unique user count across different time buckets. Returns: summary, data_points, object. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_users_requests

Get the Portkey users requests analytics graph showing average requests per user across different time buckets. Returns: summary, data_points, object, total, data.

list_all_portkey_graphs_errors

Get the Portkey errors graph showing error counts across time buckets. Returns: summary, data_points, object.total, data_points (each with timestamp and total per bucket), and object type. Supports optional filtering by time range, cost, tokens, status code, virtual keys, configs, API keys, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_errors_rates

Get the percentage error rate time series graph in Portkey. Returns: summary, data_points, object. Supports optional filters including workspace, time range, cost, tokens, status code, virtual keys, configs, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_errors_stacks

Get a status code wise stacked error graph in Portkey. Returns: summary, data_points, object. All filter parameters are optional.

list_all_portkey_errors_status_codes

Get a status-code-grouped error graph in Portkey analytics. Returns: summary, data_points, object. All query parameters are optional filters.

list_all_portkey_requests_rescueds

Get the Portkey rescued requests graph showing requests saved by retry and fallback strategies over time. Returns: summary, data_points, object, request_timeout, retry, provider. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_cache_hit_rates

Get cache hit rate graph data in Portkey. Returns: summary, data_points, object, provider, cache, retry. Supports optional filtering by time range, cost, tokens, status code, virtual keys, configs, API key IDs, metadata, AI model, trace/span IDs, and prompt slug.

list_all_portkey_cache_latencies

Get the cache hit latency graph from Portkey analytics. Returns: summary, data_points, object, provider, cache, retry. Supports filtering by time range, cost, tokens, status code, virtual keys, configs, metadata, trace ID, and more.

list_all_portkey_graphs_feedbacks

Get the Portkey feedbacks analytics graph with time-bucketed feedback counts. Returns: summary, data_points, object. Supports optional filtering by workspace, time range, cost, token counts, status code, weighted feedback, virtual keys, configs, API keys, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_feedbacks_scores

Get a score-wise feedbacks distribution graph in Portkey showing how feedback counts are distributed across each feedback score value. Returns: summary, data_points, object.

list_all_portkey_feedbacks_weighteds

List weighted feedback graph data from Portkey, where weighted feedback is calculated as value multiplied by score. Returns: summary, data_points, object. Supports optional filters including time of generation range, total units, cost, prompt/completion tokens, status code, weighted feedback range, virtual keys, configs, API key IDs, metadata, AI model, trace ID, span ID, and prompt slug.

list_all_portkey_feedbacks_ai_models

Get a Portkey analytics graph of feedbacks grouped by AI model. Returns: summary, data_points, object, total, data. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_summary_caches

Get cache summary analytics data for a selected time period in Portkey. Returns a summary object including hits, avg_latency, total_requests, and cache_speedup, along with an object type identifier. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_groups_users

List Portkey analytics data grouped by end user, showing request counts and costs per user. Returns: user, requests, cost, object, total, data. Each data item contains the user identifier, total requests, and cost in cents. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_groups_ai_models

Get AI model grouped analytics data from Portkey, showing request counts aggregated per AI model. Returns: ai_model, requests, object, total, data. Required: workspace_slug, time_of_generation_min, time_of_generation_max.

list_all_portkey_groups_providers

List Portkey analytics data grouped by provider (virtual key). Returns: provider, requests, object. Use the columns parameter to choose which metrics to include.

get_single_portkey_groups_metadatum_by_id

Get Portkey analytics data grouped by a specific metadata key, returning a list of analytics-group objects. Returns: metadata_value, requests, cost, avg_tokens, avg_weighted_feedback, requests_with_feedback, last_seen, object. Required: id (the metadata key).

list_all_portkey_model_configs_pricings

Get model pricing configuration in Portkey for a specific provider and model. Returns pay_as_you_go token prices, calculate formulas, and currency. Required: provider, model. Prices are in USD cents per token.

list_all_portkey_secret_references

List all Portkey secret references, optionally filtered by manager type, tags, or name. Returns: id, name, slug, manager_type, status, created_at, last_updated_at, object, secret_path. Max 100 per page.

create_a_portkey_secret_reference

Create a new Portkey secret reference linking to an external secret manager. Returns: id, slug, object. Required: name, manager_type, auth_config, secret_path. allow_all_workspaces and allowed_workspaces are mutually exclusive.

get_single_portkey_secret_reference_by_id

Get a single Portkey secret reference by UUID or slug. Returns: id, slug, object, name, manager_type, secret_path. Required: id.

update_a_portkey_secret_reference_by_id

Update a Portkey secret reference by UUID or slug. Returns: id, object, name. Required: id.

delete_a_portkey_secret_reference_by_id

Delete a Portkey secret reference by UUID or slug. Returns an empty 204 response on success. Required: id. Cannot delete a reference that is in use by integrations or virtual keys.

list_all_portkey_deployments

List Portkey gateway deployments with optional filters for status, type, workspace, and name search. Returns: id, name, slug, type, status, is_default, connection_status, created_by, created_at, last_updated_at, last_synced_at, last_resynced_at, object, auth_settings, client_auth, workspace_slug, organisation_id, updated_at. Max 100 per page.

create_a_portkey_deployment

Register a self-hosted Portkey gateway deployment with the control plane. Issues a client_auth token returned in full only in this response. Returns: id, type, created_at, updated_at. Required: name.

get_single_portkey_deployment_by_id

Get a Portkey gateway deployment by id (UUID or 'self' when authenticated with the Gateway's own client_auth token). Returns: id, name, type, status, auth_settings, client_auth, is_default, workspace_slug, organisation_id, created_at, updated_at. Required: id.

update_a_portkey_deployment_by_id

Update a Portkey gateway deployment by id, including name and auth_settings. Rotating client_auth via this endpoint returns the new token in full. Returns: id, name, type, created_at, updated_at. Required: id.

delete_a_portkey_deployment_by_id

Archive (soft-delete) a Portkey gateway deployment by id. The record is soft-deleted, not permanently removed. Returns: id, name, type, created_at, updated_at. Required: id.

list_all_portkey_deployment_pings

Ping a Portkey Gateway deployment to run a two-way connectivity check — an outbound health call to the Gateway and an inbound verify-ping callback. Returns: status, gateway_base_url, outbound, inbound, object, version. Required: deployment_id. The inbound check waits up to 10 seconds for the Gateway to call back; returns 400 if no gateway_base_url is configured for the deployment.

Why Truto

Why use Truto’s MCP server for Portkey

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 750+ 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.

How It Works

From zero to integrated

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

01

Link your customer’s Portkey account

Use Truto’s frontend SDK to connect your customer’s Portkey 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 Portkey

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

04

Unified response format

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

FAQs

Common questions about Portkey on Truto

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

How do end users authenticate their Portkey account?

Portkey uses API key authentication. Through Truto, your users paste their Portkey API key during the connect flow, and Truto stores and injects it on every request so you never handle the credential directly.

Can we run LLM inference through Portkey, or only manage metadata?

Both. The integration exposes inference endpoints like chat completions, completions, embeddings, images, audio, moderation, and rerank, alongside management endpoints for prompts, configs, virtual keys, guardrails, and analytics.

How do we let customers pick a prompt without hardcoding IDs?

Use the prompts and prompt versions list endpoints to render a picker in your UI, then execute the selected prompt at runtime with create_a_portkey_prompt_render or create_a_portkey_prompt_completion, passing variables from your product's context.

Can we push our own AI usage into a customer's Portkey workspace?

Yes. Use create_a_portkey_log to send request, response, cost, and latency data from AI calls you execute outside Portkey, and create_a_portkey_feedback to attach user satisfaction scores to a trace ID.

How do we cap per-tenant spend or throughput?

Provision a virtual key per tenant with create_a_portkey_virtual_key and attach policies via create_a_portkey_policies_usage_limit for cost ceilings and create_a_portkey_policies_rate_limit for RPM controls.

What analytics can we pull into our own dashboards?

Portkey exposes time-series graphs for requests, costs, latencies, tokens, users, errors, cache hit rates, and feedback, which you can query and render inside your product for the connected customer.

Does the integration support enterprise workspace and user management?

Yes. You can list and manage admin users, workspace users, workspace invites, admin workspaces, and SCIM workspaces, which is useful for multi-tenant provisioning and enterprise onboarding flows.

Portkey

Get Portkey integrated into your app

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