Skip to content
Elaichi Elaichi

Artificial Intelligence

Portkey

Connect Portkey once and hand every teammate a governed MCP endpoint with 239 tools ready to call from Claude, ChatGPT, Cursor, or any MCP client, inside the same permissions they already have, with every call checked and logged.

Portkey

Automations & dashboards

From answering questions to doing the work

A person no longer has to ask. A trigger starts the work, inside the same permissions and the same audit log as everything else. Automations and live dashboards ship on the Black plan.

Automations

Put Portkey work on a schedule.

A trigger starts a sequence of steps: call a Portkey tool, transform the result, branch, wait, and ask a person when it matters.

Portkey digest

Run 418 · started 2 minutes ago · on behalf of Emma Laurent

  1. Schedule

    Every weekday at 08:00

    0.2s
  2. Fetch collections

    Portkey

    1.4s
  3. Group by owner

    Transform

    0.1s
  4. Draft the digest

    Agent step

    Ran with 4 tools, returned a structured summary

    6.2s
  5. Approve the digest

    Needs approval

    Assigned to Michael Brennan

    Approve
  6. Post the digest

    Portkey

    Queued

Collections and dashboards

Report on Portkey without asking.

Collections hold your own data, written by an automation and read by a dashboard that refreshes on a schedule.

Portkey health

Refreshed 4 minutes ago · every 15 minutes · from the collections collection

Live

Collections

1,284 ↓ 12%

Labels

96 ↓ 8%

Needs attention

3 ↑ 2

Updated this week

412 ↑ 9%

Collections created

Last 14 days

By workspace

Share of activity

Engineering 34%

Product 27%

Support 21%

Sales 18%

AI tools

Portkey tools for your AI agents

239 tools are ready to call through Elaichi's MCP endpoint the moment you connect Portkey, governed by the same roles, restrictions, and audit log as everything else in Elaichi.

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.

How it works

From Portkey account to governed MCP endpoint

Connect

Link a Portkey account through Elaichi's hosted connect flow. Credentials are vaulted, so nobody, including the AI, ever sees them.

Compose

The connection becomes a toolbox instantly. Curate which Portkey tools are exposed, rename them, or freeze arguments.

Authorize

Point Claude, ChatGPT, Cursor, or any MCP client at the one Elaichi endpoint and sign in with OAuth, governed by roles, restrictions, and audit logs.

Put your agents to work in the tools you already use

Start a 14-day Gold trial. Connect a product, curate a toolbox, and paste a governed MCP endpoint into Claude, ChatGPT, or Cursor in minutes.