Features
Organizations
Overview
Organizations in Arches provide multi-tenancy support, enabling teams to collaborate on projects with proper isolation, member management, and billing integration.
Core Concepts
Multi-Tenancy Architecture
- Complete Data Isolation: Each organization's data is fully isolated
- Resource Scoping: All resources (workflows, content, settings) belong to an organization
- Cross-Organization Access: Users can belong to multiple organizations
- Organization Switching: Seamless context switching between organizations
Organization Structure
Code
Member Management
Roles and Permissions
Owner
- Full organization control
- Billing management
- Delete organization
- Transfer ownership
Admin
- Member management
- Settings configuration
- Integration management
- Cannot delete organization
Member
- Create and manage own resources
- View organization resources
- Limited settings access
Viewer
- Read-only access
- Cannot create resources
- Cannot modify settings
Invitation System
Code
Member Operations
Code
Billing Integration
Subscription Plans
Free Plan
- Up to 3 members
- 10 GB storage
- 1,000 API calls/month
- Community support
Pro Plan ($49/month)
- Up to 20 members
- 100 GB storage
- 50,000 API calls/month
- Email support
- Advanced features
Enterprise Plan (Custom)
- Unlimited members
- Custom storage
- Unlimited API calls
- Priority support
- SLA guarantee
- Custom integrations
Billing Management
Code
Usage Tracking
Code
Organization Settings
General Settings
- Organization name and slug
- Logo and branding
- Default timezone
- Language preferences
Security Settings
- Two-factor authentication requirements
- IP allowlisting
- Session timeout policies
- Audit log retention
Integration Settings
- Webhook endpoints
- API keys management
- Third-party integrations
- SSO configuration
API Endpoints
Organization Management
GET /api/v1/organizations
- List user's organizationsPOST /api/v1/organizations
- Create organizationGET /api/v1/organizations/:id
- Get organization detailsPUT /api/v1/organizations/:id
- Update organizationDELETE /api/v1/organizations/:id
- Delete organization
Member Management
GET /api/v1/organizations/:id/members
- List membersPOST /api/v1/organizations/:id/invitations
- Invite memberPUT /api/v1/organizations/:id/members/:userID
- Update member roleDELETE /api/v1/organizations/:id/members/:userID
- Remove member
Settings
GET /api/v1/organizations/:id/settings
- Get settingsPUT /api/v1/organizations/:id/settings
- Update settingsGET /api/v1/organizations/:id/audit-logs
- Get audit logs
Implementation Details
Database Schema
Code
Service Layer
Code
Workflows and Automation
Organization Lifecycle
Creation Flow
- User creates organization
- Default settings applied
- Creator becomes owner
- Billing initialized
- Welcome email sent
Deletion Flow
- Confirm owner identity
- Export data (optional)
- Cancel subscriptions
- Delete all resources
- Remove all members
- Send confirmation
Automated Tasks
- Daily usage calculation
- Monthly billing cycles
- Invitation expiry cleanup
- Audit log rotation
- Storage quota monitoring
Best Practices
Scalability
- Use database partitioning by organization ID
- Implement caching for frequently accessed data
- Use connection pooling per organization
- Consider sharding for large deployments
Security
- Always validate organization context
- Implement row-level security
- Audit all administrative actions
- Encrypt sensitive organization data
Performance
- Index on organization_id for all tables
- Cache organization settings
- Batch member operations
- Use pagination for member lists
Monitoring and Analytics
Key Metrics
- Organizations created/deleted per day
- Member growth rate
- Average organization size
- Plan distribution
- Feature usage by plan
Alerts
- Unusual deletion activity
- Rapid member additions
- Storage quota exceeded
- Payment failures
- Invitation spam detection
Testing
Unit Tests
Code
Integration Tests
Code
Test Scenarios
- Organization CRUD operations
- Member invitation flow
- Role permission validation
- Billing integration
- Multi-organization access
Troubleshooting
Common Issues
Cannot Create Organization
- Check user email verification
- Verify organization limit not exceeded
- Ensure unique organization slug
Invitation Not Received
- Check spam folder
- Verify email address
- Check invitation expiry
- Resend invitation
Billing Issues
- Verify payment method
- Check subscription status
- Review usage limits
- Contact support
Migration Guide
Importing Organizations
- Prepare CSV with organization data
- Validate data format
- Run import script
- Verify member associations
- Set up billing
Exporting Organizations
- Request data export
- Select export format
- Include member list
- Export audit logs
- Download archive
Related Documentation
- Authentication - User authentication
- Workflows - Workflow automation
- Billing Guide - Billing setup
Last modified on