> ## Documentation Index
> Fetch the complete documentation index at: https://portkey-docs-mintlify-add-terraform-provider-docs-72855.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Roo Code

> Add enterprise-grade observability, cost tracking, and governance to your Roo AI coding assistant

Roo is an AI coding assistant that integrates directly into your VS Code environment, providing autonomous coding capabilities. While Roo offers powerful AI assistance for development tasks, Portkey adds essential enterprise controls for production deployments:

* **Unified AI Gateway** - Single interface for 1600+ LLMs with API key management
* **Centralized AI observability**: Real-time usage tracking for 40+ key metrics and logs for every request
* **Governance** - Real-time spend tracking, set budget limits and RBAC in your Roo setup
* **Security Guardrails** - PII detection, content filtering, and compliance controls

This guide will walk you through integrating Portkey with Roo and setting up essential enterprise features including usage tracking, access controls, and budget management.

<Note>
  If you are an enterprise looking to standardize Roo usage across your development teams, [check out this section](#3-set-up-enterprise-governance-for-roo).
</Note>

# 1. Setting up Portkey

Portkey allows you to use 1600+ LLMs with your Roo Code setup, with minimal configuration required. Let's set up the core components in Portkey that you'll need for integration.

<Steps>
  <Step title="Create an Integration">
    Navigate to the [Integrations](https://app.portkey.ai/integrations) section on Portkey's Sidebar. This is where you'll connect your LLM providers.

    1. Find your preferred provider (e.g., OpenAI, Anthropic, etc.)
    2. Click **Connect** on the provider card
    3. In the "Create New Integration" window:
       * Enter a **Name** for reference
       * Enter a **Slug** for the integration
       * Enter your **API Key and other provider specific details** for the provider
    4. Click **Next Step**

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/qsr0evnTREXEwQWU/images/product/model-catalog/integrations-page.png?fit=max&auto=format&n=qsr0evnTREXEwQWU&q=85&s=bc86c67ee300c29c51ca355f13cedf19" width="500" data-path="images/product/model-catalog/integrations-page.png" />
    </Frame>

    <Note>
      In your next step you'll see workspace provisioning options. You can select the default "Shared Team Workspace" if this is your first time OR chose your current one.
    </Note>
  </Step>

  <Step title="Configure Models">
    On the model provisioning page:

    * Leave all models selected (or customize)
    * Toggle Automatically enable new models if desired

    Click **Create Integration** to complete the integration

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/hAiIWTYl1V3E6iN6/images/product/model-catalog/model-provisioning-page.png?fit=max&auto=format&n=hAiIWTYl1V3E6iN6&q=85&s=daa18a4ca1743dad42c0e5560bdb43c4" width="500" data-path="images/product/model-catalog/model-provisioning-page.png" />
    </Frame>
  </Step>

  <Step title="Copy the Provider Slug">
    Once your Integration is created:

    1. Go to [Model Catalog](https://app.portkey.ai/model-catalog) → **Models** tab
    2. Find and click on you your model button (if your model is not visible, you need to edit your integration from the last step)
    3. Copy the **slug** (e.g., `@openai-dev/gpt-4o`)

    <Note>
      We recommend clicking the `Run Test Request` button on this step to verify your integration. If you see the error: `You do not have enough permissions to execute this request`, you’ll need to create a **User API Key** for this step to work properly.

      You can create one [here](https://app.portkey.ai/api-keys). You should be able to see simple chat request output on this step.
    </Note>

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/hAiIWTYl1V3E6iN6/images/product/model-catalog/model-integration-model-box.png?fit=max&auto=format&n=hAiIWTYl1V3E6iN6&q=85&s=bb5f0b4800a885873c4e1decac352894" width="500" data-path="images/product/model-catalog/model-integration-model-box.png" />
    </Frame>

    <Note>
      This is your unique identifier - you'll need it for the next step. This slug is basically `@your-provider-slug/your-model-name`
    </Note>
  </Step>

  <Step title="Create Default Config">
    Portkey's [config](/product/ai-gateway/configs) is a JSON object used to define routing rules for requests to your gateway. You can create these configs in the Portkey app and reference them in requests via the config ID. For this setup, we’ll create a simple config using your provider (OpenAI) and model (gpt-4o).

    1. Go to [Configs](https://app.portkey.ai/configs) in Portkey dashboard
    2. Create new config with:
       ```json theme={null}
       {
           "override_params": {
             "model": "@YOUR_SLUG-FROM-LAST_STEP" // example: @openai-test/gpt-4o-mini
           }
       }
       ```
    3. Save and note the Config ID & Name for the next step

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/qsr0evnTREXEwQWU/images/product/model-catalog/default-config-model-catalog.png?fit=max&auto=format&n=qsr0evnTREXEwQWU&q=85&s=37811084982843170706c3a9e21f69c8" width="600" data-path="images/product/model-catalog/default-config-model-catalog.png" />
    </Frame>
  </Step>

  <Step title="Configure Portkey API Key">
    Finally, create a Portkey API key:

    1. Go to [API Keys](https://app.portkey.ai/api-keys) in Portkey
    2. Create new API key
    3. Select the config that you create from previous step
    4. Generate and save your API key

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/6LWaVLzZXH3ffglG/images/integrations/api-key.png?fit=max&auto=format&n=6LWaVLzZXH3ffglG&q=85&s=b17358a88cae39149f0a7a9c1627f463" width="300" data-path="images/integrations/api-key.png" />
    </Frame>

    <Note>
      Save your API key securely - you'll need it for Roo Code integration.
    </Note>
  </Step>
</Steps>

<Check>
  🎉 Voila, Setup complete! You now have everything needed to integrate Portkey with your application.
</Check>

# 2. Integrate Portkey with Roo

Now that you have your Portkey components set up, let's connect them to Roo. Since Portkey provides OpenAI API compatibility, integration is straightforward and requires just a few configuration steps in your VS Code settings.

<Note>
  You need your Portkey API Key from [Step 1](#1-setting-up-portkey) before going further.
</Note>

### Opening Roo Settings

1. Open VS Code with Roo installed
2. Click on the Roo icon in your github activity bar
3. Click on the settings gear icon ⚙️ in the Roo tab

### Method 1: Using Default Config (Recommended)

This method uses the default config you created in Portkey, making it easier to manage model settings centrally.

1. In the Roo settings, navigate to **Providers**
2. Configure the following settings:
   * **API Provider**: Select `OpenAI Compatible`
   * **Base URL**: `https://api.portkey.ai/v1`
   * **OpenAI API Key**: Your Portkey API key from the setup
   * **Model**: `dummy` (since the model is defined in your Portkey config)

<Note>
  Using a default config with `override_params` is recommended as it allows you to manage all model settings centrally in Portkey, reducing maintenance overhead.
</Note>

### Method 2: Using Custom Headers

If you prefer more direct control or need to use multiple providers dynamically, you can pass Portkey headers directly:

1. Configure the basic settings as in Method 1:
   * **API Provider**: `OpenAI Compatible`
   * **Base URL**: `https://api.portkey.ai/v1`
   * **API Key**: Your Portkey API key
   * **Model ID**: Your desired model (e.g., `gpt-4o`, `claude-3-opus-20240229`)

2. Add custom headers by clicking the `+` button in the Custom Headers section:

   ```
   x-portkey-provider: YOUR_PROVIDER
   ```

   Optional headers:

   ```
   x-portkey-provider: google  // Only if not using virtual key
   x-portkey-config: YOUR_CONFIG_ID  // For additional config
   ```

<Note>
  Custom headers give you flexibility but require updating headers in Roo whenever you want to change providers or models.
</Note>

You can now use Roo with all of Portkey's enterprise features enabled. Monitor your requests and usage in the [Portkey Dashboard](https://app.portkey.ai/dashboard).

# 3. Set Up Enterprise Governance for Roo Code

**Why Enterprise Governance?**
If you are using Roo Code inside your orgnaization, you need to consider several governance aspects:

* **Cost Management**: Controlling and tracking AI spending across teams
* **Access Control**: Managing team access and workspaces
* **Usage Analytics**: Understanding how AI is being used across the organization
* **Security & Compliance**: Maintaining enterprise security standards
* **Reliability**: Ensuring consistent service across all users
* **Model Management**: Managing what models are being used in your setup

Portkey adds a comprehensive governance layer to address these enterprise

**Enterprise Implementation Guide**

<AccordionGroup>
  <Accordion title="Step 1: Implement Budget Controls & Rate Limits">
    ### Step 1: Implement Budget Controls & Rate Limits

    Model Catalog enables you to have granular control over LLM access at the team/department level. This helps you:

    * Set up [budget limits](/product/ai-gateway/virtual-keys/budget-limits)
    * Prevent unexpected usage spikes using Rate limits
    * Track departmental spending

    #### Setting Up Department-Specific Controls:

    1. Navigate to [Model Catalog](https://app.portkey.ai/model-catalog) in Portkey dashboard
    2. Create new Provider for each engineering team with budget limits and rate limits
    3. Configure department-specific limits

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/qsr0evnTREXEwQWU/images/product/model-catalog/create-provider-page.png?fit=max&auto=format&n=qsr0evnTREXEwQWU&q=85&s=fe6a1e07adbaa4bf89de5eb1a997fff4" width="500" data-path="images/product/model-catalog/create-provider-page.png" />
    </Frame>
  </Accordion>

  <Accordion title="Step 2: Define Model Access Rules">
    ### Step 2: Define Model Access Rules

    As your AI usage scales, controlling which teams can access specific models becomes crucial. You can simply manage AI models in your org by provisioning model at the top integration level.

    <Frame>
      <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/hAiIWTYl1V3E6iN6/images/product/model-catalog/model-provisioning-page.png?fit=max&auto=format&n=hAiIWTYl1V3E6iN6&q=85&s=daa18a4ca1743dad42c0e5560bdb43c4" width="500" data-path="images/product/model-catalog/model-provisioning-page.png" />
    </Frame>
  </Accordion>

  <Accordion title="Step 4: Set Routing Configuration">
    Portkey allows you to control your routing logic very simply with it's Configs feature. Portkey Configs provide this control layer with things like:

    * **Data Protection**: Implement guardrails for sensitive code and data
    * **Reliability Controls**: Add fallbacks, load-balance, retry and smart conditional routing logic
    * **Caching**: Implement Simple and Semantic Caching. and more....

    #### Example Configuration:

    Here's a basic configuration to load-balance requests to OpenAI and Anthropic:

    ```json theme={null}
    {
    	"strategy": {
    		"mode": "load-balance"
    	},
    	"targets": [
    		{
    			"override_params": {
    				"model": "@YOUR_OPENAI_PROVIDER_SLUG/gpt-model"
    			}
    		},
    		{
    			"override_params": {
    				"model": "@YOUR_ANTHROPIC_PROVIDER/claude-sonnet-model"
    			}
    		}
    	]
    }
    ```

    Create your config on the [Configs page](https://app.portkey.ai/configs) in your Portkey dashboard. You'll need the config ID for connecting to Roo Code's setup.

    <Note>
      Configs can be updated anytime to adjust controls without affecting running applications.
    </Note>
  </Accordion>

  <Accordion title="Step 4: Implement Access Controls">
    ### Step 3: Implement Access Controls

    Create User-specific API keys that automatically:

    * Track usage per developer/team with the help of metadata
    * Apply appropriate configs to route requests
    * Collect relevant metadata to filter logs
    * Enforce access permissions

    Create API keys through:

    * [Portkey App](https://app.portkey.ai/)
    * [API Key Management API](/api-reference/admin-api/control-plane/api-keys/create-api-key)

    Example using Python SDK:

    ```python theme={null}
    from portkey_ai import Portkey

    portkey = Portkey(api_key="YOUR_ADMIN_API_KEY")

    api_key = portkey.api_keys.create(
        name="frontend-engineering",
        type="organisation",
        workspace_id="YOUR_WORKSPACE_ID",
        defaults={
            "config_id": "your-config-id",
            "metadata": {
                "environment": "development",
                "department": "engineering",
                "team": "frontend"
            }
        },
        scopes=["logs.view", "configs.read"]
    )
    ```

    For detailed key management instructions, see our [API Keys documentation](/api-reference/admin-api/control-plane/api-keys/create-api-key).
  </Accordion>

  <Accordion title="Step 5: Deploy & Monitor">
    ### Step 4: Deploy & Monitor

    After distributing API keys to your engineering teams, your enterprise-ready Roo Code setup is ready to go. Each developer can now use their designated API keys with appropriate access levels and budget controls.
    Apply your governance setup using the integration steps from earlier sections
    Monitor usage in Portkey dashboard:

    * Cost tracking by engineering team
    * Model usage patterns for AI agent tasks
    * Request volumes
    * Error rates and debugging logs
  </Accordion>
</AccordionGroup>

<Check>
  ### Enterprise Features Now Available

  **Roo now has:**

  * Per-developer budget controls
  * Model access governance
  * Usage tracking & attribution
  * Code security guardrails
  * Reliability features for development workflows
</Check>

# Portkey Features

Now that you have enterprise-grade Roo setup, let's explore the comprehensive features Portkey provides to ensure secure, efficient, and cost-effective AI-assisted development.

### 1. Comprehensive Metrics

Using Portkey you can track 40+ key metrics including cost, token usage, response time, and performance across all your LLM providers in real time. Filter these metrics by developer, team, or project using custom metadata.

<Frame>
  <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/2eJr0Ah02F2VMAmj/images/integrations/observability.png?fit=max&auto=format&n=2eJr0Ah02F2VMAmj&q=85&s=84b4d4709503c65c51cfeef297fa9395" width="600" data-path="images/integrations/observability.png" />
</Frame>

### 2. Advanced Logs

Portkey's logging dashboard provides detailed logs for every request made by Roo. These logs include:

* Complete request and response tracking
* Code context and generation metrics
* Developer attribution
* Cost breakdown per coding session

<Frame>
  <img src="https://mintcdn.com/portkey-docs-mintlify-add-terraform-provider-docs-72855/IaH-e_OUk4WwW23Y/images/llms/openai/logs.png?fit=max&auto=format&n=IaH-e_OUk4WwW23Y&q=85&s=39c3a20ecc239351ccfda135e28ae4c6" width="3040" height="1764" data-path="images/llms/openai/logs.png" />
</Frame>

### 3. Unified Access to 250+ LLMs

Easily switch between 250+ LLMs for different coding tasks. Use GPT-4 for complex architecture decisions, Claude for detailed code reviews, or specialized models for specific languages - all through a single interface.

### 4. Advanced Metadata Tracking

Track coding patterns and productivity metrics with custom metadata:

* Language and framework usage
* Code generation vs completion tasks
* Time-of-day productivity patterns
* Project-specific metrics

<Card title="Custom Metadata" icon="tag" href="/product/observability/metadata" />

### 5. Enterprise Access Management

<CardGroup cols={2}>
  <Card title="Budget Controls" icon="coins" href="/product/ai-gateway/virtual-keys/budget-limits">
    Set and manage spending limits per developer or team. Prevent budget overruns with automatic cutoffs.
  </Card>

  <Card title="Single Sign-On (SSO)" icon="key" href="/product/enterprise-offering/org-management/sso">
    Enterprise-grade SSO integration for seamless developer onboarding and offboarding.
  </Card>

  <Card title="Organization Management" icon="building" href="/product/enterprise-offering/org-management">
    Hierarchical structure with teams, projects, and role-based access control for development organizations.
  </Card>

  <Card title="Access Rules & Audit Logs" icon="shield-check" href="/product/enterprise-offering/access-control-management#audit-logs">
    Comprehensive audit logging for security compliance and code generation tracking.
  </Card>
</CardGroup>

### 6. Reliability Features

<CardGroup cols={3}>
  <Card title="Fallbacks" icon="life-ring" href="/product/ai-gateway/fallbacks">
    Automatically switch between models if one fails, ensuring uninterrupted coding.
  </Card>

  <Card title="Conditional Routing" icon="route" href="/product/ai-gateway/conditional-routing">
    Route requests based on code complexity or language requirements.
  </Card>

  <Card title="Load Balancing" icon="balance-scale" href="/product/ai-gateway/load-balancing">
    Distribute requests across multiple API keys or providers.
  </Card>

  <Card title="Caching" icon="database" href="/product/ai-gateway/cache-simple-and-semantic">
    Cache common code patterns to reduce costs and improve response times.
  </Card>

  <Card title="Smart Retries" icon="refresh" href="/product/ai-gateway/automatic-retries">
    Automatic retry handling for failed requests with exponential backoff.
  </Card>

  <Card title="Budget Limits" icon="shield-check" href="/product/ai-gateway/virtual-keys/budget-limits">
    Enforce spending limits to control development costs.
  </Card>
</CardGroup>

### 7. Advanced Guardrails

Protect your codebase and enhance security with real-time checks on AI interactions:

* Prevent exposure of API keys and secrets
* Block generation of malicious code patterns
* Enforce coding standards and best practices
* Custom security rules for your organization
* License compliance checks

<Card title="Guardrails" icon="shield-check" href="/product/guardrails">
  Implement real-time protection for your development environment with automatic detection and filtering of sensitive code, credentials, and security vulnerabilities.
</Card>

# FAQs

<AccordionGroup>
  <Accordion title="How do I track costs per developer?">
    Portkey provides several ways to track developer costs:

    * Create separate Virtual Keys for each developer
    * Use metadata tags to identify developers
    * Set up developer-specific API keys
    * View detailed analytics in the dashboard
  </Accordion>

  <Accordion title="What happens if a developer exceeds their budget?">
    When a developer reaches their budget limit:

    1. Further requests will be blocked
    2. The developer and admin receive notifications
    3. Coding history remains available
    4. Admins can adjust limits as needed
  </Accordion>

  <Accordion title="Can I use Roo with local or self-hosted models?">
    Yes! Portkey supports local models through Ollama and other self-hosted solutions. Configure your local endpoint as a custom provider in Portkey and use it with Roo just like any other provider.
  </Accordion>

  <Accordion title="How do I ensure code security with AI assistance?">
    Portkey provides multiple security layers:

    * Guardrails to prevent sensitive data exposure
    * Request/response filtering
    * Audit logs for all interactions
    * Custom security rules
    * PII detection and masking
  </Accordion>
</AccordionGroup>

# Next Steps

**Join our Community**

* [Discord Community](https://portkey.sh/discord-report)
* [GitHub Repository](https://github.com/Portkey-AI)

<Card title="Schedule a Demo" icon="calendar" href="https://portkey.sh/cline">
  Schedule a 1:1 call with our team to see how Portkey can transform your development workflow with Roo. Get personalized recommendations for your team's specific needs.
</Card>

<Note>
  For enterprise support and custom features for your development teams, contact our [enterprise team](https://calendly.com/portkey-ai).
</Note>
