# RunPod

The Cloud Built for AI - GPU cloud computing platform for AI and machine learning workloads

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `RUNPOD`
- **Version:** 00000000_00

## Tools

### Create RunPod Cluster

**Slug:** `RUNPOD_CREATE_CLUSTER`

Tool to create a new GPU cluster for multi-node distributed computing workloads on RunPod. Use when you need to deploy multiple pods with shared configuration for parallel processing, ML training, or HPC workloads.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `env` | array | No | Optional list of environment variables to set in the container. Each entry should be a dict with 'key' and 'value' fields. |
| `type` | string ("APPLICATION" | "TRAINING" | "SLURM") | Yes | Type of cluster to create: APPLICATION for general-purpose workloads, TRAINING for ML training jobs, or SLURM for high-performance computing with SLURM scheduler. |
| `ports` | string | No | Optional comma-separated list of ports to expose on the pods. |
| `pod_count` | integer | Yes | Integer specifying the number of pods in the cluster. Must be at least 1. |
| `start_ssh` | boolean | No | Optional flag to enable SSH access on each pod. Default is false. |
| `image_name` | string | No | Optional Docker image name to use for the pods. If not specified, the template's default image is used. |
| `throughput` | integer | No | Optional network throughput specification for the volume in MB/s. |
| `volume_key` | string | No | Optional encryption key for the volume. |
| `deploy_cost` | number | No | Optional maximum deployment cost threshold. If specified, deployment will fail if the estimated cost exceeds this value. |
| `docker_args` | string | No | Optional Docker run arguments to pass when starting the container. |
| `gpu_type_id` | string | Yes | String identifier for the GPU type to use in the cluster (e.g., 'NVIDIA GeForce RTX 3070', 'NVIDIA A100 80GB PCIe'). |
| `template_id` | string | No | Optional template ID to use for pod configuration. References a pre-configured pod template with specific Docker image and settings. |
| `cluster_name` | string | No | Optional name to identify the cluster. If not provided, a default name will be generated. |
| `volume_in_gb` | integer | No | Optional size in GB for the persistent volume to attach to each pod. |
| `start_jupyter` | boolean | No | Optional flag to automatically start JupyterLab on each pod. Default is false. |
| `data_center_id` | string | No | Optional data center ID to specify the geographical location for cluster deployment. |
| `min_cuda_version` | string | No | Optional minimum CUDA version required for the cluster. |
| `gpu_count_per_pod` | integer | Yes | Integer specifying the number of GPUs per pod. Must be at least 1. |
| `network_volume_id` | string | No | Optional network volume ID to attach to all pods in the cluster for shared storage. |
| `volume_mount_path` | string | No | Optional path where the volume should be mounted inside the container. |
| `container_disk_in_gb` | integer | No | Optional size in GB for the container disk. This is ephemeral storage that is reset when the pod restarts. |
| `allowed_cuda_versions` | array | No | Optional list of allowed CUDA versions for the cluster. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Secret

**Slug:** `RUNPOD_CREATE_SECRET`

Tool to create a new secure secret in RunPod for credential management. Use when you need to store sensitive values like API keys, passwords, or tokens that will be accessible in pods and endpoints via environment variables (RUNPOD_SECRET_<name>).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Unique identifier name for the secret. This name will be used to reference the secret in pods and endpoints (accessible via environment variable RUNPOD_SECRET_<name>). Must be unique within your account. |
| `value` | string | Yes | The secret value to store securely. This will be encrypted and stored securely by RunPod. |
| `description` | string | No | Optional human-readable description of what this secret is used for. Helps with secret management and documentation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Container Registry Authentication

**Slug:** `RUNPOD_DELETE_REGISTRY_AUTH`

Tool to delete container registry authentication from RunPod. Use when you need to remove stored registry credentials.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `registry_auth_id` | string | Yes | The ID of the container registry authentication to delete. This is the unique identifier returned when the registry authentication was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Template

**Slug:** `RUNPOD_DELETE_TEMPLATE`

Tool to remove a RunPod template via GraphQL mutation. Use when you need to delete a template that is no longer needed. The template must not be in use by any pods or assigned to any serverless endpoints, otherwise the operation will fail.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `template_name` | string | Yes | The name of the template to delete. The template must not be in use by any pods or assigned to any serverless endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get GPU Types

**Slug:** `RUNPOD_GET_GPU_TYPES`

Tool to retrieve available GPU types and their specifications, pricing, and availability from RunPod. Use when you need to find GPU options for deployment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `input` | object | No | Filter options for querying GPU types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get authenticated user info

**Slug:** `RUNPOD_GET_MYSELF`

Retrieve basic information about the authenticated user including ID, email, and security settings. Use this to get the current user's ID, email address, terms of service status, and MFA settings. Note: Access to financial fields (balance, spending, etc.) requires elevated API key permissions.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Pod Details

**Slug:** `RUNPOD_GET_POD`

Retrieve details of a specific RunPod pod by its unique pod ID. Returns pod configuration including GPU count, memory, cost, and status. Use when you need to check the current state or configuration of an existing pod.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pod_id` | string | Yes | The unique identifier of the pod to retrieve. This is the pod ID assigned by RunPod when the pod was created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List CPU Types

**Slug:** `RUNPOD_LIST_CPU_TYPES`

Tool to retrieve available CPU types and their specifications from RunPod. Use when you need to view CPU options for provisioning pods or selecting hardware configurations.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Serverless Endpoint

**Slug:** `RUNPOD_SAVE_ENDPOINT`

Tool to create or update a RunPod serverless endpoint with GPU configuration and scaling settings. Use when configuring new GPU-accelerated serverless endpoints or modifying existing endpoint parameters. Include 'id' parameter to update an existing endpoint, omit it to create a new one.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Endpoint ID to update an existing endpoint. If provided, the mutation will update the existing endpoint instead of creating a new one. Omit this field to create a new endpoint. |
| `name` | string | Yes | Name of the endpoint (required for creation). Must be a descriptive identifier for the serverless endpoint. |
| `gpu_ids` | string | Yes | GPU type identifier for the endpoint (required for creation). Examples: 'NVIDIA RTX A4000', 'NVIDIA A40', 'NVIDIA RTX A5000'. Specify the exact GPU model string from RunPod's available GPU types. |
| `locations` | string | No | Comma-separated list of data center locations where the endpoint should run. Example: 'US-CA-1,US-OR-1'. If not specified, RunPod will choose automatically. |
| `scaler_type` | string | No | Type of autoscaling algorithm to use. Options: 'QUEUE_DELAY' (scale based on queue wait time), 'REQUEST_COUNT' (scale based on number of requests). QUEUE_DELAY is recommended for most use cases. |
| `template_id` | string | Yes | Template ID for the endpoint configuration (required for creation). This is the ID of a pre-configured template in your RunPod account. |
| `workers_max` | integer | No | Maximum number of workers (GPU instances) to scale up to. This is the upper limit for autoscaling. Must be >= workers_min. |
| `workers_min` | integer | No | Minimum number of workers (GPU instances) to keep running. Set to 0 to allow scaling down to zero when idle. Set to 1 or higher to maintain always-on capacity. |
| `idle_timeout` | integer | No | Idle timeout in seconds before workers are scaled down. Workers will be terminated after being idle for this duration. Common values: 5, 10, 30, 60. |
| `scaler_value` | integer | No | Target value for the scaler. For QUEUE_DELAY: target delay in seconds before scaling up. For REQUEST_COUNT: target number of requests per worker. Common values: 1-10 for QUEUE_DELAY, 1-100 for REQUEST_COUNT. |
| `network_volume_id` | string | No | Network volume ID to attach to the endpoint for persistent storage. If specified, this network volume will be mounted to all workers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Container Registry Authentication

**Slug:** `RUNPOD_SAVE_REGISTRY_AUTH`

Tool to save container registry authentication credentials for accessing private Docker images in RunPod. Use when you need to store credentials for a private container registry.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | A user-defined name for the container registry authentication credential. This name must be unique across all registry authentications in your account. |
| `password` | string | Yes | The password for authenticating with the container registry. |
| `username` | string | Yes | The username for authenticating with the container registry. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Save Template

**Slug:** `RUNPOD_SAVE_TEMPLATE`

Tool to create a new RunPod template or update an existing one with container configuration. Use when you need to define reusable pod/serverless configurations with specific images, environment variables, and resource allocations. For serverless templates, always set volumeInGb to 0.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `env` | array | No | List of environment variables to set in the container. Each entry must have 'key' and 'value' fields. Pass empty array if no env vars needed. |
| `name` | string | Yes | Unique name for the template. Must be unique across your account. Used to identify the template for pod or serverless deployment. |
| `ports` | string | No | Comma-separated list of ports to expose from the container. Format: 'port/protocol' or just 'port'. Example: '8080/http,8888/http' |
| `readme` | string | No | Markdown-formatted readme documentation for the template. Use this to document usage instructions, requirements, and configuration details. |
| `image_name` | string | Yes | Docker image to use for the template. Can be from Docker Hub or a private registry. Include the full image path with tag. |
| `docker_args` | string | No | Additional Docker arguments to pass when starting the container. Use this for advanced Docker configuration. Leave empty if not needed. |
| `template_id` | string | No | ID of an existing template to update. Leave empty to create a new template. Provide the template ID to modify an existing template. |
| `volume_in_gb` | integer | Yes | Network volume size in gigabytes for persistent storage. Set to 0 if no persistent volume is needed. For serverless templates, always use 0. |
| `is_serverless` | boolean | Yes | Whether this template is for serverless endpoints (true) or standard pods (false). Serverless templates must have volumeInGb set to 0. |
| `volume_mount_path` | string | No | Mount path for the network volume inside the container. Only applicable if volumeInGb > 0. Example: /workspace or /data |
| `container_disk_in_gb` | integer | Yes | Container disk size in gigabytes. This is ephemeral storage that gets reset on pod restart. Minimum 10 GB recommended. Used for temporary files and cache. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Registry Auth

**Slug:** `RUNPOD_UPDATE_REGISTRY_AUTH`

Tool to update existing container registry authentication credentials in RunPod. Use when you need to modify the username or password for an existing registry authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The authentication credential identifier to update |
| `password` | string | Yes | The new password for registry authentication |
| `username` | string | Yes | The new username for registry authentication |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User Settings

**Slug:** `RUNPOD_UPDATE_USER_SETTINGS`

Tool to update current user settings (e.g., SSH public key) in RunPod. Use when you need to configure SSH access to pods by setting the user's SSH public key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pub_key` | string | Yes | SSH public key to associate with the user account. This key will be used for SSH access to pods. Must be a valid SSH public key in OpenSSH format (e.g., 'ssh-rsa AAAAB3...' or 'ssh-ed25519 AAAAC3...'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
