openapi: 3.0.3 info: title: YakPanel Control Plane API version: 1.0.0 servers: - url: /api/v1 paths: /auth/login: post: tags: [Auth] summary: Authenticate user and return token responses: "200": { description: OK } /tenants: get: tags: [Tenants] summary: List tenant memberships responses: "200": { description: OK } /servers: get: tags: [Servers] summary: List managed servers responses: "200": { description: OK } post: tags: [Servers] summary: Register server metadata responses: "202": { description: Accepted } /sites: get: tags: [Sites] summary: List sites responses: "200": { description: OK } post: tags: [Sites] summary: Create site responses: "202": { description: Accepted } /ssl/issue: post: tags: [SSL] summary: Issue certificate responses: "202": { description: Accepted } /files/list: post: tags: [Files] summary: List files in allowed path scope responses: "200": { description: OK } /cron/jobs: get: tags: [Cron] summary: List cron jobs responses: "200": { description: OK } post: tags: [Cron] summary: Create cron job responses: "202": { description: Accepted } /firewall/rules: get: tags: [Firewall] summary: List firewall rules responses: "200": { description: OK } post: tags: [Firewall] summary: Add firewall rule responses: "202": { description: Accepted } /backups/policies: get: tags: [Backups] summary: List backup policies responses: "200": { description: OK } post: tags: [Backups] summary: Create backup policy responses: "201": { description: Created } /plugins/market: get: tags: [Marketplace] summary: Browse plugin marketplace responses: "200": { description: OK } /plugins/install: post: tags: [Marketplace] summary: Install plugin responses: "202": { description: Accepted } /metrics/servers/{serverId}/live: get: tags: [Monitoring] summary: Get latest real-time server metrics parameters: - in: path name: serverId required: true schema: { type: string, format: uuid } responses: "200": { description: OK } components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT