Review/pools

Query pool assignment rules

get

Search and filter pool assignment rules by various criteria

Query parameters
repositoryIdentifierstringOptional

Filter by repository

Example: flxbl-io/sf-core
poolTagstringOptional

Filter by pool tag

Example: feature_dev
isActivebooleanOptional

Filter by active status

Example: true
branchPatternSearchstringOptional

Search in branch patterns

Example: feature
domainPatternSearchstringOptional

Search in domain patterns

Example: staging
Responses
200

List of pool assignment rules

application/json
get
GET /sfp/api/review/pools/assign HTTP/1.1
Host: 
Accept: */*
200

List of pool assignment rules

[
  {
    "id": "rpa_1234567890",
    "repositoryIdentifier": "flxbl-io/sf-core",
    "poolTag": "feature_dev",
    "poolType": "SANDBOX",
    "branchPattern": "feature/*",
    "domainPatterns": [
      "sales",
      "service"
    ],
    "priority": 10,
    "description": "Feature branches use the development pool",
    "isActive": true,
    "createdAt": "2025-01-01T12:00:00Z",
    "updatedAt": "2025-01-02T12:00:00Z",
    "createdBy": "[email protected]",
    "updatedBy": "[email protected]",
    "version": 1
  }
]

Create a pool assignment rule

post

Creates a new rule for automatically assigning pools to review environments based on branch and domain patterns

Body
repositoryIdentifierstringRequired

Repository identifier in format owner/repo

Example: flxbl-io/sf-core
poolTagstringRequired

Tag of the pool to assign for matching patterns

Example: feature_dev
poolTypestring · enumOptional

Type of pool (SANDBOX or SCRATCH_ORG). If not specified, will be detected from the pool configuration.

Example: SANDBOXPossible values:
branchPatternstringRequired

Git branch pattern to match (supports wildcards: , prefix/, *suffix)

Example: main
domainPatternstringOptionalDeprecated

Domain pattern to match (supports wildcards) - DEPRECATED: Use domainPatterns instead

Example: *
domainPatternsstring[]Optional

Domain patterns to match (supports wildcards, leave empty to match any domain)

Example: ["sales"]
prioritynumber · max: 1000Required

Priority for conflict resolution. Higher values take precedence.

Example: 10
descriptionstringOptional

Optional description explaining the assignment rule

Example: Feature branches use the development pool for any domain
isActivebooleanOptional

Whether this assignment rule is active

Default: true
Responses
201

Pool assignment rule created successfully

application/json
post
POST /sfp/api/review/pools/assign HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 241

{
  "repositoryIdentifier": "flxbl-io/sf-core",
  "poolTag": "feature_dev",
  "poolType": "SANDBOX",
  "branchPattern": "main",
  "domainPatterns": [
    "sales"
  ],
  "priority": 10,
  "description": "Feature branches use the development pool for any domain",
  "isActive": true
}
{
  "id": "rpa_1234567890",
  "repositoryIdentifier": "flxbl-io/sf-core",
  "poolTag": "feature_dev",
  "poolType": "SANDBOX",
  "branchPattern": "feature/*",
  "domainPatterns": [
    "sales",
    "service"
  ],
  "priority": 10,
  "description": "Feature branches use the development pool",
  "isActive": true,
  "createdAt": "2025-01-01T12:00:00Z",
  "updatedAt": "2025-01-02T12:00:00Z",
  "createdBy": "[email protected]",
  "updatedBy": "[email protected]",
  "version": 1
}

Test pattern matching

post

Test which pool would be assigned for a given repository, branch, and domain combination

Body
repositoryIdentifierstringRequired

Repository identifier

Example: flxbl-io/sf-core
branchstringRequired

Branch to test

Example: feature/ABC-123
domainsstring[]Optional

Domains to test (supports multiple domains)

Example: ["sales","service"]
Responses
200

Pattern matching test results

application/json
post
POST /sfp/api/review/pools/assign/test HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "repositoryIdentifier": "flxbl-io/sf-core",
  "branch": "feature/ABC-123",
  "domains": [
    "sales",
    "service"
  ]
}
200

Pattern matching test results

{
  "matched": true,
  "poolTag": "feature_dev",
  "assignment": {
    "id": "rpa_1234567890",
    "repositoryIdentifier": "flxbl-io/sf-core",
    "poolTag": "feature_dev",
    "poolType": "SANDBOX",
    "branchPattern": "feature/*",
    "domainPatterns": [
      "sales",
      "service"
    ],
    "priority": 10,
    "description": "Feature branches use the development pool",
    "isActive": true,
    "createdAt": "2025-01-01T12:00:00Z",
    "updatedAt": "2025-01-02T12:00:00Z",
    "createdBy": "[email protected]",
    "updatedBy": "[email protected]",
    "version": 1
  },
  "matches": [
    {
      "assignment": {
        "id": "rpa_1234567890",
        "repositoryIdentifier": "flxbl-io/sf-core",
        "poolTag": "feature_dev",
        "poolType": "SANDBOX",
        "branchPattern": "feature/*",
        "domainPatterns": [
          "sales",
          "service"
        ],
        "priority": 10,
        "description": "Feature branches use the development pool",
        "isActive": true,
        "createdAt": "2025-01-01T12:00:00Z",
        "updatedAt": "2025-01-02T12:00:00Z",
        "createdBy": "[email protected]",
        "updatedBy": "[email protected]",
        "version": 1
      },
      "branchScore": 1,
      "domainScore": 1,
      "totalScore": 1
    }
  ],
  "testParams": {}
}

Get a pool assignment rule by ID

get
Path parameters
idstringRequired

Pool assignment rule ID

Responses
200

Pool assignment rule details

application/json
get
GET /sfp/api/review/pools/assign/{id} HTTP/1.1
Host: 
Accept: */*
{
  "id": "rpa_1234567890",
  "repositoryIdentifier": "flxbl-io/sf-core",
  "poolTag": "feature_dev",
  "poolType": "SANDBOX",
  "branchPattern": "feature/*",
  "domainPatterns": [
    "sales",
    "service"
  ],
  "priority": 10,
  "description": "Feature branches use the development pool",
  "isActive": true,
  "createdAt": "2025-01-01T12:00:00Z",
  "updatedAt": "2025-01-02T12:00:00Z",
  "createdBy": "[email protected]",
  "updatedBy": "[email protected]",
  "version": 1
}

Update a pool assignment rule

put

Update patterns, priority, or status of an existing pool assignment rule

Path parameters
idstringRequired

Pool assignment rule ID

Body
poolTypestring · enumOptional

Type of pool (SANDBOX or SCRATCH_ORG)

Example: SANDBOXPossible values:
branchPatternstringOptional

Git branch pattern to match

Example: feature/*
domainPatternstringOptionalDeprecated

Domain pattern to match - DEPRECATED: Use domainPatterns instead

Example: sales
domainPatternsstring[]Optional

Domain patterns to match (supports wildcards, leave empty to match any domain)

Example: ["sales","service"]
prioritynumber · max: 1000Optional

Priority for conflict resolution

Example: 10
descriptionstringOptional

Optional description explaining the assignment rule

Example: Updated: Feature branches use the development pool
isActivebooleanOptional

Whether this assignment rule is active

Example: true
Responses
200

Pool assignment rule updated successfully

application/json
put
PUT /sfp/api/review/pools/assign/{id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 184

{
  "poolType": "SANDBOX",
  "branchPattern": "feature/*",
  "domainPatterns": [
    "sales",
    "service"
  ],
  "priority": 10,
  "description": "Updated: Feature branches use the development pool",
  "isActive": true
}
{
  "id": "rpa_1234567890",
  "repositoryIdentifier": "flxbl-io/sf-core",
  "poolTag": "feature_dev",
  "poolType": "SANDBOX",
  "branchPattern": "feature/*",
  "domainPatterns": [
    "sales",
    "service"
  ],
  "priority": 10,
  "description": "Feature branches use the development pool",
  "isActive": true,
  "createdAt": "2025-01-01T12:00:00Z",
  "updatedAt": "2025-01-02T12:00:00Z",
  "createdBy": "[email protected]",
  "updatedBy": "[email protected]",
  "version": 1
}

Delete a pool assignment rule

delete
Path parameters
idstringRequired

Pool assignment rule ID

Responses
204

Pool assignment rule deleted successfully

delete
DELETE /sfp/api/review/pools/assign/{id} HTTP/1.1
Host: 
Accept: */*

No content

Was this helpful?