Skip to main content

Organization Management

Overview

Organization is the foundational building block of WEDA. Before you can onboard devices, assign users, or deploy containers, you must first establish your organization structure.

An Organization represents a logical grouping unit — such as a region, department, or project — that serves as the scope for:

  • Devices: All devices must belong to an organization
  • Users: Users are assigned roles within organizations
  • Resources: Container deployments, batch tasks, and reports operate within organization boundaries

Dependencies with Other Modules

Dependent ModuleRelationshipImpact
Device ProvisioningDevices must be registered under an organizationCannot onboard devices without a target organization
User ManagementUsers are added to organizationsUser permissions are scoped to their assigned organizations
Container StackDeployments target devices within organizationsOrganization determines which devices receive deployments
Batch TasksTasks execute across devices in an organizationTask scope is limited to organization boundaries
ReportsReports aggregate data by organizationData visibility follows organization hierarchy

Basic Operations

OperationAPIDescription
Create OrganizationPOST https://{domain}/{tenantPath}/{srp}/api/v1/orgsCreate root or sub-organization with name, description, and optional parentOrgId
Read OrganizationsGET https://{domain}/{tenantPath}/{srp}/api/v1/orgsList all organizations with different filters and pagination options
Update OrganizationPATCH https://{domain}/{tenantPath}/{srp}/api/v1/orgs/{orgId}Modify name or description of an existing organization
Delete OrganizationDELETE https://{domain}/{tenantPath}/{srp}/api/v1/orgs/{orgId}?orgName=xxxRemove organization (requires name confirmation)

Constraints & Limitations

General

  • API access requires authentication with a valid token

Create

  • name is required, max 100 characters
  • description is optional, max 200 characters
  • parentOrgId is immutable after creation — you cannot move an organization to a different parent

Update

  • Only name and description can be modified
  • Cannot change parent organization

Delete

  • Must provide orgName query parameter for confirmation
  • Organization must have no child organizations
  • Organization must have no other users
  • Root organization cannot be deleted

Advanced Features

This section covers APIs related to Identity, Access Control, and advanced organization hierarchy management, providing system administrators with more granular permission control and user management mechanisms.

Advanced Organization Retrieval

Beyond basic CRUD operations, WEDA provides advanced APIs for navigating complex organizational hierarchies. These APIs support depth-based traversal, enabling efficient queries across multi-level structures. Organizations form a tree structure. The depth parameter controls how many levels to traverse:

Org1 (Root)
└── Org2 ← current org
├── Org3 ← depth=1
│ ├── device1 ← depth=2
│ └── device2
└── Org4 ← depth=1

OperationAPIDescription
Get Organization by IDGET https://{domain}/{tenantPath}/{srp}/api/v1/orgs/{orgId}Retrieve detailed information of a specific organization
Get Child OrganizationsGET https://{domain}/{tenantPath}/{srp}/api/v1/orgs/{orgId}/children?depth=nGet child organizations down to specified depth
Get Parent OrganizationsGET https://{domain}/{tenantPath}/{srp}/api/v1/orgs/{orgId}/parents?depth=nGet parent organizations up to specified depth

Authentication Management

Authentication APIs handle the creation and management of tokens for API access. This includes user token and client credential. User tokens are used for interactive user sessions, while Client Credentials handles authentication between applications and services.

OperationAPIDescription
Create User Access TokenPOST https://{domain}/{tenantPath}/{srp}/api/v1/auth/tokensCreate User access token for API authentication
Create Client CredentialPOST https://{domain}/{tenantPath}/{srp}/api/v1/oauth2/client-credentialsCreate a new client credential with specified scopes
List Client CredentialsGET https://{domain}/{tenantPath}/{srp}/api/v1/oauth2/client-credentialsRetrieve all client credentials for the current user
Delete Client CredentialDELETE https://{domain}/{tenantPath}/{srp}/api/v1/oauth2/client-credentials/{id}Revoke and delete a client credential

Last updated on Apr-8, 2026 | Version 1.0.0