FeaturesOrganizationsOrganization Settings

Organization Settings

⚠️
**Important Note**: Organizations and Teams features are currently in active development. You may encounter some work-in-progress UI or experimental functionality as we refine these features for a mature production release.

Configure your organization’s profile, security, and global preferences.

Accessing Settings

  1. Navigate to your organization
  2. Click Settings in the sidebar
  3. 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.com

Upload custom branding:

Logo Requirements

  • Recommended size: 512x512 px
  • Formats: PNG, JPG, SVG
  • Max file size: 2 MB
  • Transparent background recommended

Upload Process

  1. Click Change Logo
  2. Select image file
  3. Crop/adjust if needed
  4. Save changes
  5. 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-US

Member 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: false

Member Limits

Configure member limits:

limits:
  max_members: 100
  warn_at: 90  # Send warning at 90% capacity
  enforce: true  # Block new members at limit

Security 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: true

Session 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: true

Bypass for Owners: Optional

API Security

API Key Restrictions

api:
  require_ip_whitelist: true
  max_keys_per_member: 5
  default_expiration: 90d
  allow_permanent_keys: false

Rate 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: write

Auto-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: true

Custom 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: true

Webhook Events

  • review.started
  • review.completed
  • review.failed
  • member.added
  • member.removed
  • team.created
  • repository.connected
  • repository.disconnected

Other Integrations

Jira

jira:
  site: acme.atlassian.net
  project_key: ENG
  link_reviews_to_issues: true

PagerDuty

pagerduty:
  service_key: xxxxxxxxxxxxx
  alert_on_security_issues: true

Notification 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: weekly

In-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

  1. Click Upgrade/Downgrade
  2. Select new plan
  3. Review changes
  4. Confirm

Learn more about billing β†’

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: false

Notifications

  • 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 members

OIDC

oidc:
  enabled: true
  provider: auth0
  client_id: xxxxxxxxxxxxx
  client_secret: xxxxxxxxxxxxx
  domain: acme.auth0.com

SCIM Provisioning

scim:
  enabled: true
  endpoint: https://api.mesrai.com/scim/v2/organizations/{orgId}
  token: scim_xxxxxxxxxxxxx
  sync_frequency: hourly

Custom Domain

Setup Custom Domain

  1. Choose subdomain: reviews.acme.com
  2. Add DNS records:
CNAME reviews.acme.com β†’ mesrai.com
TXT   reviews.acme.com β†’ mesrai-verification=xxxxx
  1. Verify domain ownership
  2. Enable SSL certificate
  3. 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: exponential

API Keys

  • Organization-level keys
  • Member-level keys
  • Service account keys
  • Key rotation policy

Danger Zone

Transfer Ownership

Transfer organization to another Owner:

  1. Select new Owner
  2. Confirm with password
  3. New Owner must accept
  4. Original Owner becomes Admin

Delete Organization

Permanent deletion - cannot be undone:

  1. Click Delete Organization
  2. Type organization name to confirm
  3. Enter password
  4. Confirm deletion
  5. 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?