Shared Resources

Organizations enable teams to share connections, centralize billing, and track usage across members.

Shared Connections

What are Shared Connections?

Connections define how your organization accesses AI model providers. When a connection is shared with an organization:

  • All members can use the models provided by that connection
  • API keys are managed centrally (members don't need their own)
  • Usage is tracked per member against the shared connection
  • Billing can be organization-funded or member-funded

Creating Organization Connections

  1. Navigate to Connections page
  2. Click Add Connection
  3. Select the provider (OpenAI, Anthropic, Groq, etc.)
  4. Enter connection details:
    • Name: Descriptive name for this connection
    • Endpoint URL: Provider API endpoint (if custom)
    • API Key: Your API key for this provider
  5. Set Scope to Organization
  6. Configure billing mode
  7. Save the connection

Connection Scopes

Scope Description
Personal Only you can use this connection
Organization All organization members can use this connection

Billing Modes

Organization Pays (Org-Funded)

The organization covers all usage costs:

  • Members use models at no personal cost
  • Organization credits are deducted
  • Best for approved team tools and workflows
  • Consider setting spending limits

Member Pays (Self-Funded)

Members pay from their own credits:

  • Organization provides access, not payment
  • Member's personal credits are deducted
  • Suitable for optional or experimental models
  • No impact on organization budget

Via API

POST /api/connections
Content-Type: application/json
Authorization: Bearer <your-api-key>

{
  "name": "Team OpenAI",
  "provider_id": "openai",
  "endpoint_url": "https://api.openai.com/v1",
  "api_key": "sk-...",
  "scope": "organization",
  "billing_mode": "org_pays"
}

Centralized Billing

Organization Credit Pool

Organizations maintain a central credit balance for org-pays connections:

  • Credits are purchased by owners or admins
  • Used for organization-funded model access
  • Tracked separately from member personal credits
  • Viewable in Organization Billing dashboard

Adding Credits

POST /api/organizations/:org_id/credits
Content-Type: application/json
Authorization: Bearer <your-api-key>

{
  "amount": 100.00,
  "description": "Monthly credit top-up"
}

Credit Transactions

View transaction history:

  • Credit purchases
  • Usage deductions
  • Refunds or adjustments
  • Manual credits (promotional)

Usage Tracking

Organization Usage Overview

The Organization Usage page provides:

  • Total requests across all members
  • Token consumption by model
  • Cost breakdown by member
  • Daily and monthly trends

Usage Metrics

Metric Description
Request Count Total API requests made
Input Tokens Tokens sent to models
Output Tokens Tokens generated by models
Total Cost Dollar amount spent
Avg Latency Average response time

Filtering Usage Data

Filter usage reports by:

  • Date Range: Custom start and end dates
  • Member: Specific team member
  • Model Category: Specific model or provider

Via API

GET /api/organizations/:org_id/usage?start_date=2024-01-01&end_date=2024-01-31
Authorization: Bearer <your-api-key>

Response:

{
  "success": true,
  "usage": {
    "period": {
      "start_date": "2024-01-01",
      "end_date": "2024-01-31"
    },
    "summary": {
      "active_users": 12,
      "models_used": 5,
      "total_requests": 15420,
      "total_tokens": 2500000,
      "total_cost_usd": 125.50,
      "avg_latency_ms": 450
    },
    "daily_breakdown": [...],
    "detailed_usage": [...]
  }
}

Member Usage Visibility

  • Owners/Admins: Can view all member usage details
  • Other Roles: Can only view their own usage

Spending Limits

Organization-Level Limits

Set overall spending controls:

PUT /api/organizations/:org_id
Content-Type: application/json
Authorization: Bearer <your-api-key>

{
  "spending_limit_monthly": 1000.00
}

Per-Member Limits

Control individual member spending:

Limit Description
Monthly Limit Maximum spending per calendar month
Daily Limit Maximum spending per day

Setting Member Limits

PUT /api/organizations/:org_id/spending-limits
Content-Type: application/json
Authorization: Bearer <your-api-key>

{
  "user_id": "member-uuid",
  "monthly_limit": 50.00,
  "daily_limit": 5.00
}

What Happens at Limit

When a member reaches their limit:

  1. Subsequent org-pays requests are blocked
  2. Member receives an error message
  3. Admin is optionally notified
  4. Limit resets at the next period

Viewing Limit Status

Track limit usage:

{
  "user_id": "uuid",
  "monthly_limit": 50.00,
  "daily_limit": 5.00,
  "current_month_spent": 32.50,
  "current_day_spent": 2.10
}

Model Access Control

Which Models are Available?

Members can access models from:

  1. Organization connections scoped to the organization
  2. Public models available to all users
  3. Personal connections (member's own, if any)

Model Discovery

Members see available models on the Models page:

  • Organization models are marked with an organization badge
  • Billing mode (org-pays/member-pays) is indicated
  • Cost per token is displayed

Connection Pools

What are Connection Pools?

Connection pools group multiple connections for load balancing and failover:

  • Distribute requests across multiple API keys
  • Automatic failover if one connection fails
  • Better rate limit handling
  • Higher availability for critical workflows

Creating a Pool

  1. Go to Connection Pools page
  2. Click Create Pool
  3. Add connections to the pool
  4. Configure load balancing strategy
  5. Set the pool scope to Organization

Pool Strategies

Strategy Description
Round Robin Alternate between connections
Random Random selection each request
Least Used Prefer connections with lower usage

Best Practices

Connection Management

  • Use descriptive names for connections
  • Rotate API keys periodically
  • Monitor connection health
  • Set up multiple connections for redundancy

Cost Control

  • Start with conservative spending limits
  • Review usage weekly during initial rollout
  • Adjust limits based on actual patterns
  • Use member-pays for experimental models

Security

  • Only admins should manage connections
  • Never share API keys directly with members
  • Audit connection access regularly
  • Remove unused connections

Monitoring

  • Set up alerts for unusual spending
  • Review member usage patterns monthly
  • Track which models are most used
  • Identify optimization opportunities

Troubleshooting

Member Cannot Access Models

  1. Verify member status is "active"
  2. Check member hasn't exceeded spending limit
  3. Confirm connection is organization-scoped
  4. Verify connection is healthy

High Costs

  1. Review usage by member
  2. Identify high-cost models
  3. Consider switching to member-pays for expensive models
  4. Implement stricter spending limits

Connection Errors

  1. Check connection health status
  2. Verify API key is valid
  3. Check provider status page
  4. Review rate limit status

Next Steps