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
- Navigate to Connections page
- Click Add Connection
- Select the provider (OpenAI, Anthropic, Groq, etc.)
- Enter connection details:
- Name: Descriptive name for this connection
- Endpoint URL: Provider API endpoint (if custom)
- API Key: Your API key for this provider
- Set Scope to Organization
- Configure billing mode
- 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:
- Subsequent org-pays requests are blocked
- Member receives an error message
- Admin is optionally notified
- 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:
- Organization connections scoped to the organization
- Public models available to all users
- 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
- Go to Connection Pools page
- Click Create Pool
- Add connections to the pool
- Configure load balancing strategy
- 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
- Verify member status is "active"
- Check member hasn't exceeded spending limit
- Confirm connection is organization-scoped
- Verify connection is healthy
High Costs
- Review usage by member
- Identify high-cost models
- Consider switching to member-pays for expensive models
- Implement stricter spending limits
Connection Errors
- Check connection health status
- Verify API key is valid
- Check provider status page
- Review rate limit status
Next Steps
- Managing Members - Manage team access
- Creating an Organization - Organization setup
- Organizations Overview - Back to overview