Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ admin-idp-p*.json
# V1 to V2 migration scripts and test data (local only)
scripts/
docs/index.html
mcp-server.log
2 changes: 2 additions & 0 deletions docs/openapi/api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,8 @@ paths:
$ref: './plg-onboarding-api.yaml#/plg-onboard'
/plg/sites:
$ref: './plg-onboarding-api.yaml#/plg-sites'
/plg/onboard/{onboardingId}:
$ref: './plg-onboarding-api.yaml#/plg-onboard-update'
/plg/onboard/status/{imsOrgId}:
$ref: './plg-onboarding-api.yaml#/plg-onboard-status'

Expand Down
79 changes: 79 additions & 0 deletions docs/openapi/plg-onboarding-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,85 @@ plg-sites:
security:
- ims_key: [ ]

plg-onboard-update:
parameters:
- name: onboardingId
in: path
required: true
schema:
$ref: './schemas.yaml#/Id'
description: The PLG onboarding record ID
patch:
tags:
- plg
summary: Review a waitlisted PLG onboarding
description: |
Admin-only endpoint for ESEs to review a waitlisted PLG onboarding.
Supports BYPASSED (skip the blocking check and re-run the onboarding flow)
or UPHELD (block stands, no re-run).

Behavior per waitlist reason:
- **DOMAIN_ALREADY_ONBOARDED_IN_ORG**: Sets the old onboarded domain to INACTIVE,
then re-runs the flow for the new domain.
- **AEM_SITE_CHECK**: Requires `siteConfig.rumHost`. Derives delivery config (AEM CS)
or code/hlx config (AEM EDS) from rumHost, then re-runs the flow.
- **DOMAIN_ALREADY_ASSIGNED**: Sets the current record to INACTIVE, then runs the
flow under the existing org that owns the site.
operationId: updatePlgOnboard
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- decision
- justification
properties:
decision:
type: string
enum:
- BYPASSED
- UPHELD
description: "BYPASSED: skip check and resume onboarding. UPHELD: block stands."
justification:
type: string
description: ESE's reason for the decision
example: "Customer confirmed AEM migration in progress"
siteConfig:
type: object
description: Required for AEM_SITE_CHECK bypass. Provide rumHost.
properties:
rumHost:
type: string
description: |
The RUM host for the site. For AEM CS: publish-p{programId}-e{envId}.adobeaemcloud.com.
For AEM EDS: ref--repo--owner.aem.live.
example: "publish-p123-e456.adobeaemcloud.com"
responses:
'200':
description: |
BYPASSED: onboarding flow result (ONBOARDED or re-waitlisted at different check).
UPHELD: record returned as-is with WAITLISTED status.
content:
application/json:
schema:
$ref: './schemas.yaml#/PlgOnboarding'
'400':
$ref: './responses.yaml#/400'
'401':
$ref: './responses.yaml#/401'
'403':
$ref: './responses.yaml#/403'
'404':
$ref: './responses.yaml#/404'
'409':
description: Conflict - PLG onboarding already exists for domain under existing org
'500':
$ref: './responses.yaml#/500'
security:
- admin_key: [ ]

plg-onboard-status:
parameters:
- $ref: './parameters.yaml#/imsOrgId'
Expand Down
29 changes: 29 additions & 0 deletions docs/openapi/schemas.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6779,6 +6779,7 @@ PlgOnboarding:
- ERROR
- WAITING_FOR_IP_ALLOWLISTING
- WAITLISTED
- INACTIVE
example: "ONBOARDED"
siteId:
$ref: '#/Id'
Expand Down Expand Up @@ -6852,6 +6853,34 @@ PlgOnboarding:
- 'null'
description: Reason for waitlisting, if applicable
example: null
reviews:
type:
- array
- 'null'
description: Array of ESE review decisions for waitlisted onboardings
items:
type: object
properties:
reason:
type: string
description: The waitlist reason at the time of review
decision:
type: string
enum:
- BYPASSED
- UPHELD
description: "BYPASSED: skip check and resume. UPHELD: block stands."
reviewedBy:
type: string
description: Email of the ESE who made the decision
reviewedAt:
type: string
format: date-time
description: Timestamp of the review
justification:
type: string
description: ESE's reason for the decision
example: null
completedAt:
$ref: '#/DateTime'
createdAt:
Expand Down
24 changes: 24 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading