Review Environments

Assign a review environment from pool

post

Fetches an available environment from the specified pool and assigns it to a PR, issue, user, or custom identifier. If an active assignment already exists, it will be reused.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
assignmentTypestring · enumRequired

Type of assignment for the review environment

Possible values:
assignmentIdstringRequired

Unique identifier for the assignment (e.g., "123" for PR number)

Pattern: ^[a-zA-Z0-9@._-]+$
repositoryIdentifierstringRequired

Repository identifier in format owner/repo or org/project/repo

Pattern: ^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+(\/[a-zA-Z0-9_.-]+)?$
poolTagstringOptional

Tag of the pool to fetch from. If not provided, resolved via branch/domain patterns

Pattern: ^[a-z0-9_-]+$
branchstringOptional

Git branch name for automatic pool resolution

domainsstring[]Optional

Domain names for automatic pool resolution (supports multiple domains)

domainstringOptional

Specific domain for multi-domain assignments

expirationHoursinteger · min: 1 · max: 720Optional

Hours before expiration (1-720). If not provided, uses pool default

isImmortalbooleanOptional

If true, the environment will never expire

Default: false
overridebooleanOptional

Force reassignment even if an environment is already assigned

Default: false
Responses
chevron-right
403

Forbidden - Requires role: owner, application

No content

post
/sfp/api/review/environments/assign

No content

Get review environment details

get

Retrieves the details of a specific review environment assignment

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
assignmentTypestring · enumRequired

Type of assignment

Possible values:
assignmentIdstringRequired

Assignment identifier

Query parameters
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
domainstringOptional

Specific domain for multi-domain assignments

Example: sales
Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

get
/sfp/api/review/environments/{assignmentType}/{assignmentId}

No content

Extend review environment expiration

post

Extends the expiration time of a review environment assignment. Can also be used to make an environment immortal or remove immortal status.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
assignmentTypestring · enumRequired

Type of assignment for the review environment

Example: prPossible values:
assignmentIdstringRequired

Unique identifier for the assignment

Example: 123
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
extensionHoursnumber · min: 1 · max: 168Optional

Number of hours to extend the expiration by. If not provided, uses pool default.

Example: 24
isImmortalbooleanOptional

If true, makes the environment immortal (never expires). If false, removes immortal status.

Example: false
domainstringOptional

Specific domain to extend. If not provided, extends the default domain.

Example: sales
Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

post
/sfp/api/review/environments/extend

No content

Unassign review environment

post

Releases a review environment assignment and optionally returns it to the pool

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
assignmentTypestring · enumRequired

Type of assignment for the review environment

Example: prPossible values:
assignmentIdstringRequired

Unique identifier for the assignment

Example: 123
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
returnToPoolbooleanOptional

If true, returns the environment to the pool as available. If false, marks it as expired.

Default: trueExample: true
domainstringOptional

Specific domain to unassign. If not provided, unassigns all domains.

Example: sales
Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

post
/sfp/api/review/environments/unassign

No content

Transition environment between assignments

post

Moves a review environment from one assignment to another (e.g., from PR to issue)

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
fromAssignmentTypestring · enumRequired

Current assignment type

Example: prPossible values:
fromAssignmentIdstringRequired

Current assignment identifier

Example: 123
toAssignmentTypestring · enumRequired

New assignment type

Example: issuePossible values:
toAssignmentIdstringRequired

New assignment identifier

Example: 456
metadataobjectOptional

Additional metadata for the new assignment

Example: {"reason":"PR merged, moving to issue for tracking","transitionedBy":"automation"}
Responses
chevron-right
403

Forbidden - Requires role: owner, member

No content

post
/sfp/api/review/environments/transition

No content

Acquire environment for use

post

Marks an assigned environment as in-use for a specified duration. Uses optimistic locking to handle concurrent requests.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
assignmentTypestring · enumRequired

Type of assignment

Example: prPossible values:
assignmentIdstringRequired

Unique identifier for the assignment

Example: 123
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
durationnumber · min: 1 · max: 480Required

Duration in minutes for which the environment is needed

Example: 30
usedBystringRequired

Identifier of the process or user acquiring the environment

Example: ci-pipeline-123 or [email protected]
domainstringOptional

Specific domain to acquire (for multi-domain assignments)

Example: sales
Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

post
/sfp/api/review/environments/acquire

Release environment from use

post

Marks an environment as idle, making it available for other processes to acquire

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
assignmentTypestring · enumRequired

Type of assignment

Possible values:
assignmentIdstring · min: 1Required

Unique identifier for the assignment

repositoryIdentifierstringRequired

Repository identifier in format owner/repo or org/project/repo

Pattern: ^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+(\/[a-zA-Z0-9_.-]+)?$
domainstringOptional

Specific domain to release (for multi-domain assignments)

Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

post
/sfp/api/review/environments/release

List review environment assignments

get

Retrieves a list of review environment assignments with optional filters

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
repositoryIdentifierstringOptional

Filter by repository identifier

Example: flxbl-io/sf-core
assignmentTypestring · enumOptional

Filter by assignment type

Possible values:
assignmentIdstringOptional

Filter by assignment ID

Example: 123
poolTagstringOptional

Filter by pool tag

Example: core_dev
statusstring · enumOptional

Filter by assignment status

Possible values:
assignedBystringOptional

Filter by who assigned the environment

Example: [email protected]
includeExpiredbooleanOptional

Include expired assignments in the results. By default, expired assignments are excluded unless explicitly requested

Default: falseExample: false
Responses
chevron-right
403

Forbidden - Requires role: owner, member, application

No content

get
/sfp/api/review/environments/list

No content

Last updated