Organizations
Organizations represent the fundamental structural unit in Eden's architecture. They serve as secure, isolated containers for all resources, ensuring clear ownership and access boundaries. The organization-centric design enables multi-tenant deployments while maintaining strict data segregation.
Organization Structure and PurposeCopied!
Each organization in Eden functions as an independent entity with:
-
Its own set of users and permission structures
-
Dedicated resources (endpoints, templates, workflows)
-
Isolated data processing pipelines
-
Separate authentication context
This isolation ensures that operations in one organization cannot affect resources in another, providing strong security and governance. Organizations typically correspond to real-world entities such as companies, departments, or project teams.
Creating an OrganizationCopied!
-
Endpoint:
POST /new
-
This endpoint is deliberately accessible without authentication to enable new users to create their first organization
-
The creation process provisions the necessary infrastructure for your organization to operate
-
The creator automatically becomes a SuperAdmin for the new organization
-
Example request:
POST /new{ "name": "Acme Corporation", "adminEmail": "admin@acmecorp.com", "description": "Technology solutions provider", "settings": { "defaultRegion": "us-west-2", "enableAdvancedFeatures": true }}
Upon creation, a unique organization identifier is generated. This identifier must be used in the X-Org-Id
header for all subsequent operations related to this organization.
Managing OrganizationsCopied!
-
Get Organization Details:
GET /organizations
-
Retrieves comprehensive information about your organization
-
Includes metadata, settings, usage statistics, and feature enablements
-
Useful for administration dashboards and organization management interfaces
-
The response includes lists of organization resources (users, endpoints, templates, workflows)
-
-
Update Organization:
PATCH /organizations
-
Allows modification of organization settings and metadata
-
Only SuperAdmins can perform updates to ensure proper governance
-
Supports partial updates, so you only need to include the fields you want to change
-
Changes to critical settings may trigger related infrastructure adjustments
-
Example update request:
PATCH /organizations{ "name": "Acme Corp Global", "settings": { "dataRetentionDays": 90 }}
-
-
Delete Organization:
DELETE /organizations
-
Permanently removes the organization and all its resources
-
Requires SuperAdmin privileges
-
This is an irreversible operation and should be used with caution
-
All associated endpoints, templates, workflows, and user associations are removed
-
A confirmation mechanism may be required for this destructive operation
-
Organization Design ConsiderationsCopied!
When working with Eden, consider these organization design principles:
-
Create separate organizations for production and development environments
-
Align organization boundaries with data access requirements
-
Use organizations to implement data governance policies
-
Consider regulatory requirements that might necessitate data separation
API ReferenceCopied!
Create Organization
-
URL:
/new
-
Method:
POST
-
Authentication: Not required
-
Request Body: Organization input details
-
Example Request:
{ "name": "Acme Corporation", "adminEmail": "admin@acmecorp.com", "description": "Technology solutions provider", "settings": { "defaultRegion": "us-west-2", "enableAdvancedFeatures": true, "dataRetentionDays": 180, "maxEndpoints": 50 }}
-
Success Response: 200 OK with the organization identifier
-
Example Response:
{ "orgId": "acme-corp-123", "message": "Organization created successfully", "adminInvitation": { "email": "admin@acmecorp.com", "invitationId": "inv_987654", "expires": "2025-05-19T09:45:22Z" }}
Get Organization
-
URL:
/organizations
-
Method:
GET
-
Headers Required: Authorization with JWT token
-
Success Response: 200 OK with organization details
-
Example Response:
{ "orgId": "acme-corp-123", "name": "Acme Corporation", "description": "Technology solutions provider", "created": "2025-05-01T10:15:22Z", "createdBy": "admin@acmecorp.com", "lastModified": "2025-05-10T14:30:45Z", "lastModifiedBy": "admin@acmecorp.com", "settings": { "defaultRegion": "us-west-2", "enableAdvancedFeatures": true, "dataRetentionDays": 180, "maxEndpoints": 50 }, "usage": { "endpoints": { "count": 12, "limit": 50 }, "templates": { "count": 25, "limit": 100 }, "workflows": { "count": 8, "limit": 20 }, "storage": { "used": "1.2GB", "limit": "10GB" } }, "resources": { "users": [ { "email": "admin@acmecorp.com", "accessLevel": "SuperAdmin", "lastActive": "2025-05-12T08:45:22Z" }, { "email": "john.dev@acmecorp.com", "accessLevel": "Write", "lastActive": "2025-05-11T16:22:10Z" } ], "resourceCounts": { "endpoints": 12, "templates": 25, "workflows": 8 } }}
Update Organization
-
URL:
/organizations
-
Method:
PATCH
-
Headers Required: Authorization with JWT token (SuperAdmin only)
-
Request Body: Updated organization details
-
Example Request:
{ "name": "Acme Corp Global", "description": "Global technology solutions provider", "settings": { "dataRetentionDays": 90, "maxEndpoints": 75 }}
-
Success Response: 200 OK with confirmation message
-
Example Response:
{ "message": "Organization updated successfully", "updatedFields": ["name", "description", "settings.dataRetentionDays", "settings.maxEndpoints"]}
Delete Organization
-
URL:
/organizations
-
Method:
DELETE
-
Headers Required: Authorization with JWT token (SuperAdmin only)
-
Success Response: 200 OK with confirmation message
-
Example Response:
{ "message": "Organization deleted successfully", "orgId": "acme-corp-123"}
Multi-Organization StrategiesCopied!
Development/Testing/Production Separation
A common pattern is to create separate organizations for different environments:
Acme Corp Development
├── Relaxed security settings
├── Sandbox endpoints for experimentation
├── Higher logging verbosity
├── Frequent updates and changes
├── Development team access
Acme Corp Testing
├── Production-like security settings
├── Test endpoints with controlled data
├── Comprehensive logging
├── Scheduled releases
├── QA team access
Acme Corp Production
├── Strict security controls
├── Production endpoints with real data
├── Audit-focused logging
├── Controlled release cycle
├── Operations team access
Business Unit Separation
For large enterprises, separating organizations by business unit may be appropriate:
Acme Corp - Retail Division
├── Retail-specific endpoints
├── Customer-focused workflows
├── Store operation templates
├── Retail team access
Acme Corp - Manufacturing Division
├── Supply chain endpoints
├── Production workflows
├── Quality control templates
├── Manufacturing team access
Acme Corp - Corporate
├── Finance endpoints
├── HR workflows
├── Company-wide templates
├── Executive team access
Regional Separation
For organizations with region-specific requirements:
Acme Corp - North America
├── US/Canada-specific endpoints
├── USD currency handling
├── NA compliance workflows
├── Regional team access
Acme Corp - Europe
├── EU-specific endpoints
├── EUR currency handling
├── GDPR compliance workflows
├── European team access
Acme Corp - Global Operations
├── Cross-region coordination
├── Global reporting
├── Common templates and standards
├── Global management access
Organization MigrationCopied!
When moving resources between organizations:
-
Export resources from the source organization
-
Import resources into the destination organization
-
Update references to ensure proper connections
-
Verify functionality in the new organization
-
Decommission resources in the original organization if no longer needed
Best PracticesCopied!
-
Clear Naming Conventions
-
Use consistent, descriptive names for organizations
-
Include purpose or environment in the name
-
Document the naming scheme
-
-
Organization Hierarchy
-
Design organization structure before implementation
-
Consider access control requirements
-
Plan for future growth and division
-
-
Resource Allocation
-
Set appropriate limits based on expected usage
-
Monitor resource utilization
-
Adjust limits proactively before reaching capacity
-
-
Documentation
-
Maintain clear documentation of organization's purpose
-
Document ownership and administrative contacts
-
Include migration procedures between organizations
-