Create Environment
POST /v1/environments
Create a new environment with the specified configuration.
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Body parameters
name: string
Human-readable name for the environment
minLength: 1, maxLength: 256
config: optional BetaCloudConfigParams or BetaSelfHostedConfigParams or null
Environment configuration
BetaCloudConfigParams object
Request params for cloud environment configuration.
Fields default to null; on update, omitted fields preserve the existing value.
type: "cloud"
Environment type
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParams or null
Network configuration policy. Omit on update to preserve the existing value.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetworkParams object
Limited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
type: "limited"
Network policy type
allow_mcp_servers: optional boolean or null
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.
allow_package_managers: optional boolean or null
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.
allowed_hosts: optional array of string or null
Specifies domains the container can reach.
packages: optional BetaPackagesParams or null
Package manager configuration. Under limited networking, requires networking.allow_package_managers to be true. Omit on update to preserve the existing value.
type: optional "packages"
Package configuration type
default: packages
apt: optional array of string or null
Ubuntu/Debian packages to install
cargo: optional array of string or null
Rust packages to install
gem: optional array of string or null
Ruby packages to install
go: optional array of string or null
Go packages to install
npm: optional array of string or null
Node.js packages to install
pip: optional array of string or null
Python packages to install
BetaSelfHostedConfigParams object
Request params for self_hosted environment configuration.
type: "self_hosted"
Environment type
description: optional string or null
Optional description of the environment
maxLength: 1024
metadata: optional map[string]
User-provided metadata key-value pairs
scope: optional "organization" or "account" or null
The visibility scope for this environment. 'organization' makes the environment visible to all accounts. 'account' restricts visibility to the owning account only. API organizations support only 'organization'; 'account' is rejected. If not specified, defaults based on organization type.
"organization"
"account"
Returns
BetaEnvironment object
Unified Environment resource for both cloud and self-hosted environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
Example
curl https://haijun.my.id/v1/environments \
-H 'Content-Type: application/json' \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY" \
-d '{
"name": "python-data-analysis",
"config": {
"type": "cloud",
"networking": {
"type": "limited",
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
]
},
"packages": {
"pip": [
"pandas",
"numpy"
]
}
},
"description": "Python environment with data-analysis packages."
}'Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}List Environments
GET /v1/environments
List environments with pagination support.
Query parameters
include_archived: optional boolean
Include archived environments in the response
default: false
limit: optional number
Maximum number of environments to return
default: 20, minimum: 1, maximum: 1000
page: optional string
Opaque cursor from previous response for pagination. Pass the next_page value from the previous response.
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
data: array of BetaEnvironment
List of environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
next_page: string or null
Token for fetching the next page of results. If null, there are no more results available. Pass this value to the page parameter in the next request.
Example
curl https://haijun.my.id/v1/environments \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"data": [
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}
],
"next_page": "page_MjAyNS0wNS0xNFQwMDowMDowMFo="
}Get Environment
GET /v1/environments/{environment_id}
Retrieve a specific environment by ID.
Path parameters
environment_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaEnvironment object
Unified Environment resource for both cloud and self-hosted environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}Update Environment
POST /v1/environments/{environment_id}
Update an existing environment's configuration.
Path parameters
environment_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Body parameters
config: optional BetaCloudConfigParams or BetaSelfHostedConfigParams or null
Updated environment configuration
BetaCloudConfigParams object
Request params for cloud environment configuration.
Fields default to null; on update, omitted fields preserve the existing value.
type: "cloud"
Environment type
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParams or null
Network configuration policy. Omit on update to preserve the existing value.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetworkParams object
Limited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
type: "limited"
Network policy type
allow_mcp_servers: optional boolean or null
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.
allow_package_managers: optional boolean or null
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.
allowed_hosts: optional array of string or null
Specifies domains the container can reach.
packages: optional BetaPackagesParams or null
Package manager configuration. Under limited networking, requires networking.allow_package_managers to be true. Omit on update to preserve the existing value.
type: optional "packages"
Package configuration type
default: packages
apt: optional array of string or null
Ubuntu/Debian packages to install
cargo: optional array of string or null
Rust packages to install
gem: optional array of string or null
Ruby packages to install
go: optional array of string or null
Go packages to install
npm: optional array of string or null
Node.js packages to install
pip: optional array of string or null
Python packages to install
BetaSelfHostedConfigParams object
Request params for self_hosted environment configuration.
type: "self_hosted"
Environment type
description: optional string or null
Updated description of the environment. Omit to preserve; null clears to null; an empty string is stored as an empty string.
maxLength: 1024
metadata: optional map[string]
User-provided metadata key-value pairs. Set a value to null or empty string to delete the key.
name: optional string or null
Updated name for the environment
minLength: 1, maxLength: 256
scope: optional "organization" or "account" or null
The visibility scope for this environment. 'organization' makes the environment visible to all accounts. 'account' restricts visibility to the owning account only.
"organization"
"account"
Returns
BetaEnvironment object
Unified Environment resource for both cloud and self-hosted environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID \
-H 'Content-Type: application/json' \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY" \
-d '{
"description": "Python environment with data-analysis packages."
}'Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}Delete Environment
DELETE /v1/environments/{environment_id}
Delete an environment by ID. Returns a confirmation of the deletion.
Path parameters
environment_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaEnvironmentDeleteResponse object
Response after deleting an environment.
type: "environment_deleted"
The type of response
default: environment_deleted
id: string
Environment identifier
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID \
-X DELETE \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"type": "environment_deleted"
}Archive Environment
POST /v1/environments/{environment_id}/archive
Archive an environment by ID. Archived environments cannot be used to create new sessions.
Path parameters
environment_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaEnvironment object
Unified Environment resource for both cloud and self-hosted environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/archive \
-X POST \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "env_011CZkZ9X2dpNyB7HsEFoRfW",
"archived_at": null,
"config": {
"networking": {
"allow_mcp_servers": false,
"allow_package_managers": true,
"allowed_hosts": [
"api.example.com"
],
"type": "limited"
},
"packages": {
"apt": [
"string"
],
"cargo": [
"string"
],
"gem": [
"string"
],
"go": [
"string"
],
"npm": [
"string"
],
"pip": [
"pandas",
"numpy"
],
"type": "packages"
},
"type": "cloud"
},
"created_at": "2026-03-15T10:00:00Z",
"description": "Python environment with data-analysis packages.",
"metadata": {},
"name": "python-data-analysis",
"type": "environment",
"updated_at": "2026-03-15T10:00:00Z",
"scope": "organization"
}Domain types
Beta Cloud Config
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
Beta Cloud Config Params
BetaCloudConfigParams object
Request params for cloud environment configuration.
Fields default to null; on update, omitted fields preserve the existing value.
type: "cloud"
Environment type
networking: optional BetaUnrestrictedNetwork or BetaLimitedNetworkParams or null
Network configuration policy. Omit on update to preserve the existing value.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetworkParams object
Limited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
type: "limited"
Network policy type
allow_mcp_servers: optional boolean or null
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.
allow_package_managers: optional boolean or null
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.
allowed_hosts: optional array of string or null
Specifies domains the container can reach.
packages: optional BetaPackagesParams or null
Package manager configuration. Under limited networking, requires networking.allow_package_managers to be true. Omit on update to preserve the existing value.
type: optional "packages"
Package configuration type
default: packages
apt: optional array of string or null
Ubuntu/Debian packages to install
cargo: optional array of string or null
Rust packages to install
gem: optional array of string or null
Ruby packages to install
go: optional array of string or null
Go packages to install
npm: optional array of string or null
Node.js packages to install
pip: optional array of string or null
Python packages to install
Beta Environment
BetaEnvironment object
Unified Environment resource for both cloud and self-hosted environments.
type: "environment"
The type of object (always 'environment')
default: environment
id: string
Environment identifier (e.g., 'env_...')
archived_at: string or null
RFC 3339 timestamp when environment was archived, or null if not archived
config: BetaCloudConfig or BetaSelfHostedConfig
Environment configuration (either Juglow Cloud or self-hosted)
BetaCloudConfig object
cloud environment configuration.
type: "cloud"
Environment type
networking: BetaUnrestrictedNetwork or BetaLimitedNetwork
Network configuration policy.
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
packages: BetaPackages
Package manager configuration.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
created_at: string
RFC 3339 timestamp when environment was created
description: string or null
User-provided description for the environment; null when unset
metadata: map[string]
User-provided metadata key-value pairs
name: string
Human-readable name for the environment
updated_at: string
RFC 3339 timestamp when environment was last updated
scope: optional "organization" or "account"
The visibility scope for this environment. 'organization' means visible to all accounts. 'account' means visible only to the owning account.
"organization"
"account"
Beta Environment Delete Response
BetaEnvironmentDeleteResponse object
Response after deleting an environment.
type: "environment_deleted"
The type of response
default: environment_deleted
id: string
Environment identifier
Beta Limited Network
BetaLimitedNetwork object
Limited network access.
type: "limited"
Network policy type
allow_mcp_servers: boolean
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array.
allow_package_managers: boolean
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array.
allowed_hosts: array of string
Specifies domains the container can reach.
Beta Limited Network Params
BetaLimitedNetworkParams object
Limited network request params.
Fields default to null; on update, omitted fields preserve the existing value.
type: "limited"
Network policy type
allow_mcp_servers: optional boolean or null
Permits outbound access to MCP server endpoints configured on the agent, beyond those listed in the allowed_hosts array. Defaults to false.
allow_package_managers: optional boolean or null
Permits outbound access to public package registries (PyPI, npm, etc.) beyond those listed in the allowed_hosts array. Defaults to false on creation. Must be true when packages are specified.
allowed_hosts: optional array of string or null
Specifies domains the container can reach.
Beta Packages
BetaPackages object
Packages (and their versions) available in this environment.
type: optional "packages"
Package configuration type
default: packages
apt: array of string
Ubuntu/Debian packages to install
cargo: array of string
Rust packages to install
gem: array of string
Ruby packages to install
go: array of string
Go packages to install
npm: array of string
Node.js packages to install
pip: array of string
Python packages to install
Beta Packages Params
BetaPackagesParams object
Specify packages (and optionally their versions) available in this environment.
When versioning, use the version semantics relevant for the package manager, e.g. for pip use package==1.0.0. You are responsible for validating the package and version exist. Unversioned installs the latest.
Under limited networking, requires networking.allow_package_managers to be true.
type: optional "packages"
Package configuration type
default: packages
apt: optional array of string or null
Ubuntu/Debian packages to install
cargo: optional array of string or null
Rust packages to install
gem: optional array of string or null
Ruby packages to install
go: optional array of string or null
Go packages to install
npm: optional array of string or null
Node.js packages to install
pip: optional array of string or null
Python packages to install
Beta Self Hosted Config
BetaSelfHostedConfig object
Configuration for self-hosted environments.
type: "self_hosted"
Environment type
Beta Self Hosted Config Params
BetaSelfHostedConfigParams object
Request params for self_hosted environment configuration.
type: "self_hosted"
Environment type
Beta Unrestricted Network
BetaUnrestrictedNetwork object
Unrestricted network access.
type: "unrestricted"
Network policy type
Environments › Work
Get Work Item
GET /v1/environments/{environment_id}/work/{work_id}
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Retrieve detailed information about a specific work item.
Path parameters
environment_id: string
work_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaSelfHostedWork object
Work resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Poll for Work
GET /v1/environments/{environment_id}/work/poll
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Long poll for work items in the queue.
Path parameters
environment_id: string
Query parameters
block_ms: optional number
How long to wait for work to arrive before returning. Must be 1-999 in milliseconds. Defaults to non-blocking (returns immediately if no work is available).
minimum: 1
reclaim_older_than_ms: optional number
Reclaim unacknowledged work items older than this many milliseconds. If omitted, uses the default (5000ms).
minimum: 1
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"Juglow-Worker-ID": optional string
Unique identifier for the specific worker polling, used to track aggregated environment-level work metrics in Console
Returns
BetaSelfHostedWork object
Work resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/poll \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Acknowledge Work
POST /v1/environments/{environment_id}/work/{work_id}/ack
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Acknowledge receipt of a work item, transitioning it from 'queued' to 'starting' and removing it from the queue.
Path parameters
environment_id: string
work_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
Returns
BetaSelfHostedWork object
Work resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/ack \
-X POST \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Record Heartbeat
POST /v1/environments/{environment_id}/work/{work_id}/heartbeat
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Record a heartbeat for a work item to maintain the lease.
Path parameters
environment_id: string
work_id: string
Query parameters
desired_ttl_seconds: optional number
Desired TTL in seconds
expected_last_heartbeat: optional string
Expected last_heartbeat for conditional update (optimistic concurrency). Use literal 'NO_HEARTBEAT' to claim an unclaimed lease (first heartbeat). For subsequent heartbeats, echo the server's previous last_heartbeat value exactly. Returns 412 Precondition Failed if the actual value doesn't match.
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
Returns
BetaSelfHostedWorkHeartbeatResponse object
Response after recording a heartbeat for a work item.
type: "work_heartbeat"
The type of response
default: work_heartbeat
last_heartbeat: string
RFC 3339 timestamp of the actual heartbeat from DB
lease_extended: boolean
Whether the heartbeat succeeded in extending the lease
state: "queued" or "starting" or "active" or 2 more
Current state of the work item (active/stopping/stopped)
"queued"
"starting"
"active"
"stopping"
"stopped"
ttl_seconds: number
Effective TTL applied to the lease
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/heartbeat \
-X POST \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"last_heartbeat": "last_heartbeat",
"lease_extended": true,
"state": "queued",
"ttl_seconds": 0,
"type": "work_heartbeat"
}Stop Work
POST /v1/environments/{environment_id}/work/{work_id}/stop
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Stop a work item, initiating graceful or forced shutdown.
Path parameters
environment_id: string
work_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Body parameters
force: optional boolean
If true, immediately stop work without graceful shutdown
default: false
Returns
BetaSelfHostedWork object
Work resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID/stop \
-H 'Content-Type: application/json' \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY" \
-d '{}'Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}List Work Items
GET /v1/environments/{environment_id}/work
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
List work items in an environment.
Path parameters
environment_id: string
Query parameters
limit: optional number
Maximum number of work items to return
default: 20, minimum: 1, maximum: 1000
page: optional string
Opaque cursor from previous response for pagination
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
Returns
BetaSelfHostedWorkListResponse object
Response when listing work items with cursor-based pagination.
data: array of BetaSelfHostedWork
List of work items
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
next_page: string or null
Opaque cursor for fetching the next page of results
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"data": [
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}
],
"next_page": "next_page"
}Update Work Item
POST /v1/environments/{environment_id}/work/{work_id}
Note: these endpoints are called automatically by the pre-built environment worker provided in the SDKs and CLI, for orchestrating sessions with self-hosted sandbox environments. They are included here as a reference; you do not need to invoke them directly.
Update work item metadata with merge semantics.
Path parameters
environment_id: string
work_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Body parameters
metadata: map[string]
Metadata patch. Set a key to a string to upsert it, or to null to delete it. Omit the field to preserve existing metadata.
Returns
BetaSelfHostedWork object
Work resource representing a unit of work in a self-hosted environment.
Work items are queued when sessions are created or when long-dormant sessions receive new messages. The environment worker polls for work to execute in a self-hosted sandbox.
type: "work"
The type of object (always 'work')
default: work
id: string
Work identifier (e.g., 'work_...')
acknowledged_at: string or null
RFC 3339 timestamp when the work item was acknowledged and assigned to a self-hosted sandbox
created_at: string
RFC 3339 timestamp when work was created
data: BetaSessionWorkData
The actual work to be performed
type: "session"
Type of work data
id: string
Session identifier (e.g., 'session_...')
environment_id: string
Environment identifier this work belongs to (e.g., env_...)
latest_heartbeat_at: string or null
RFC 3339 timestamp of the most recent heartbeat
metadata: map[string]
User-provided metadata key-value pairs associated with this work item
secret: string or null
Credential payload used by the environment worker to execute this work item. May be populated when polling for work; null on all other retrieval paths.
started_at: string or null
RFC 3339 timestamp when work execution started
state: "queued" or "starting" or "active" or 2 more
Current state of the work item
"queued"
"starting"
"active"
"stopping"
"stopped"
stop_requested_at: string or null
RFC 3339 timestamp when stop was requested
stopped_at: string or null
RFC 3339 timestamp when work execution stopped
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/$WORK_ID \
-H 'Content-Type: application/json' \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY" \
-d '{
"metadata": {
"foo": "string"
}
}'Response (200)
{
"id": "id",
"acknowledged_at": "acknowledged_at",
"created_at": "created_at",
"data": {
"id": "id",
"type": "session"
},
"environment_id": "environment_id",
"latest_heartbeat_at": "latest_heartbeat_at",
"metadata": {
"foo": "string"
},
"secret": "secret",
"started_at": "started_at",
"state": "queued",
"stop_requested_at": "stop_requested_at",
"stopped_at": "stopped_at",
"type": "work"
}Get Queue Statistics
GET /v1/environments/{environment_id}/work/stats
Get statistics about the work queue for an environment.
Path parameters
environment_id: string
Headers
"juglow-beta": optional array of JuglowBeta
Optional header to specify the beta version(s) you want to use.
string
"message-batches-2024-09-24" or "prompt-caching-2024-07-31" or "computer-use-2024-10-22" or 45 more
"message-batches-2024-09-24"
"prompt-caching-2024-07-31"
"computer-use-2024-10-22"
"computer-use-2025-01-24"
"pdfs-2024-09-25"
"token-counting-2024-11-01"
"token-efficient-tools-2025-02-19"
"output-128k-2025-02-19"
"files-api-2025-04-14"
"mcp-client-2025-04-04"
"mcp-client-2025-11-20"
"dev-full-thinking-2025-05-14"
"interleaved-thinking-2025-05-14"
"code-execution-2025-05-22"
"extended-cache-ttl-2025-04-11"
"context-1m-2025-08-07"
"context-management-2025-06-27"
"model-context-window-exceeded-2025-08-26"
"tracks-2025-10-02"
"fast-mode-2026-02-01"
"output-300k-2026-03-24"
"user-profiles-2026-03-24"
"user-profiles-2026-08-18"
"user-profiles-2026-09-04"
"advisor-tool-2026-03-01"
"managed-agents-2026-04-01"
"cache-diagnosis-2026-04-07"
"dreaming-2026-04-21"
"thinking-token-count-2026-05-13"
"server-side-fallback-2026-06-01"
"server-side-fallback-2026-07-01"
"fallback-credit-2026-06-01"
"fallback-credit-2026-07-01"
"agent-memory-2026-07-22"
"mid-conversation-tool-changes-2026-07-01"
"compact-2026-01-12"
"computer-use-2025-11-24"
"mcp-tunnels-2026-06-22"
"structured-outputs-2025-11-13"
"task-budgets-2026-03-13"
"thinking-display-updates-2026-08-18"
"ce-user-management-2026-07-13"
"mid-conversation-output-config-2026-07-01"
"thinking-binding-controls-2026-08-01"
"mid-conversation-system-clear-at-2026-08-21"
"compact-2026-09-04"
"inline-tools-2026-09-15"
"mcp-client-2026-09-15"
"juglow-workspace-id": optional string
Optional header to select the Workspace for this request. The value is a Workspace ID (for example, wrkspc_011CZkZaBF1tNoB5wlCeusgy).
Only needed for credentials that can act on more than one Workspace. A credential that belongs to a specific Workspace may omit it; if sent, it must match that Workspace.
Returns
BetaSelfHostedWorkQueueStats object
Statistics about the work queue for an environment.
Uses Redis Stream consumer group metrics for O(1) queries.
type: "work_queue_stats"
The type of object
default: work_queue_stats
depth: number
Number of work items waiting to be picked up (lag from consumer group)
oldest_queued_at: string or null
RFC 3339 timestamp of oldest item in the work stream (includes both queued and pending items), null if stream empty
pending: number
Number of work items being processed (polled but not acknowledged)
default: 0
workers_polling: number or null
Number of workers that have polled for work in the last 30 seconds. Requires worker_id to be sent with poll requests.
Example
curl https://haijun.my.id/v1/environments/$ENVIRONMENT_ID/work/stats \
-H 'juglow-version: 2023-06-01' \
-H 'juglow-beta: managed-agents-2026-04-01' \
-H "X-Api-Key: $JUGLOW_API_KEY"Response (200)
{
"depth": 0,
"oldest_queued_at": "oldest_queued_at",
"pending": 0,
"type": "work_queue_stats",
"workers_polling": 0
}