Environments
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.
Forbidden - Requires role: member, owner, application
GET /sfp/api/environments HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"dev": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"repositoryIdentifier": "myorg/myrepo",
"repositoryName": "myrepo",
"name": "dev1",
"description": "Development environment",
"category": "dev",
"salesforceUsername": "admin@company.dev",
"devHubUsername": null,
"isActive": true,
"isDefault": false,
"isLocked": false,
"lockedBy": null,
"lockExpiresAt": null,
"lockExpiresInSeconds": null,
"lockStatus": {
"isLocked": false,
"currentLock": null,
"queuedLocks": []
},
"metadata": {},
"tags": [
"development"
],
"branch": "develop",
"orchestrationOrder": null,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
],
"test": [
{
"id": "223e4567-e89b-12d3-a456-426614174000",
"repositoryIdentifier": "myorg/myrepo",
"repositoryName": "myrepo",
"name": "test1",
"description": "Test environment",
"category": "test",
"salesforceUsername": "admin@company.test",
"devHubUsername": null,
"isActive": true,
"isDefault": false,
"isLocked": true,
"lockedBy": "ci-pipeline",
"lockExpiresAt": "2024-01-15T15:00:00Z",
"lockExpiresInSeconds": 3600,
"lockStatus": {
"isLocked": true,
"currentLock": {
"lockedBy": "ci-pipeline",
"lockReason": "Running integration tests",
"expiresAt": "2024-01-15T15:00:00Z",
"expiresInSeconds": 3600
},
"queuedLocks": [
{
"position": 1,
"requestedBy": "deploy-bot",
"lockReason": "Deployment to test",
"estimatedWaitSeconds": 3600,
"ticketId": "ticket_456def"
}
]
},
"metadata": {
"tier": "sandbox"
},
"tags": [
"testing",
"automated"
],
"branch": "develop",
"orchestrationOrder": null,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-15T14:00:00Z"
}
],
"snapshot": [],
"release": [
{
"id": "323e4567-e89b-12d3-a456-426614174000",
"repositoryIdentifier": "myorg/myrepo",
"repositoryName": "myrepo",
"name": "prod",
"description": "Production environment",
"category": "release",
"salesforceUsername": "admin@company.com",
"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": [
"critical",
"monitored"
],
"branch": "main",
"orchestrationOrder": 1,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z"
}
]
}Environment created successfully with lock status information
{"id":"456e7890-e89b-12d3-a456-426614174001","repositoryIdentifier":"myorg/myrepo","repositoryName":"myrepo","name":"prod","description":"Production environment","category":"release","salesforceUsername":"admin@company.com","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":["critical","monitored"],"branch":"main","orchestrationOrder":null,"createdAt":"2024-01-01T00:00:00Z","updatedAt":"2024-01-01T00:00:00Z","createdBy":"admin@company.com","updatedBy":"admin@company.com"}Bad request
Forbidden - Requires role: owner, application
Repository or Salesforce org not found
Environment already exists or Salesforce username already registered
POST /sfp/api/environments HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 287
{
"repositoryIdentifier": "myorg/myrepo",
"name": "prod",
"description": "Production environment",
"category": "release",
"salesforceUsername": "admin@company.com",
"isActive": true,
"isDefault": true,
"metadata": {
"region": "us-west",
"tier": "enterprise"
},
"tags": [
"critical",
"monitored"
],
"branch": "main"
}{
"id": "456e7890-e89b-12d3-a456-426614174001",
"repositoryIdentifier": "myorg/myrepo",
"repositoryName": "myrepo",
"name": "prod",
"description": "Production environment",
"category": "release",
"salesforceUsername": "admin@company.com",
"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": [
"critical",
"monitored"
],
"branch": "main",
"orchestrationOrder": null,
"createdAt": "2024-01-01T00:00:00Z",
"updatedAt": "2024-01-01T00:00:00Z",
"createdBy": "admin@company.com",
"updatedBy": "admin@company.com"
}Repository identifier (e.g., owner/repo)
myorg/myrepoEnvironment category
Ordered array of environment names
["dev1","dev2","dev3"]Bad request - missing required parameters
Forbidden - Requires role: owner, application
GET /sfp/api/environments/orchestration-order?repositoryIdentifier=myorg%2Fmyrepo&category=dev&includeInactive=text&branch=text HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
"dev1",
"dev2",
"dev3"
]Repository identifier (e.g., owner/repo)
myorg/myrepoEnvironment category
Updated orchestration order
["dev3","dev1","dev2"]Bad request - missing parameters or invalid environment names
Forbidden - Requires role: owner, application
PUT /sfp/api/environments/orchestration-order?repositoryIdentifier=myorg%2Fmyrepo&category=dev&includeInactive=text&branch=text HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 43
{
"environmentOrder": [
"dev1",
"dev2",
"dev3"
]
}[
"dev3",
"dev1",
"dev2"
]Forbidden - Requires role: owner, application
No content
GET /sfp/api/environments/find?sandboxName=text&productionOrg=text&salesforceUsername=text&name=text&repositoryIdentifier=text HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Forbidden - Requires role: owner, application
No content
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
Forbidden - Requires role: member, owner, application
Environment not found
GET /sfp/api/environments/by-name/{name}?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoEnvironment deleted successfully
No content
Forbidden - Requires role: owner
Environment not found
Cannot delete locked environment
DELETE /sfp/api/environments/by-name/{name}?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoEnvironment updated successfully
No content
Forbidden - Requires role: owner, application
Environment or Salesforce org not found
Environment name already exists
PATCH /sfp/api/environments/by-name/{name}?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 6
"text"No content
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":"admin@company.com","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"}Forbidden - Requires role: member, owner, application
Environment not found
GET /sfp/api/environments/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "456e7890-e89b-12d3-a456-426614174001",
"repositoryIdentifier": "myorg/my-salesforce-project",
"repositoryName": "my-salesforce-project",
"name": "prod",
"description": "Production environment",
"category": "release",
"salesforceUsername": "admin@company.com",
"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 ID
456e7890-e89b-12d3-a456-426614174001Environment deleted successfully
No content
Forbidden - Requires role: owner
Environment not found
Cannot delete locked environment
DELETE /sfp/api/environments/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
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":"admin@company.com","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":"admin@company.com","updatedBy":"admin@company.com"}Forbidden - Requires role: owner, application
Environment or Salesforce org not found
Environment name already exists or Salesforce username conflict
PATCH /sfp/api/environments/{id} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 46
{
"tags": [
"production",
"critical",
"monitored"
]
}{
"id": "456e7890-e89b-12d3-a456-426614174001",
"repositoryIdentifier": "myorg/myrepo",
"repositoryName": "myrepo",
"name": "prod",
"description": "Updated production environment",
"category": "release",
"salesforceUsername": "admin@company.com",
"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": "admin@company.com",
"updatedBy": "admin@company.com"
}Environment ID
456e7890-e89b-12d3-a456-426614174001Full repository identifier (e.g., owner/repo)
myorg/my-salesforce-projectEnvironment locked successfully
Unique ticket ID for this lock. Use this to release the lock.
ticket_789abc12-3def-4567-8901-234567890abcMissing repositoryIdentifier parameter
Forbidden - Requires role: owner, application
Environment not found
POST /sfp/api/environments/{id}/lock?repositoryIdentifier=myorg%2Fmy-salesforce-project HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 65
{
"leaseDurationSeconds": 3600,
"reason": "Deploying release v2.1.0"
}{
"ticketId": "ticket_789abc12-3def-4567-8901-234567890abc"
}Environment ID
456e7890-e89b-12d3-a456-426614174001Lock ticket ID obtained when requesting the lock
ticket_789abc12-3def-4567-8901-234567890abcFull repository identifier (e.g., owner/repo)
myorg/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
acquired456e7890-e89b-12d3-a456-426614174001productionadmin@company.comShort-lived access token (returned when authType=accessToken)
00D...Salesforce instance URL
https://mycompany.my.salesforce.comSFDX Auth URL with refresh token (returned when authType=sfdxAuthUrl)
force://PlatformCLI::...Front door URL for accessing the Salesforce org
https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=...Forbidden - Requires role: owner, application
Ticket not found or expired
Timeout waiting for lock acquisition
PUT /sfp/api/environments/{id}/lock/{ticketId}/acquire?repositoryIdentifier=myorg%2Fmy-salesforce-project HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "acquired",
"environmentId": "456e7890-e89b-12d3-a456-426614174001",
"environmentName": "production",
"salesforceUsername": "admin@company.com",
"accessToken": "00D...",
"instanceUrl": "https://mycompany.my.salesforce.com",
"sfdxAuthUrl": "force://PlatformCLI::...",
"frontDoorUrl": "https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=..."
}Environment ID
456e7890-e89b-12d3-a456-426614174001Lock ticket ID obtained when locking
ticket_789abc12-3def-4567-8901-234567890abcFull repository identifier (e.g., owner/repo)
myorg/my-salesforce-projectEnvironment unlocked successfully
No content
Missing repositoryIdentifier parameter
Forbidden - Requires role: owner, application
Environment or lock not found
DELETE /sfp/api/environments/{id}/lock/{ticketId}?repositoryIdentifier=myorg%2Fmy-salesforce-project HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Environment name
productionRepository identifier (owner/repo)
myorg/myrepoEnvironment locked successfully
Unique ticket ID for this lock. Use this to release the lock.
ticket_789abc12-3def-4567-8901-234567890abcBad request
Forbidden - Requires role: owner, application
Environment not found
POST /sfp/api/environments/by-name/{name}/lock?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 63
{
"leaseDurationMinutes": 60,
"reason": "Deploying release v2.1.0"
}{
"ticketId": "ticket_789abc12-3def-4567-8901-234567890abc"
}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
acquired456e7890-e89b-12d3-a456-426614174001productionadmin@company.comShort-lived access token (returned when authType=accessToken)
00D...Salesforce instance URL
https://mycompany.my.salesforce.comSFDX Auth URL with refresh token (returned when authType=sfdxAuthUrl)
force://PlatformCLI::...Front door URL for accessing the Salesforce org
https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=...Forbidden - Requires role: owner, application
Environment or ticket not found
Timeout waiting for lock acquisition
PUT /sfp/api/environments/by-name/{name}/lock/{ticketId}/acquire?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "acquired",
"environmentId": "456e7890-e89b-12d3-a456-426614174001",
"environmentName": "production",
"salesforceUsername": "admin@company.com",
"accessToken": "00D...",
"instanceUrl": "https://mycompany.my.salesforce.com",
"sfdxAuthUrl": "force://PlatformCLI::...",
"frontDoorUrl": "https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=..."
}Environment name
productionLock ticket ID obtained when locking
ticket_789abc12-3def-4567-8901-234567890abcRepository identifier (owner/repo)
myorg/myrepoEnvironment unlocked successfully
No content
Bad request
Forbidden - Requires role: owner, application
Environment not found
DELETE /sfp/api/environments/by-name/{name}/lock/{ticketId}?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
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"}]Forbidden - Requires role: owner, application
GET /sfp/api/environments/{id}/audit?accessType=text&offset=1 HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"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"
}
]Repository identifier (e.g., owner/repo)
Maximum number of audit records (default: 100)
Repository environment access audit logs
Forbidden - Requires role: owner, application
GET /sfp/api/environments/repository/{repositoryIdentifier}/audit?accessType=text&offset=1 HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[]Environment ID
456e7890-e89b-12d3-a456-426614174001Whether to redirect to Salesforce (default: true) or return the URL (false)
falseFrontdoor URL retrieved (when redirect=false)
Salesforce frontdoor URL with session ID
https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=00D...&retURL=%2FRedirect to Salesforce (when redirect=true)
Unable to generate frontdoor URL
Forbidden - Requires role: member, owner
Environment not found
GET /sfp/api/environments/{id}/frontdoor HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"url": "https://mycompany.my.salesforce.com/secur/frontdoor.jsp?sid=00D...&retURL=%2F"
}Environment ID (UUID)
123e4567-e89b-12d3-a456-426614174000Force refresh the cached data
List of installed artifacts retrieved successfully
Environment ID
Environment name
Salesforce username
Timestamp when artifacts were retrieved
Whether the response was served from cache
Unable to retrieve artifacts (e.g., authentication error)
Forbidden - Requires role: member, application
Environment not found
GET /sfp/api/environments/{id}/artifacts HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"environmentId": "text",
"environmentName": "text",
"salesforceUsername": "text",
"artifacts": [
{
"name": "text",
"version": "text",
"commitId": "text",
"subscriberVersion": "text",
"type": "text",
"isInstalledBysfp": true
}
],
"retrievedAt": "2026-01-01T00:00:00.000Z",
"cached": true
}Environment name
productionRepository identifier (e.g., owner/repo)
myorg/myrepoForce refresh the cached data
List of installed artifacts retrieved successfully
Environment ID
Environment name
Salesforce username
Timestamp when artifacts were retrieved
Whether the response was served from cache
Unable to retrieve artifacts (e.g., authentication error)
Forbidden - Requires role: member, application
Environment not found
GET /sfp/api/environments/by-name/{name}/artifacts?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"environmentId": "text",
"environmentName": "text",
"salesforceUsername": "text",
"artifacts": [
{
"name": "text",
"version": "text",
"commitId": "text",
"subscriberVersion": "text",
"type": "text",
"isInstalledBysfp": true
}
],
"retrievedAt": "2026-01-01T00:00:00.000Z",
"cached": true
} 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
0Include changelog computation (commits, work items) for each release
falseReleases retrieved successfully
The environment ID
123e4567-e89b-12d3-a456-426614174000The environment name
productionRepository identifier
myorg/myrepoTotal count of releases (before pagination)
100Number of results returned (pagination limit)
50Number of results skipped (pagination offset)
0ISO timestamp when the data was retrieved
2024-01-15T10:30:00.000ZForbidden - Requires role: member, owner, application
Environment not found
GET /sfp/api/environments/{id}/releases HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"environmentId": "123e4567-e89b-12d3-a456-426614174000",
"environmentName": "production",
"repositoryIdentifier": "myorg/myrepo",
"releases": [
{
"name": "v1.2.3",
"domain": "core",
"targetOrg": "production",
"publishedAt": "2024-01-15T10:30:00.000Z",
"repoIdentifier": "myorg/myrepo",
"metadata": {},
"changelog": {}
}
],
"totalCount": 100,
"limit": 50,
"offset": 0,
"retrievedAt": "2024-01-15T10:30:00.000Z"
} 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
0Include changelog computation (commits, work items) for each release
falseReleases retrieved successfully
The environment ID
123e4567-e89b-12d3-a456-426614174000The environment name
productionRepository identifier
myorg/myrepoTotal count of releases (before pagination)
100Number of results returned (pagination limit)
50Number of results skipped (pagination offset)
0ISO timestamp when the data was retrieved
2024-01-15T10:30:00.000ZMissing or invalid parameters
Forbidden - Requires role: member, owner, application
Environment not found
GET /sfp/api/environments/by-name/{name}/releases?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"environmentId": "123e4567-e89b-12d3-a456-426614174000",
"environmentName": "production",
"repositoryIdentifier": "myorg/myrepo",
"releases": [
{
"name": "v1.2.3",
"domain": "core",
"targetOrg": "production",
"publishedAt": "2024-01-15T10:30:00.000Z",
"repoIdentifier": "myorg/myrepo",
"metadata": {},
"changelog": {}
}
],
"totalCount": 100,
"limit": 50,
"offset": 0,
"retrievedAt": "2024-01-15T10:30:00.000Z"
}Repository identifier in format owner/repo
myorg/myrepoComma-separated list of environment names to compare. If not provided, all environments are compared.
dev,staging,prodFilter environments by category
Force refresh all caches, bypassing the 30-minute cache TTL (default: false)
Artifacts comparison completed successfully
Timestamp when the comparison was performed
Invalid parameters or no environments found
Unauthorized
Forbidden - Requires role: member, application
GET /sfp/api/environments/artifacts/compare?repositoryIdentifier=myorg%2Fmyrepo HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"summary": {
"totalPackages": 15,
"packagesByType": {
"Unlocked": 5,
"Source/Data": 3,
"Managed": 2
},
"outOfSyncCount": 3,
"outOfSyncPercentage": 20,
"environments": [
"Dev",
"Test",
"Staging",
"Production"
]
},
"packages": [
{
"name": "text",
"type": "text",
"isOutOfSync": true,
"versions": {
"ANY_ADDITIONAL_PROPERTY": null
}
}
],
"retrievedAt": "2026-01-01T00:00:00.000Z",
"fetchStatus": [
{
"environmentName": "text",
"success": true,
"cached": true,
"retrievedAt": "2026-01-01T00:00:00.000Z",
"error": "text"
}
]
}Last updated
Was this helpful?