> ## Documentation Index
> Fetch the complete documentation index at: https://docs.costa.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Rate Limits

> Costa API rate limits and usage guidelines

## Rate Limits by Model

<AccordionGroup>
  <Accordion title="costa/enterprise-coder-v1" icon="code">
    **Standard Coding Model**

    **Enterprise Tier**:

    * Requests: 5,000 per minute
    * Tokens: 1,000,000 per minute
    * Concurrent requests: 100

    **Professional Tier**:

    * Requests: 500 per minute
    * Tokens: 200,000 per minute
    * Concurrent requests: 20

    **Typical Usage**: 1 request = \~500-1,500 tokens
  </Accordion>

  <Accordion title="costa/secure-claude-3-5-sonnet" icon="shield">
    **Advanced Reasoning Model**

    **Enterprise Tier**:

    * Requests: 2,000 per minute
    * Tokens: 800,000 per minute
    * Concurrent requests: 50

    **Professional Tier**:

    * Requests: 200 per minute
    * Tokens: 100,000 per minute
    * Concurrent requests: 10

    **Typical Usage**: 1 request = \~1,000-4,000 tokens
  </Accordion>

  <Accordion title="costa/enterprise-gpt-4-turbo" icon="bolt">
    **Fast General Purpose Model**

    **Enterprise Tier**:

    * Requests: 8,000 per minute
    * Tokens: 1,500,000 per minute
    * Concurrent requests: 120

    **Professional Tier**:

    * Requests: 800 per minute
    * Tokens: 300,000 per minute
    * Concurrent requests: 25

    **Typical Usage**: 1 request = \~300-1,000 tokens
  </Accordion>

  <Accordion title="costa/compliance-assistant" icon="gavel">
    **Compliance Specialist Model**

    **Enterprise Tier**:

    * Requests: 1,000 per minute
    * Tokens: 500,000 per minute
    * Concurrent requests: 30

    **Professional Tier**:

    * Requests: 100 per minute
    * Tokens: 50,000 per minute
    * Concurrent requests: 5

    **Typical Usage**: 1 request = \~2,000-6,000 tokens
  </Accordion>
</AccordionGroup>

## Rate Limit Headers

Costa returns standard rate limit headers with every API response:

<CodeGroup>
  ```http Response Headers theme={null}
  HTTP/1.1 200 OK
  X-RateLimit-Limit-Requests: 5000
  X-RateLimit-Remaining-Requests: 4999
  X-RateLimit-Reset-Requests: 1640995200
  X-RateLimit-Limit-Tokens: 1000000
  X-RateLimit-Remaining-Tokens: 998500
  X-RateLimit-Reset-Tokens: 1640995200
  X-RateLimit-Limit-Concurrent: 100
  X-RateLimit-Used-Concurrent: 5
  ```

  ```python Python Rate Limit Handling theme={null}
  import requests
  import time

  def make_request_with_retry(url, headers, data, max_retries=3):
      for attempt in range(max_retries):
          response = requests.post(url, headers=headers, json=data)
          
          if response.status_code == 200:
              return response.json()
          elif response.status_code == 429:
              # Rate limit exceeded
              reset_time = int(response.headers.get('X-RateLimit-Reset-Requests', 0))
              wait_time = max(1, reset_time - int(time.time()))
              
              print(f"Rate limit exceeded. Waiting {wait_time} seconds...")
              time.sleep(wait_time)
          else:
              response.raise_for_status()
      
      raise Exception("Max retries exceeded")

  # Usage
  response = make_request_with_retry(
      "https://ai.costa.app/api/v1/chat/completions",
      headers={"Authorization": "Bearer costa_ent_your_key"},
      data={"model": "costa/enterprise-coder-v1", "messages": [...]}
  )
  ```
</CodeGroup>

## Error Responses

When rate limits are exceeded, Costa returns a `429 Too Many Requests` status:

<CodeGroup>
  ```json Rate Limit Error theme={null}
  {
    "error": {
      "message": "Rate limit exceeded for requests. Try again in 30 seconds.",
      "type": "rate_limit_error",
      "code": "rate_limit_exceeded",
      "details": {
        "limit_type": "requests",
        "reset_time": 1640995230,
        "retry_after": 30
      }
    }
  }
  ```

  ```json Token Limit Error theme={null}
  {
    "error": {
      "message": "Rate limit exceeded for tokens. Try again in 60 seconds.",
      "type": "rate_limit_error", 
      "code": "token_limit_exceeded",
      "details": {
        "limit_type": "tokens",
        "reset_time": 1640995260,
        "retry_after": 60
      }
    }
  }
  ```

  ```json Concurrent Request Error theme={null}
  {
    "error": {
      "message": "Too many concurrent requests. Maximum 100 allowed.",
      "type": "rate_limit_error",
      "code": "concurrent_limit_exceeded",
      "details": {
        "limit_type": "concurrent",
        "current_usage": 101,
        "limit": 100
      }
    }
  }
  ```
</CodeGroup>

## Rate Limit Optimization

### Token Optimization Strategies

<CardGroup cols={2}>
  <Card title="Input Optimization" icon="arrow-down">
    **Reduce Input Tokens**

    • Remove unnecessary whitespace and comments
    • Use concise, specific prompts
    • Exclude irrelevant code context
    • Summarize large code blocks
  </Card>

  <Card title="Output Optimization" icon="arrow-up">
    **Control Output Tokens**

    • Set appropriate `max_tokens` limits
    • Use specific instructions for concise responses
    • Request code snippets instead of full files
    • Use streaming for real-time applications
  </Card>
</CardGroup>

## Enterprise Features

### Dedicated Rate Limits

Enterprise customers can request dedicated rate limit pools:

<CardGroup cols={2}>
  <Card title="Team Isolation" icon="users">
    **Separate Limits per Team**

    • Independent rate limits for each development team
    • Prevent one team from affecting others
    • Custom limits based on team size and usage
  </Card>

  <Card title="Project Allocation" icon="folder">
    **Project-Specific Limits**

    • Allocate rate limits to specific projects
    • Priority queuing for critical applications
    • Burst capacity for deployment periods
  </Card>
</CardGroup>

### Rate Limit Monitoring

<AccordionGroup>
  <Accordion title="Dashboard Monitoring" icon="chart-line">
    **Real-time Usage Tracking**

    • Live rate limit consumption graphs
    • Historical usage patterns
    • Team and project breakdowns
    • Alert thresholds and notifications
  </Accordion>

  <Accordion title="API Monitoring" icon="code">
    **Programmatic Monitoring**

    • Rate limit usage API endpoints
    • Webhook notifications for limit approaches
    • Custom alerting integrations
    • Usage forecasting and planning
  </Accordion>
</AccordionGroup>

## Support

<CardGroup cols={2}>
  <Card title="Rate Limit Issues" icon="headset" href="mailto:support@costa.security">
    Contact support for rate limit increases or technical issues
  </Card>

  <Card title="Enterprise Sales" icon="building" href="mailto:enterprise@costa.security">
    Discuss custom rate limits and dedicated infrastructure options
  </Card>
</CardGroup>

***

<Info>
  **Rate Limit Increases**: Enterprise customers can request rate limit increases based on legitimate business needs. Contact our support team with your use case details.
</Info>
