Environments
Retrieves environments with optional filtering. Returns grouped by category when no specific category filter is provided, or a flat array when filtering by a specific category. Each environment includes current lock status and queue information.
Filter by repository identifier (e.g., owner/repo)
myorg/myrepoFilter by environment category. When specified, returns a flat array of that category only.
Filter by active status
trueFilter by git branch
mainList of environments with lock status. Returns GroupedEnvironmentsDto when no category filter, or EnvironmentDto[] when category is specified. Each environment includes isLocked, lockedBy, lockExpiresAt, lockExpiresInSeconds, and detailed lockStatus object.
List of environments with lock status. Returns GroupedEnvironmentsDto when no category filter, or EnvironmentDto[] when category is specified. Each environment includes isLocked, lockedBy, lockExpiresAt, lockExpiresInSeconds, and detailed lockStatus object.
Creates a new environment linked to a repository and Salesforce org. The environment can be locked using the mutex system for exclusive access.
Environment created successfully with lock status information
Bad request
Repository or Salesforce org not found
Environment already exists or Salesforce username already registered
Retrieves the deployment orchestration order for environments within a specific category in a repository. Returns an ordered array of environment names.
Repository identifier (e.g., owner/repo)
myorg/myrepoEnvironment category
Ordered array of environment names
["dev1","dev2","dev3"]Bad request - missing required parameters
Updates the deployment orchestration order for environments within a specific category in a repository. Replaces the entire order with the provided array.
Repository identifier (e.g., owner/repo)
myorg/myrepoEnvironment category
Updated orchestration order
["dev3","dev1","dev2"]Bad request - missing parameters or invalid environment names
Retrieves detailed information about a specific environment by its name and repository identifier
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoType of authentication credentials to include in response (requires owner/application role). Use "accessToken" (recommended) for short-lived tokens suitable for most operations, or "sfdxAuthUrl" for long-lived refresh tokens needed for extended operations.
Environment details
No content
Environment not found
No content
Permanently deletes an environment by name and repository. Cannot delete a locked environment.
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoEnvironment deleted successfully
Environment not found
Cannot delete locked environment
No content
Updates environment properties by name and repository. Only provided fields will be updated.
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoEnvironment updated successfully
No content
Environment or Salesforce org not found
Environment name already exists
No content
Retrieves detailed information about a specific environment including its lock status
Environment ID
456e7890-e89b-12d3-a456-426614174001Type of authentication credentials to include in response (requires owner/application role). Use "accessToken" (recommended) for short-lived tokens suitable for most operations, or "sfdxAuthUrl" for long-lived refresh tokens needed for extended operations.
Environment details
{"id":"456e7890-e89b-12d3-a456-426614174001","repositoryIdentifier":"myorg/my-salesforce-project","repositoryName":"my-salesforce-project","name":"prod","description":"Production environment","category":"release","salesforceUsername":"[email protected]","isActive":true,"isDefault":true,"isLocked":true,"lockedBy":"deploy-bot","metadata":{"region":"us-west","tier":"enterprise"},"tags":["critical","monitored"],"branch":"main","createdAt":"2024-01-01T00:00:00Z","updatedAt":"2024-01-15T12:00:00Z","createdBy":"user123","updatedBy":"user456"}Environment not found
Permanently deletes an environment. Cannot delete a locked environment. All associated tags and audit records will be deleted.
Environment ID
456e7890-e89b-12d3-a456-426614174001Environment deleted successfully
Environment not found
Cannot delete locked environment
No content
Updates environment properties. Only provided fields will be updated. Changing salesforceUsername will validate the new org exists.
Environment ID
456e7890-e89b-12d3-a456-426614174001Environment updated successfully with current lock status
{"id":"456e7890-e89b-12d3-a456-426614174001","repositoryIdentifier":"myorg/myrepo","repositoryName":"myrepo","name":"prod","description":"Updated production environment","category":"release","salesforceUsername":"[email protected]","devHubUsername":null,"isActive":true,"isDefault":true,"isLocked":false,"lockedBy":null,"lockExpiresAt":null,"lockExpiresInSeconds":null,"lockStatus":{"isLocked":false,"currentLock":null,"queuedLocks":[]},"metadata":{"region":"us-west","tier":"enterprise"},"tags":["production","critical","monitored"],"branch":"main","orchestrationOrder":1,"createdAt":"2024-01-01T00:00:00Z","updatedAt":"2024-01-15T16:00:00Z","createdBy":"[email protected]","updatedBy":"[email protected]"}Environment or Salesforce org not found
Environment name already exists or Salesforce username conflict
Requests a lock on an environment. Returns a ticket ID immediately. The lock is queued if the environment is already locked. Use the /acquire endpoint with the ticket ID to wait for and obtain the actual lock. The lock will automatically expire after the specified duration.
Environment ID
456e7890-e89b-12d3-a456-426614174001Repository name for mutex resource key
my-salesforce-projectEnvironment locked successfully
Missing repositoryName parameter
Environment not found
Attempts to acquire a lock that was previously requested. This endpoint will wait up to the specified timeout for the lock to become available. Returns immediately if the lock is already acquired. Returns Salesforce credentials only when the lock is successfully acquired.
Environment ID
456e7890-e89b-12d3-a456-426614174001Lock ticket ID obtained when requesting the lock
ticket_789abc12-3def-4567-8901-234567890abcRepository name for mutex resource key
my-salesforce-projectType of authentication credentials to return. Use "accessToken" (recommended, default) for short-lived tokens suitable for most operations, or "sfdxAuthUrl" for long-lived refresh tokens needed for extended operations that may exceed the access token lifetime.
Lock acquired successfully with sensitive credentials
Ticket not found or expired
Timeout waiting for lock acquisition
Releases a lock on an environment using the ticket ID obtained when locking. Only the lock holder can release it unless admin/owner role.
Environment ID
456e7890-e89b-12d3-a456-426614174001Lock ticket ID obtained when locking
ticket_789abc12-3def-4567-8901-234567890abcRepository name for mutex resource key
my-salesforce-projectEnvironment unlocked successfully
Missing repositoryName parameter
Environment or lock not found
No content
Requests a lock on an environment. Returns a ticket ID immediately. The lock is queued if the environment is already locked. Use the /acquire endpoint with the ticket ID to wait for and obtain the actual lock. The lock will automatically expire after the specified duration.
Environment name
productionRepository identifier (owner/repo)
myorg/myrepoEnvironment locked successfully
Bad request
Environment not found
Attempts to acquire a lock that was previously requested. This endpoint will wait up to the specified timeout for the lock to become available. Returns immediately if the lock is already acquired. Returns Salesforce credentials only when the lock is successfully acquired.
Environment name
productionLock ticket ID obtained when requesting the lock
ticket_789abc12-3def-4567-8901-234567890abcRepository identifier (owner/repo)
myorg/myrepoType of authentication credentials to return. Use "accessToken" (recommended, default) for short-lived tokens suitable for most operations, or "sfdxAuthUrl" for long-lived refresh tokens needed for extended operations that may exceed the access token lifetime.
Lock acquired successfully with sensitive credentials
Environment or ticket not found
Timeout waiting for lock acquisition
Releases a lock on an environment using repository identifier, environment name, and ticket ID.
Environment name
productionLock ticket ID obtained when locking
ticket_789abc12-3def-4567-8901-234567890abcRepository identifier (owner/repo)
myorg/myrepoEnvironment unlocked successfully
Bad request
Environment not found
No content
Retrieves audit logs for all access to this environment including reads, updates, locks, and frontdoor access
Environment ID
456e7890-e89b-12d3-a456-426614174001Maximum number of audit records to return (default: 100)
50Environment access audit logs
[{"id":"audit123","environment_id":"456e7890-e89b-12d3-a456-426614174001","repository_identifier":"myorg/myrepo","accessed_by":"user123","accessed_by_application":null,"access_type":"lock","access_details":{"action":"environment_locked","ticket_id":"ticket_789abc","duration_seconds":3600,"reason":"Deployment in progress"},"ip_address":"192.168.1.100","user_agent":"Mozilla/5.0...","accessed_at":"2024-01-15T14:30:00Z"}]Environment access audit logs
Repository identifier (e.g., owner/repo)
Maximum number of audit records (default: 100)
Repository environment access audit logs
Repository environment access audit logs
Generates a Salesforce frontdoor URL for the environment's org. Can either return the URL or redirect directly to Salesforce. Access is audited.
Environment ID
456e7890-e89b-12d3-a456-426614174001Whether to redirect to Salesforce (default: true) or return the URL (false)
falseFrontdoor URL retrieved (when redirect=false)
Redirect to Salesforce (when redirect=true)
Unable to generate frontdoor URL
Environment not found
Retrieves all artifacts installed in the Salesforce org associated with this environment. Results are cached for 1 hour unless force refresh is requested.
Environment ID (UUID)
123e4567-e89b-12d3-a456-426614174000Force refresh the cached data
List of installed artifacts retrieved successfully
Unable to retrieve artifacts (e.g., authentication error)
Environment not found
Retrieves all artifacts installed in the Salesforce org associated with this environment by name. Results are cached for 1 hour unless force refresh is requested.
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoForce refresh the cached data
List of installed artifacts retrieved successfully
Unable to retrieve artifacts (e.g., authentication error)
Environment not found
Retrieves all releases that have been deployed to a specific environment. Releases are sorted by publication date with the most recent first.
You can optionally filter releases by domain (release configuration) and paginate through results.
This endpoint returns release metadata that was captured during the release process, including:
- Release name and domain
- Publication timestamp
- Repository information
- Any additional metadata from the release
Returns an empty list if no releases have been recorded for the environment.Environment ID (UUID)
Filter releases by domain/release configuration name
coreMaximum number of releases to return
50Number of releases to skip for pagination
0Releases retrieved successfully
Environment not found
Retrieves all releases for an environment identified by its name and repository. This is a convenience endpoint that works the same as the ID-based endpoint.
See GET /environments/:id/releases for full documentation.Environment name
Repository identifier in format owner/repo
myorg/myrepoFilter releases by domain/release configuration name
coreMaximum number of releases to return
50Number of releases to skip for pagination
0Releases retrieved successfully
Missing or invalid parameters
Environment not found
Last updated