116 lines
2.6 KiB
YAML
116 lines
2.6 KiB
YAML
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
|