Environments
Environments partition a Celigo account into separate, isolated spaces. Each environment has its own users, integrations, connections, and flows, functioning like independent accounts under a single license.
Requires the environments feature to be enabled. Every account with the feature starts with a Production environment that cannot be disabled.
Environment schema
Returns all environments in the account. Requires the environments feature to be enabled -- accounts without it receive feature_not_enabled. Every account with the feature has at least one environment (Production). The full list is returned in a single unpaginated response.
List of environments.
Environment object as returned by the API.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentUnique identifier for the resource. Format is a 24-character hexadecimal string.
5f8d43a1b9e5a80011a35f2cTimestamp when the resource was created. Set automatically and cannot be modified.
2023-04-01T09:15:32ZTimestamp when the resource was last updated. Changes whenever any property is modified.
2023-04-15T14:30:15ZTimestamp when the resource was soft-deleted. When null or absent, the resource is active.
2023-05-20T11:45:32ZAccount user ID that owns this environment.
624cb0346309dc3a543733a2When true, the environment is currently enabled. Controlled via the toggle endpoint, not create/update.
When true, the environment has been migrated from legacy sandbox. Present only on enterprise accounts.
No environments exist in the account
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
GET /v1/environments HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"_id": "68f76c67f7876d161ffb9c52",
"_envUserId": "624cb0346309dc3a543733a2",
"name": "Production",
"enabled": true,
"lastModified": "2025-10-21T11:20:07.448Z",
"createdAt": "2025-10-21T11:20:07.448Z"
},
{
"_id": "69150a05578417f9fa40dbe4",
"_envUserId": "69150a05578417f9fa40dbe6",
"name": "Sandbox",
"description": "Pre-production testing environment",
"enabled": true,
"lastModified": "2025-11-12T22:28:22.433Z",
"createdAt": "2025-11-12T22:28:22.433Z"
}
]Creates a new environment. The environment starts disabled; use the toggle endpoint to enable it. name is the only required field and must be unique within the account.
Fields for creating or updating an environment.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentEnvironment created.
Environment object as returned by the API.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentUnique identifier for the resource. Format is a 24-character hexadecimal string.
5f8d43a1b9e5a80011a35f2cTimestamp when the resource was created. Set automatically and cannot be modified.
2023-04-01T09:15:32ZTimestamp when the resource was last updated. Changes whenever any property is modified.
2023-04-15T14:30:15ZTimestamp when the resource was soft-deleted. When null or absent, the resource is active.
2023-05-20T11:45:32ZAccount user ID that owns this environment.
624cb0346309dc3a543733a2When true, the environment is currently enabled. Controlled via the toggle endpoint, not create/update.
When true, the environment has been migrated from legacy sandbox. Present only on enterprise accounts.
Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
POST /v1/environments HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"name": "Staging"
}{
"_id": "60a2c4e6f321d800129a1a3c",
"_envUserId": "60a2c4e6f321d800129a1a3e",
"name": "Staging",
"description": "Pre-production testing environment",
"enabled": false,
"apim": {},
"lastModified": "2025-08-10T14:22:33.000Z",
"createdAt": "2025-08-10T14:22:33.000Z"
}Retrieves a single environment by ID.
Environment ID.
Environment details.
Environment object as returned by the API.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentUnique identifier for the resource. Format is a 24-character hexadecimal string.
5f8d43a1b9e5a80011a35f2cTimestamp when the resource was created. Set automatically and cannot be modified.
2023-04-01T09:15:32ZTimestamp when the resource was last updated. Changes whenever any property is modified.
2023-04-15T14:30:15ZTimestamp when the resource was soft-deleted. When null or absent, the resource is active.
2023-05-20T11:45:32ZAccount user ID that owns this environment.
624cb0346309dc3a543733a2When true, the environment is currently enabled. Controlled via the toggle endpoint, not create/update.
When true, the environment has been migrated from legacy sandbox. Present only on enterprise accounts.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
Not found. The requested resource does not exist or is not visible to the caller.
GET /v1/environments/{_id} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"_id": "68f76c67f7876d161ffb9c52",
"_envUserId": "624cb0346309dc3a543733a2",
"name": "Production",
"enabled": true,
"lastModified": "2025-10-21T11:20:07.448Z",
"createdAt": "2025-10-21T11:20:07.448Z"
}Replaces an environment's mutable fields (name, description, apim). To enable or disable an environment, use the toggle endpoint instead.
Environment ID.
Fields for creating or updating an environment.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentUpdated environment.
Environment object as returned by the API.
Display name for the environment. Must be unique within the account.
SandboxFree-text description of the environment's purpose. Null on environments provisioned automatically by the platform; descriptions set through the UI or API are strings. When writing, send a string or omit the field.
Pre-production testing environmentUnique identifier for the resource. Format is a 24-character hexadecimal string.
5f8d43a1b9e5a80011a35f2cTimestamp when the resource was created. Set automatically and cannot be modified.
2023-04-01T09:15:32ZTimestamp when the resource was last updated. Changes whenever any property is modified.
2023-04-15T14:30:15ZTimestamp when the resource was soft-deleted. When null or absent, the resource is active.
2023-05-20T11:45:32ZAccount user ID that owns this environment.
624cb0346309dc3a543733a2When true, the environment is currently enabled. Controlled via the toggle endpoint, not create/update.
When true, the environment has been migrated from legacy sandbox. Present only on enterprise accounts.
Bad request. The server could not understand the request because of malformed syntax or invalid parameters.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
Not found. The requested resource does not exist or is not visible to the caller.
Unprocessable entity. The request was well-formed but was unable to be followed due to semantic errors.
PUT /v1/environments/{_id} HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"name": "Staging"
}{
"_id": "69150a05578417f9fa40dbe4",
"_envUserId": "69150a05578417f9fa40dbe6",
"name": "Sandbox",
"description": "Updated environment description",
"enabled": true,
"apim": {
"environmentId": "0b893522-51b3-482f-8935-2251b3b82f28",
"environmentHRID": "sandbox",
"groupId": "0b37df28-5543-40dc-b7df-28554310dc1b"
},
"createdAt": "2025-11-12T22:28:22.433Z",
"lastModified": "2026-06-09T17:45:12.882Z"
}Toggles the enabled state of an environment -- a disabled environment becomes enabled and vice versa. The Production environment cannot be disabled, and pending user invitations must be resolved before disabling any environment.
Requires a Content-Type: application/json header even though no request body is needed.
Environment ID.
Environment state toggled.
No content
The Production environment cannot be disabled.
Unauthorized. The request lacks a valid bearer token, or the provided token failed to authenticate.
Note: the 401 response is produced by the auth middleware before the
request reaches the endpoint handler, so it does not follow the
standard {errors: [...]} envelope. Instead the body is a bare
{message: string} object with no code, no errors array. Callers
handling 401s should key off the HTTP status and the message string,
not try to destructure an errors[].
Not found. The requested resource does not exist or is not visible to the caller.
Pending user invitations must be resolved before disabling.
PUT /v1/environments/{_id}/enable HTTP/1.1
Host: api.integrator.io
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Last updated
Was this helpful?