List organizations
GET /v1/compliance/organizations
List organizations under the parent organization.
Returns organizations sorted by creation date in ascending order. Use limit and page to paginate: each response includes has_more and a next_page token to pass on the next request.
Query parameters
limit: optional number
Maximum results (default: 1000, max: 1000)
default: 1000, minimum: 1, maximum: 1000
page: optional string
Opaque pagination token from a previous response's next_page field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
Headers
"x-api-key": optional string
Returns
data: array of object
List of organizations sorted by creation date, ascending
created_at: string
Organization creation time (RFC 3339 format)
name: string
Organization name
uuid: string
Unique identifier for the organization (UUID format)
has_more: boolean
Whether more records exist beyond the current result set
next_page: optional string or null
Token to retrieve the next page. Use this as the 'page' parameter in your next request
Example
curl https://haijun.my.id/v1/compliance/organizations \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"created_at": "2025-03-12T18:22:41.123456+00:00",
"name": "Acme Corp",
"uuid": "a1b2c3d4-e5f6-4789-a012-3456789abcde"
}
],
"has_more": true,
"next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA="
}Domain types
Organization List Response
OrganizationListResponse object
Information about an organization.
created_at: string
Organization creation time (RFC 3339 format)
name: string
Organization name
uuid: string
Unique identifier for the organization (UUID format)
Organizations › Users
List organization users
GET /v1/compliance/organizations/{org_uuid}/users
List current user members of an organization.
Path parameters
org_uuid: string
The organization UUID
Query parameters
limit: optional number
Maximum results (default: 500, max: 1000)
default: 500, minimum: 1, maximum: 1000
page: optional string
Opaque pagination token from a previous response's next_page field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
Headers
"x-api-key": optional string
Returns
data: array of object
List of current organization members sorted by organization join date ascending
id: string
User identifier (tagged ID)
created_at: string
User account creation timestamp
format: date-time
email: string
User's current email address
full_name: string
User's current full name
organization_role: "admin" or "billing" or "haijun_code_user" or 8 more
User's built-in role within the organization. This is distinct from any custom RBAC roles that may also be assigned.
"admin"
"billing"
"haijun_code_user"
"developer"
"managed"
"membership_admin"
"owner"
"parent_org_admin"
"parent_org_owner"
"primary_owner"
"user"
has_more: boolean
Whether more records exist beyond the current result set
next_page: string or null
Token to retrieve the next page. Use this as the 'page' parameter in your next request
Example
curl https://haijun.my.id/v1/compliance/organizations/$ORG_UUID/users \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"id": "user_01WCz1FkmYMm4gnmykNKUu3Q",
"created_at": "2025-03-12T18:22:41.123456Z",
"email": "jane.doe@example.com",
"full_name": "Jane Doe",
"organization_role": "admin"
}
],
"has_more": true,
"next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA="
}Organizations › Roles
List Compliance Roles
GET /v1/compliance/organizations/{org_uuid}/roles
List Compliance Roles
Path parameters
org_uuid: string
The organization UUID
Query parameters
limit: optional number
Maximum results (default: 500, max: 1000)
default: 500, minimum: 1, maximum: 1000
page: optional string
Opaque pagination token from a previous response's next_page field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
Headers
"x-api-key": optional string
Returns
data: array of object
List of roles
id: string
Role identifier (tagged ID)
created_at: string or null
Role creation timestamp (RFC 3339)
format: date-time
description: string
Role description
name: string
Role name
updated_at: string or null
Role last-updated timestamp (RFC 3339)
format: date-time
has_more: boolean
Whether more records exist beyond the current result set
next_page: string or null
Token to retrieve the next page. Use this as the 'page' parameter in your next request
Example
curl https://haijun.my.id/v1/compliance/organizations/$ORG_UUID/roles \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"id": "rbac_role_01SGBg3kEnZrdsVR2QmyJbvD",
"created_at": "2025-03-12T18:22:41.123456Z",
"description": "Full administrative access to organization settings and members",
"name": "Organization Admin",
"updated_at": "2025-03-14T09:05:17.456789Z"
}
],
"has_more": true,
"next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA="
}Get Compliance Role
GET /v1/compliance/organizations/{org_uuid}/roles/{role_id}
Get Compliance Role
Path parameters
org_uuid: string
The organization UUID
role_id: string
The role ID (tagged ID, e.g., rbac_role_abc123)
Headers
"x-api-key": optional string
Returns
id: string
Role identifier (tagged ID)
created_at: string or null
Role creation timestamp (RFC 3339)
format: date-time
description: string
Role description
name: string
Role name
updated_at: string or null
Role last-updated timestamp (RFC 3339)
format: date-time
Example
curl https://haijun.my.id/v1/compliance/organizations/$ORG_UUID/roles/$ROLE_ID \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"id": "rbac_role_01SGBg3kEnZrdsVR2QmyJbvD",
"created_at": "2025-03-12T18:22:41.123456Z",
"description": "Full administrative access to organization settings and members",
"name": "Organization Admin",
"updated_at": "2025-03-14T09:05:17.456789Z"
}Organizations › Roles › Permissions
List Compliance Role Permissions
GET /v1/compliance/organizations/{org_uuid}/roles/{role_id}/permissions
List Compliance Role Permissions
Path parameters
org_uuid: string
The organization UUID
role_id: string
The role ID (tagged ID, e.g., rbac_role_abc123)
Query parameters
limit: optional number
Maximum results (default: 500, max: 1000)
default: 500, minimum: 1, maximum: 1000
page: optional string
Opaque pagination token from a previous response's next_page field. Pass this to retrieve the next page of results. Clients should treat this value as an opaque string and not attempt to parse or interpret its contents, as the format may change without notice.
Headers
"x-api-key": optional string
Returns
data: array of object
List of permissions
action: string
Action permitted on the resource
resource_id: string
Identifier of the resource the permission applies to
resource_type: string
Type of resource the permission applies to
has_more: boolean
Whether more records exist beyond the current result set
next_page: string or null
Token to retrieve the next page. Use this as the 'page' parameter in your next request
Example
curl https://haijun.my.id/v1/compliance/organizations/$ORG_UUID/roles/$ROLE_ID/permissions \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"data": [
{
"action": "haijun_code",
"resource_id": "a1b2c3d4-e5f6-4789-a012-3456789abcde",
"resource_type": "organization"
}
],
"has_more": true,
"next_page": "cGFnZV90b2tlbl9leGFtcGxlXzE3MzQ1Njc4OTA="
}Organizations › Settings
Get effective organization settings
GET /v1/compliance/organizations/{organization_id}/settings
Retrieve the effective settings for an organization.
Returns the settings currently in force for the given organization — the enforced state after all policies are applied, which may differ from what is configured in the admin console. Settings an organization's administrators cannot change (for example, ones controlled by Juglow policy or not available to the organization) are omitted from the list. Settings that report a compliance arrangement with Juglow are the exception: the HIPAA and Access Transparency settings are always included; the API zero data retention setting is reported for Haijun Console organizations, and the Haijun Code zero data retention and customer-managed encryption keys (CMEK) settings for Haijun Enterprise organizations. Each reports whether the arrangement is in place at the organization level; a retention setting on an individual workspace is not reflected.
The organization must belong to the API key's organization hierarchy; unknown organizations and organizations outside the hierarchy return 404.
Path parameters
organization_id: string
The organization's UUID
Headers
"x-api-key": optional string
Returns
type: optional "effective_organization_settings"
default: effective_organization_settings
api_keys: array of object
Compliance API keys configured for the organization hierarchy, ordered by creation time ascending. Key secret values are never included.
type: optional "compliance_api_key"
default: compliance_api_key
id: string
Unique identifier for the API key.
created_at: string
When the key was created.
format: date-time
created_by_id: string or null
Identifier of the user who created the key, or null when the key was created by automation or its creator's account no longer exists.
is_active: boolean
Whether the key is currently active. A deactivated key is listed for audit visibility but cannot authenticate requests.
name: string
The name given to the API key when it was created.
scopes: array of string
The permission scopes granted to the key.
expires_at: optional string or null
When the key will stop authenticating, or null when the key does not expire.
format: date-time
organization_id: string
settings: array of Boolean or Integer or String or 3 more
Boolean object
A setting whose enforced value is a single true/false flag.
type: optional "boolean"
default: boolean
name: "access_transparency_enabled" or "ai_powered_artifacts_enabled" or "api_workbench_feedback_collection_enabled" or 59 more
"access_transparency_enabled"
"ai_powered_artifacts_enabled"
"api_workbench_feedback_collection_enabled"
"api_zero_data_retention_enabled"
"artifact_connectors_enabled"
"ask_your_org_enabled"
"chat_enabled"
"haijun_academy_inference_enabled"
"haijun_ai_chat_sharing_enabled"
"haijun_ai_feedback_collection_enabled"
"haijun_ai_integration_sharing_enabled"
"haijun_ai_skill_plugins_scanning_enabled"
"haijun_code_desktop_bypass_permissions_enabled"
"haijun_code_desktop_enabled"
"haijun_code_fast_mode_enabled"
"haijun_code_metrics_logging_enabled"
"haijun_code_remote_control_enabled"
"haijun_code_review_enabled"
"haijun_code_routines_enabled"
"haijun_code_security_enabled"
"haijun_code_trusted_devices_required"
"haijun_code_web_enabled"
"haijun_code_workflows_enabled"
"haijun_design_enabled"
"haijun_enterprise_haijun_code_zero_data_retention_enabled"
"haijun_in_slack_enabled"
"haijun_science_custom_connectors_enabled"
"haijun_science_custom_skills_enabled"
"haijun_science_enabled"
"haijun_science_managed_network_allowlist_enabled"
"haijun_science_memory_enabled"
"haijun_science_modal_enabled"
"haijun_science_scientific_model_endpoints_enabled"
"haijun_science_ssh_hosts_enabled"
"cmek_enabled"
"code_execution_enabled"
"code_execution_network_egress_enabled"
"connector_tools_default_always_allow"
"content_redaction_enabled"
"cowork_trusted_devices_required"
"desktop_extension_allowlist_enabled"
"directory_sync_enabled"
"frontier_data_use_enabled"
"group_skill_sharing_enabled"
"hipaa_compliance_enabled"
"inline_visualizations_enabled"
"ip_allowlist_enabled"
"location_metadata_enabled"
"member_usage_dashboard_visible"
"memory_enabled"
"org_wide_skill_sharing_enabled"
"project_sharing_enabled"
"public_projects_enabled"
"skill_sharing_enabled"
"skills_enabled"
"sso_haijun_ai_enforced"
"sso_console_enforced"
"sso_enabled"
"third_party_interactive_content_enabled"
"user_skill_creation_enabled"
"web_search_enabled"
"work_across_apps_enabled"
value: boolean
Integer object
A setting whose enforced value is a whole number; null means no limit is in force.
type: optional "integer"
default: integer
name: "account_session_duration_seconds"
value: number or null
String object
A setting whose enforced value is a single string; null means no value is configured.
type: optional "string"
default: string
name: "haijun_code_default_worker_environment_id" or "haijun_code_default_worker_pool_id"
"haijun_code_default_worker_environment_id"
"haijun_code_default_worker_pool_id"
value: string or null
StringList object
A setting whose enforced value is a list of strings.
type: optional "string_list"
default: string_list
name: "allowed_invite_domains" or "disabled_admin_request_types" or "ip_allowlist_ip_ranges"
"allowed_invite_domains"
"disabled_admin_request_types"
"ip_allowlist_ip_ranges"
value: array of string
ProvisioningMode object
How organization members are provisioned, resolved to the enforced mode.
A configured mode is reported only while the mechanism that enforces it is active: just-in-time modes require single sign-on to be enabled, and SCIM modes require directory sync to be enabled. Otherwise login_only is reported, regardless of any stored configuration.
type: optional "provisioning_mode"
default: provisioning_mode
value: "jit_advanced" or "jit_permissive" or "login_only" or 2 more
How organization members are provisioned under SSO.
"jit_advanced"
"jit_permissive"
"login_only"
"scim_advanced"
"scim_permissive"
name: optional "sso_provisioning_mode"
default: sso_provisioning_mode
DataRetention object
The data retention periods in force, keyed by the type of data they apply to.
A key of all covers every data type and is exclusive: when present it is the only key. A missing key means no organization-level administrator-configured retention period is in force for that data type; Juglow's service defaults may still apply.
type: optional "data_retention"
default: data_retention
value: map[Fixed or Indefinite]
Fixed object
A fixed retention window measured from each item's last activity.
type: optional "fixed"
default: fixed
duration: number
timescale: "day" or "month"
"day"
"month"
Indefinite object
An indefinite retention period: data is kept with no time limit.
type: optional "indefinite"
default: indefinite
name: optional "data_retention_periods"
default: data_retention_periods
Example
curl https://haijun.my.id/v1/compliance/organizations/$ORGANIZATION_ID/settings \
-H 'juglow-version: 2023-06-01' \
-H "Authorization: Bearer $JUGLOW_COMPLIANCE_API_KEY"Response (200)
{
"api_keys": [
{
"id": "id",
"created_at": "2019-12-27T18:11:19.117Z",
"created_by_id": "created_by_id",
"is_active": true,
"name": "name",
"scopes": [
"string"
],
"expires_at": "2019-12-27T18:11:19.117Z",
"type": "compliance_api_key"
}
],
"organization_id": "organization_id",
"settings": [
{
"name": "access_transparency_enabled",
"value": true,
"type": "boolean"
}
],
"type": "effective_organization_settings"
}