62 lines
1.6 KiB
YAML
62 lines
1.6 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: TenantPilot Admin (Workspace v2)
|
|
version: 0.1.0
|
|
description: |
|
|
High-level contract for workspace-scoped admin entry points.
|
|
|
|
servers:
|
|
- url: /
|
|
|
|
paths:
|
|
/admin/choose-workspace:
|
|
get:
|
|
summary: Choose workspace page
|
|
description: Render a list of workspaces the current user is a member of.
|
|
responses:
|
|
'200': { description: OK }
|
|
'302': { description: Redirect (auto-select when only one membership) }
|
|
|
|
/admin/no-access:
|
|
get:
|
|
summary: No access page
|
|
description: Neutral page for authenticated users with zero workspace memberships.
|
|
responses:
|
|
'200': { description: OK }
|
|
|
|
/admin/w/{workspace}/managed-tenants:
|
|
get:
|
|
summary: List managed tenants (workspace-scoped)
|
|
parameters:
|
|
- name: workspace
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
description: Workspace identifier (slug preferred; id fallback)
|
|
responses:
|
|
'200': { description: OK }
|
|
'404': { description: Not found (non-member) }
|
|
|
|
/admin/w/{workspace}/managed-tenants/onboarding:
|
|
get:
|
|
summary: Start onboarding (workspace-scoped)
|
|
parameters:
|
|
- name: workspace
|
|
in: path
|
|
required: true
|
|
schema: { type: string }
|
|
responses:
|
|
'200': { description: OK }
|
|
'403': { description: Forbidden (member missing capability) }
|
|
'404': { description: Not found (non-member) }
|
|
|
|
components:
|
|
securitySchemes:
|
|
sessionAuth:
|
|
type: apiKey
|
|
in: cookie
|
|
name: tenantpilot_session
|
|
|
|
security:
|
|
- sessionAuth: []
|