openapi: 3.0.3
info:
  title: TenantPilot Admin — Provider Connections (Tenantless)
  version: 0.1.0
  description: |
    Minimal contract for canonical tenantless navigation routes. This does not attempt to model Livewire/Filament internals.
servers:
  - url: / 
paths:
  /admin/provider-connections:
    get:
      summary: List provider connections (tenantless)
      description: |
        Returns the Provider Connections list UI. Data returned/rendered must be scoped to tenants the actor is a member of.
      parameters:
        - name: tenant_id
          in: query
          required: false
          description: Tenant external ID (UUID). If present, takes precedence over session tenant context.
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
        '404':
          description: Not found (non-workspace member)
        '403':
          description: Forbidden (workspace+tenant member but missing required capability)

  /admin/tenants/{tenantExternalId}/provider-connections:
    get:
      summary: Legacy redirect to canonical tenantless list
      parameters:
        - name: tenantExternalId
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '302':
          description: Redirects to /admin/provider-connections?tenant_id={tenantExternalId}
        '404':
          description: Not found (non-workspace member or not entitled to the tenant)
