Organization Settings
Comprehensive guide to configuring your organization settings.
Accessing Settings
- Navigate to your organization
- Click Settings in the sidebar
- Or click organization name → Settings
Profile Settings
Basic Information
Organization Name
- Unique identifier
- 3-50 characters
- Cannot be changed after creation
- Used in URLs and API calls
Display Name
- Human-readable name
- Can be changed anytime
- Shown in UI and emails
Description
- Brief organization purpose
- Max 500 characters
- Visible to all members
Website
- Organization website URL
- Optional
- Displayed in profile
Example:
name: acme-engineering
display_name: ACME Engineering Team
description: Engineering department for ACME Corporation
website: https://engineering.acme.comOrganization Logo
Upload custom branding:
Logo Requirements
- Recommended size: 512x512 px
- Formats: PNG, JPG, SVG
- Max file size: 2 MB
- Transparent background recommended
Upload Process
- Click Change Logo
- Select image file
- Crop/adjust if needed
- Save changes
- Logo updates across platform
Organization Metadata
Additional information:
metadata:
industry: Software Development
company_size: 50-100
location: San Francisco, CA
timezone: America/Los_Angeles
language: en-USMember Settings
Default Role
Set default role for new members:
- Owner: Full control (not recommended)
- Admin: Management access
- Member: Read access (recommended)
Member Approval
Control how members join:
Auto-Approval
- Members join immediately upon invitation acceptance
- Recommended for trusted domains
Manual Approval
- Require Owner/Admin approval before granting access
- Extra security for sensitive organizations
Domain-Based Auto-Join
auto_join:
enabled: true
domains:
- acme.com
- acme.io
default_role: MEMBER
require_approval: falseMember Limits
Configure member limits:
limits:
max_members: 100
warn_at: 90 # Send warning at 90% capacity
enforce: true # Block new members at limitSecurity Settings
Two-Factor Authentication
Require 2FA for all members
- Enforcement level: Required/Optional
- Grace period: 7/14/30 days
- Bypass for SSO users: Yes/No
two_factor:
required: true
enforcement: strict
grace_period_days: 7
exempt_sso_users: trueSession Management
Session Timeout
- Idle timeout: 15/30/60/120 minutes
- Absolute timeout: 8/12/24 hours
- Remember device: 30 days
Concurrent Sessions
- Max sessions per user: 1/3/5/unlimited
- Force logout on password change: Yes/No
IP Whitelist
Restrict access by IP address:
ip_whitelist:
enabled: true
allowed_ranges:
- 203.0.113.0/24 # Office network
- 198.51.100.0/24 # VPN
block_all_others: trueBypass for Owners: Optional
API Security
API Key Restrictions
api:
require_ip_whitelist: true
max_keys_per_member: 5
default_expiration: 90d
allow_permanent_keys: falseRate Limiting
- Global: 1000 requests/hour
- Per-key: 100 requests/hour
- Burst: 50 requests/minute
Integration Settings
GitHub Integration
GitHub App Configuration
github:
installation_id: 12345678
organization: acme-corp
repositories: all # or specific list
permissions:
- pull_requests: read_write
- contents: read
- issues: writeAuto-Review Settings
auto_review:
enabled: true
on_events:
- pull_request.opened
- pull_request.synchronize
exclude_branches:
- main
- production
exclude_paths:
- "*.md"
- "docs/**"Configure GitHub integration →
Slack Integration
Workspace Connection
slack:
workspace_id: T01234567
workspace_name: acme-team
default_channel: "#code-reviews"
notifications:
review_completed: true
member_joined: true
high_usage: trueCustom Notifications
- Review completed → #code-reviews
- Security issues → #security
- High token usage → #engineering-leads
Webhook Configuration
Organization Webhooks
webhooks:
- name: "Production Events"
url: "https://api.acme.com/webhooks/mesrai"
events:
- review.completed
- review.failed
- member.added
- repository.connected
secret: "whsec_xxxxxxxxxxxxx"
active: trueWebhook Events
review.startedreview.completedreview.failedmember.addedmember.removedteam.createdrepository.connectedrepository.disconnected
Other Integrations
Jira
jira:
site: acme.atlassian.net
project_key: ENG
link_reviews_to_issues: truePagerDuty
pagerduty:
service_key: xxxxxxxxxxxxx
alert_on_security_issues: trueNotification Settings
Email Notifications
Notification Frequency
- Real-time (immediate)
- Hourly digest
- Daily digest
- Weekly digest
Notification Types
email:
review_completed: real-time
member_joined: daily
high_token_usage: real-time
security_issues: real-time
billing_alerts: real-time
weekly_summary: weeklyIn-App Notifications
Configure in-app alerts:
- Enable/disable per event type
- Show desktop notifications
- Play sound on notifications
- Badge count on icon
Slack Notifications
Channel Routing
slack_routing:
default: "#code-reviews"
security_issues: "#security"
billing: "#finance"
member_changes: "#admin"Billing Settings
Subscription Plan
Current plan information:
- Plan name: Team/Enterprise
- Monthly cost: $X/month
- Billing cycle: Monthly/Annual
- Next billing date: YYYY-MM-DD
Change Plan
- Click Upgrade/Downgrade
- Select new plan
- Review changes
- Confirm
Payment Methods
Add Payment Method
- Credit/Debit card
- ACH transfer (Enterprise)
- Invoice billing (Enterprise)
Primary Payment Method
- Set default payment method
- Backup payment methods
- Auto-update expiring cards
Usage Limits
Token Limits
usage_limits:
monthly_tokens: 1000000
warn_at: 800000 # 80%
hard_limit: true
overage_allowed: falseNotifications
- 50% usage warning
- 80% usage alert
- 100% usage limit reached
Invoices & Receipts
- View past invoices
- Download receipts
- Export for accounting
- Set invoice email
Advanced Settings
Single Sign-On (SSO)
Configure SSO Provider
SAML 2.0
sso:
enabled: true
provider: okta
entity_id: https://acme.okta.com
sso_url: https://acme.okta.com/app/mesrai/sso
certificate: "-----BEGIN CERTIFICATE-----..."
enforce: true # Require SSO for all membersOIDC
oidc:
enabled: true
provider: auth0
client_id: xxxxxxxxxxxxx
client_secret: xxxxxxxxxxxxx
domain: acme.auth0.comSCIM Provisioning
scim:
enabled: true
endpoint: https://api.mesrai.com/scim/v2/organizations/{orgId}
token: scim_xxxxxxxxxxxxx
sync_frequency: hourlyCustom Domain
Setup Custom Domain
- Choose subdomain:
reviews.acme.com - Add DNS records:
CNAME reviews.acme.com → mesrai.com
TXT reviews.acme.com → mesrai-verification=xxxxx- Verify domain ownership
- Enable SSL certificate
- Domain active in 24-48 hours
SSL Certificate
- Auto-provisioned via Let’s Encrypt
- Auto-renewal every 90 days
- Custom certificate upload (Enterprise)
Audit Logging
Enable Audit Logs
audit_logging:
enabled: true
retention: 365 # days
events:
- all # or specific events
export:
format: json
destination: s3://acme-audit-logs/Logged Events
- Member additions/removals
- Role changes
- Settings changes
- Repository connections
- Review activity
- API key usage
Export Audit Logs
- Download as JSON/CSV
- Export to SIEM
- Schedule automatic exports
- Webhook delivery
Data Residency
Choose Data Region
- US East (Virginia)
- US West (Oregon)
- EU (Frankfurt)
- Asia Pacific (Singapore)
Data Transfer
- Request data export
- Transfer between regions
- Delete organization data
API Configuration
API Access
api:
enabled: true
version: v1
rate_limit: 1000/hour
allowed_ips:
- 203.0.113.0/24
webhooks:
max_endpoints: 10
retry_policy: exponentialAPI Keys
- Organization-level keys
- Member-level keys
- Service account keys
- Key rotation policy
Danger Zone
Transfer Ownership
Transfer organization to another Owner:
- Select new Owner
- Confirm with password
- New Owner must accept
- Original Owner becomes Admin
Delete Organization
Permanent deletion - cannot be undone:
- Click Delete Organization
- Type organization name to confirm
- Enter password
- Confirm deletion
- Organization deleted immediately
What Gets Deleted
- ✅ All teams
- ✅ All repositories connections
- ✅ All members (removed from org)
- ✅ All settings
- ✅ All analytics data
- ✅ All billing data
What Remains
- ❌ Member personal accounts
- ❌ GitHub repositories (not deleted)
- ❌ Past invoices (available for download for 90 days)
Settings API
Get Settings
GET /v1/organizations/{orgId}/settings
Response:
{
"profile": {
"name": "acme-engineering",
"displayName": "ACME Engineering"
},
"security": {
"twoFactorRequired": true,
"sessionTimeout": 3600
}
}Update Settings
PATCH /v1/organizations/{orgId}/settings
{
"profile": {
"displayName": "ACME Engineering Team"
},
"security": {
"twoFactorRequired": true
}
}Next Steps
Support
Need help with settings?