mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 10:21:37 +00:00
* feat(redirects): add redirects to sites * chore(style): fixed coding style issues * style: fix php-stan docblocks * style: pint cleanup * tests: fixed redirect test suite * feat: vhosts include additional configs * fix: use exact location matching * - add enums - use queues - use vhost rather than separate conf files - vhost formatter - cleanup * generate docs --------- Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
5911 lines
178 KiB
YAML
5911 lines
178 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: 'API Documentation'
|
|
description: "VitoDeploy's API documentation."
|
|
version: 1.0.0
|
|
servers:
|
|
-
|
|
url: 'https://your-vito-url'
|
|
paths:
|
|
'/api/projects/{project_id}/servers/{server_id}/cron-jobs':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all cron jobs.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- cron-jobs
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new cron job.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- cron-jobs
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
description: ''
|
|
example: sit
|
|
nullable: false
|
|
user:
|
|
type: string
|
|
description: ''
|
|
example: root
|
|
nullable: false
|
|
enum:
|
|
- root
|
|
- vito
|
|
frequency:
|
|
type: string
|
|
description: 'Frequency of the cron job.'
|
|
example: '* * * * *'
|
|
nullable: false
|
|
required:
|
|
- command
|
|
- user
|
|
- frequency
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/cron-jobs/{cronJob_id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a cron job by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- cron-jobs
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete cron job.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- cron-jobs
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: cronJob_id
|
|
description: 'The ID of the cronJob.'
|
|
example: 13
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/database-users':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all database users.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: imurray
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: raleigh.heidenreich
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: imurray
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: raleigh.heidenreich
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
username:
|
|
type: string
|
|
example: imurray
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- database-users
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new database user.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
username: kbernhard
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
username:
|
|
type: string
|
|
example: kbernhard
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- database-users
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: ''
|
|
example: ut
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: ''
|
|
example: "L&1)4X-w>&T=:'Y2#x"
|
|
nullable: false
|
|
host:
|
|
type: string
|
|
description: 'Host, if it is a remote user.'
|
|
example: '%'
|
|
nullable: false
|
|
required:
|
|
- username
|
|
- password
|
|
- host
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/database-users/{databaseUser_id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a database user by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
username: lavada.casper
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
username:
|
|
type: string
|
|
example: lavada.casper
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- database-users
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete database user.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- database-users
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: databaseUser_id
|
|
description: 'The ID of the databaseUser.'
|
|
example: 8
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/database-users/{databaseUser_id}/link':
|
|
post:
|
|
summary: link
|
|
operationId: link
|
|
description: 'Link to databases'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
username: ojerde
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
username:
|
|
type: string
|
|
example: ojerde
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- database-users
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
databases:
|
|
type: string
|
|
description: 'Array of database names to link to the user.'
|
|
example: laboriosam
|
|
nullable: false
|
|
required:
|
|
- databases
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: databaseUser_id
|
|
description: 'The ID of the databaseUser.'
|
|
example: 3
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/databases':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all databases.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: fkrajcik
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: critchie
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: fkrajcik
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: critchie
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: fkrajcik
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- databases
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new database.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
name: cory33
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: cory33
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- databases
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: esse
|
|
nullable: false
|
|
charset:
|
|
type: string
|
|
description: ''
|
|
example: ut
|
|
nullable: false
|
|
collation:
|
|
type: string
|
|
description: ''
|
|
example: labore
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- charset
|
|
- collation
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/databases/{id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a database by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
name: walter.jacey
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: walter.jacey
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- databases
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the database.'
|
|
example: 9
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/databases/{database_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete database.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- databases
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: database_id
|
|
description: 'The ID of the database.'
|
|
example: 16
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/firewall-rules':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all firewall rules.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
name: optio
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 52674
|
|
source: 142.10.115.135
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: dolores
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 34607
|
|
source: 20.175.64.76
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
name: optio
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 52674
|
|
source: 142.10.115.135
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: dolores
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 34607
|
|
source: 20.175.64.76
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: optio
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 52674
|
|
source:
|
|
type: string
|
|
example: 142.10.115.135
|
|
mask:
|
|
type: integer
|
|
example: 24
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- firewall-rules
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new firewall rule.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
name: molestiae
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 26783
|
|
source: 190.202.255.27
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: molestiae
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 26783
|
|
source:
|
|
type: string
|
|
example: 190.202.255.27
|
|
mask:
|
|
type: integer
|
|
example: 24
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- firewall-rules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: voluptas
|
|
nullable: false
|
|
type:
|
|
type: string
|
|
description: ''
|
|
example: deny
|
|
nullable: false
|
|
enum:
|
|
- allow
|
|
- deny
|
|
protocol:
|
|
type: string
|
|
description: ''
|
|
example: udp
|
|
nullable: false
|
|
enum:
|
|
- tcp
|
|
- udp
|
|
port:
|
|
type: string
|
|
description: ''
|
|
example: qui
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: amet
|
|
nullable: false
|
|
mask:
|
|
type: string
|
|
description: 'Mask for source IP.'
|
|
example: '0'
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- type
|
|
- protocol
|
|
- port
|
|
- mask
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/firewall-rules/{firewallRule_id}':
|
|
put:
|
|
summary: edit
|
|
operationId: edit
|
|
description: 'Update an existing firewall rule.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
name: labore
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 29044
|
|
source: 113.132.217.224
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: labore
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 29044
|
|
source:
|
|
type: string
|
|
example: 113.132.217.224
|
|
mask:
|
|
type: integer
|
|
example: 24
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- firewall-rules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: et
|
|
nullable: false
|
|
type:
|
|
type: string
|
|
description: ''
|
|
example: allow
|
|
nullable: false
|
|
enum:
|
|
- allow
|
|
- deny
|
|
protocol:
|
|
type: string
|
|
description: ''
|
|
example: tcp
|
|
nullable: false
|
|
enum:
|
|
- tcp
|
|
- udp
|
|
port:
|
|
type: string
|
|
description: ''
|
|
example: rerum
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: sed
|
|
nullable: false
|
|
mask:
|
|
type: string
|
|
description: 'Mask for source IP.'
|
|
example: '0'
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- type
|
|
- protocol
|
|
- port
|
|
- mask
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a firewall rule by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
name: ipsa
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 50679
|
|
source: 42.114.67.31
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: ipsa
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 50679
|
|
source:
|
|
type: string
|
|
example: 42.114.67.31
|
|
mask:
|
|
type: integer
|
|
example: 24
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- firewall-rules
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete firewall rule.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- firewall-rules
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: firewallRule_id
|
|
description: 'The ID of the firewallRule.'
|
|
example: 85
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
/api/health:
|
|
get:
|
|
summary: health-check
|
|
operationId: healthCheck
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
success: true
|
|
version: 2.4.0
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
example: true
|
|
version:
|
|
type: string
|
|
example: 2.4.0
|
|
tags:
|
|
- general
|
|
security: []
|
|
/api/projects:
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all projects.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: 3
|
|
name: 'Kattie Haley'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Kailyn Kiehn'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: 3
|
|
name: 'Kattie Haley'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Kailyn Kiehn'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Kattie Haley'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- projects
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new project.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Dayne White'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Dayne White'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: excepturi
|
|
nullable: false
|
|
required:
|
|
- name
|
|
'/api/projects/{id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a project by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Cheyenne Ankunding III'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Cheyenne Ankunding III'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- projects
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: 'Update project.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Susanna Stark'
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Susanna Stark'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: mollitia
|
|
nullable: false
|
|
required:
|
|
- name
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete project.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- projects
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects':
|
|
get:
|
|
summary: index
|
|
operationId: index
|
|
description: 'Get all redirects.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 301
|
|
from: error
|
|
to: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 301
|
|
from: repellat
|
|
to: 'http://gislason.biz/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 301
|
|
from: error
|
|
to: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 301
|
|
from: repellat
|
|
to: 'http://gislason.biz/sed-corrupti-et-id-earum-qui-consequatur-quis-voluptas.html'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
site_id:
|
|
type: string
|
|
example: null
|
|
mode:
|
|
type: integer
|
|
example: 301
|
|
from:
|
|
type: string
|
|
example: error
|
|
to:
|
|
type: string
|
|
example: 'https://www.pfannerstill.com/facere-est-totam-laudantium-in-illo-sequi'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- redirects
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new redirect.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- redirects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
from:
|
|
type: string
|
|
description: ''
|
|
example: vel
|
|
nullable: false
|
|
to:
|
|
type: string
|
|
description: ''
|
|
example: ea
|
|
nullable: false
|
|
mode:
|
|
type: string
|
|
description: ''
|
|
example: 307
|
|
nullable: false
|
|
enum:
|
|
- 301
|
|
- 302
|
|
- 307
|
|
- 308
|
|
required:
|
|
- from
|
|
- to
|
|
- mode
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 11
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete a redirect.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- redirects
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 11
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: redirect_id
|
|
description: 'The ID of the redirect.'
|
|
example: 9
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/server-providers':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: id
|
|
provider: custom
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: culpa
|
|
provider: linode
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: id
|
|
provider: custom
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: culpa
|
|
provider: linode
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: id
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- server-providers
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: et
|
|
provider: vultr
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: et
|
|
provider:
|
|
type: string
|
|
example: vultr
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- server-providers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
|
example: mollitia
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server provider.'
|
|
example: adipisci
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: animi
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: provident
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: deserunt
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- key
|
|
- secret
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/server-providers/{serverProvider_id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: ab
|
|
provider: digitalocean
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: ab
|
|
provider:
|
|
type: string
|
|
example: digitalocean
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- server-providers
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: expedita
|
|
provider: aws
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: expedita
|
|
provider:
|
|
type: string
|
|
example: aws
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- server-providers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the server provider.'
|
|
example: eveniet
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: false
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- global
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- server-providers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: serverProvider_id
|
|
description: 'The ID of the serverProvider.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all servers in a project.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Consuelo Connelly'
|
|
ssh_user: vito
|
|
ip: 80.154.83.232
|
|
local_ip: 45.31.117.65
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Rodolfo Fadel'
|
|
ssh_user: vito
|
|
ip: 103.227.79.93
|
|
local_ip: 33.49.217.56
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Consuelo Connelly'
|
|
ssh_user: vito
|
|
ip: 80.154.83.232
|
|
local_ip: 45.31.117.65
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Rodolfo Fadel'
|
|
ssh_user: vito
|
|
ip: 103.227.79.93
|
|
local_ip: 33.49.217.56
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
user_id:
|
|
type: string
|
|
example: null
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Consuelo Connelly'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 80.154.83.232
|
|
local_ip:
|
|
type: string
|
|
example: 45.31.117.65
|
|
port:
|
|
type: integer
|
|
example: 22
|
|
os:
|
|
type: string
|
|
example: ubuntu_22
|
|
type:
|
|
type: string
|
|
example: regular
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
provider_data:
|
|
type: string
|
|
example: null
|
|
public_key:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: ready
|
|
auto_update:
|
|
type: string
|
|
example: null
|
|
available_updates:
|
|
type: integer
|
|
example: 0
|
|
security_updates:
|
|
type: string
|
|
example: null
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
progress_step:
|
|
type: string
|
|
example: null
|
|
updates:
|
|
type: string
|
|
example: null
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- servers
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new server.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Herbert VonRueden'
|
|
ssh_user: vito
|
|
ip: 91.154.105.143
|
|
local_ip: 62.75.177.7
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
user_id:
|
|
type: string
|
|
example: null
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Herbert VonRueden'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 91.154.105.143
|
|
local_ip:
|
|
type: string
|
|
example: 62.75.177.7
|
|
port:
|
|
type: integer
|
|
example: 22
|
|
os:
|
|
type: string
|
|
example: ubuntu_22
|
|
type:
|
|
type: string
|
|
example: regular
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
provider_data:
|
|
type: string
|
|
example: null
|
|
public_key:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: ready
|
|
auto_update:
|
|
type: string
|
|
example: null
|
|
available_updates:
|
|
type: integer
|
|
example: 0
|
|
security_updates:
|
|
type: string
|
|
example: null
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
progress_step:
|
|
type: string
|
|
example: null
|
|
updates:
|
|
type: string
|
|
example: null
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- servers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The server provider type'
|
|
example: incidunt
|
|
nullable: false
|
|
server_provider:
|
|
type: string
|
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
|
example: hetzner
|
|
nullable: false
|
|
enum:
|
|
- custom
|
|
- hetzner
|
|
- digitalocean
|
|
- linode
|
|
- vultr
|
|
region:
|
|
type: string
|
|
description: 'Provider region if the provider is not custom'
|
|
example: ut
|
|
nullable: false
|
|
plan:
|
|
type: string
|
|
description: 'Provider plan if the provider is not custom'
|
|
example: ullam
|
|
nullable: false
|
|
ip:
|
|
type: string
|
|
description: 'SSH IP address if the provider is custom'
|
|
example: architecto
|
|
nullable: false
|
|
port:
|
|
type: string
|
|
description: 'SSH Port if the provider is custom'
|
|
example: praesentium
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server.'
|
|
example: facere
|
|
nullable: false
|
|
os:
|
|
type: string
|
|
description: 'The os of the server'
|
|
example: illo
|
|
nullable: false
|
|
webserver:
|
|
type: string
|
|
description: 'Web server'
|
|
example: none
|
|
nullable: false
|
|
enum:
|
|
- none
|
|
- nginx
|
|
database:
|
|
type: string
|
|
description: Database
|
|
example: none
|
|
nullable: false
|
|
enum:
|
|
- none
|
|
- mysql57
|
|
- mysql80
|
|
- mariadb103
|
|
- mariadb104
|
|
- mariadb103
|
|
- postgresql12
|
|
- postgresql13
|
|
- postgresql14
|
|
- postgresql15
|
|
- postgresql16
|
|
php:
|
|
type: string
|
|
description: 'PHP version'
|
|
example: '8.1'
|
|
nullable: false
|
|
enum:
|
|
- '7.0'
|
|
- '7.1'
|
|
- '7.2'
|
|
- '7.3'
|
|
- '7.4'
|
|
- '8.0'
|
|
- '8.1'
|
|
- '8.2'
|
|
- '8.3'
|
|
required:
|
|
- provider
|
|
- server_provider
|
|
- region
|
|
- plan
|
|
- ip
|
|
- port
|
|
- name
|
|
- os
|
|
- webserver
|
|
- database
|
|
- php
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a server by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
project_id: null
|
|
user_id: null
|
|
provider_id: null
|
|
name: 'Connie Simonis'
|
|
ssh_user: vito
|
|
ip: 202.119.26.253
|
|
local_ip: 112.75.79.203
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
user_id:
|
|
type: string
|
|
example: null
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Connie Simonis'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 202.119.26.253
|
|
local_ip:
|
|
type: string
|
|
example: 112.75.79.203
|
|
port:
|
|
type: integer
|
|
example: 22
|
|
os:
|
|
type: string
|
|
example: ubuntu_22
|
|
type:
|
|
type: string
|
|
example: regular
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
provider_data:
|
|
type: string
|
|
example: null
|
|
public_key:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: ready
|
|
auto_update:
|
|
type: string
|
|
example: null
|
|
available_updates:
|
|
type: integer
|
|
example: 0
|
|
security_updates:
|
|
type: string
|
|
example: null
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
progress_step:
|
|
type: string
|
|
example: null
|
|
updates:
|
|
type: string
|
|
example: null
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- servers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/reboot':
|
|
post:
|
|
summary: reboot
|
|
operationId: reboot
|
|
description: 'Reboot a server.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- servers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/upgrade':
|
|
post:
|
|
summary: upgrade
|
|
operationId: upgrade
|
|
description: 'Upgrade server.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- servers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete server.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- servers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all services.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
type: null
|
|
type_data: null
|
|
name: null
|
|
version: null
|
|
unit: null
|
|
status: null
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
type: null
|
|
type_data: null
|
|
name: null
|
|
version: null
|
|
unit: null
|
|
status: null
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
type: null
|
|
type_data: null
|
|
name: null
|
|
version: null
|
|
unit: null
|
|
status: null
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
type: null
|
|
type_data: null
|
|
name: null
|
|
version: null
|
|
unit: null
|
|
status: null
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: null
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: null
|
|
version:
|
|
type: string
|
|
example: null
|
|
unit:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: null
|
|
is_default:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a service by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
type: null
|
|
type_data: null
|
|
name: null
|
|
version: null
|
|
unit: null
|
|
status: null
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: null
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: null
|
|
version:
|
|
type: string
|
|
example: null
|
|
unit:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: null
|
|
is_default:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}/start':
|
|
post:
|
|
summary: start
|
|
operationId: start
|
|
description: 'Start service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}/stop':
|
|
post:
|
|
summary: stop
|
|
operationId: stop
|
|
description: 'Stop service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}/restart':
|
|
post:
|
|
summary: restart
|
|
operationId: restart
|
|
description: 'Restart service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}/enable':
|
|
post:
|
|
summary: enable
|
|
operationId: enable
|
|
description: 'Enable service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}/disable':
|
|
post:
|
|
summary: disable
|
|
operationId: disable
|
|
description: 'Disable service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/services/{service_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete service.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- services
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 169
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all sites.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
domain:
|
|
type: string
|
|
example: test.com
|
|
aliases:
|
|
type: string
|
|
example: null
|
|
web_directory:
|
|
type: string
|
|
example: /
|
|
path:
|
|
type: string
|
|
example: /home
|
|
php_version:
|
|
type: string
|
|
example: '8.2'
|
|
repository:
|
|
type: string
|
|
example: null
|
|
branch:
|
|
type: string
|
|
example: main
|
|
status:
|
|
type: string
|
|
example: ready
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- sites
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new site.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
domain:
|
|
type: string
|
|
example: test.com
|
|
aliases:
|
|
type: string
|
|
example: null
|
|
web_directory:
|
|
type: string
|
|
example: /
|
|
path:
|
|
type: string
|
|
example: /home
|
|
php_version:
|
|
type: string
|
|
example: '8.2'
|
|
repository:
|
|
type: string
|
|
example: null
|
|
branch:
|
|
type: string
|
|
example: main
|
|
status:
|
|
type: string
|
|
example: ready
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
type:
|
|
type: string
|
|
description: ''
|
|
example: phpmyadmin
|
|
nullable: false
|
|
enum:
|
|
- php
|
|
- php-blank
|
|
- phpmyadmin
|
|
- laravel
|
|
- wordpress
|
|
- load-balancer
|
|
domain:
|
|
type: string
|
|
description: ''
|
|
example: tenetur
|
|
nullable: false
|
|
aliases:
|
|
type: array
|
|
description: ''
|
|
example:
|
|
- aut
|
|
items:
|
|
type: string
|
|
php_version:
|
|
type: string
|
|
description: 'One of the installed PHP Versions'
|
|
example: '7.4'
|
|
nullable: false
|
|
web_directory:
|
|
type: string
|
|
description: 'Required for PHP and Laravel sites'
|
|
example: public
|
|
nullable: false
|
|
source_control:
|
|
type: string
|
|
description: 'Source control ID, Required for Sites which support source control'
|
|
example: quasi
|
|
nullable: false
|
|
repository:
|
|
type: string
|
|
description: 'Repository, Required for Sites which support source control'
|
|
example: organization/repository
|
|
nullable: false
|
|
branch:
|
|
type: string
|
|
description: 'Branch, Required for Sites which support source control'
|
|
example: main
|
|
nullable: false
|
|
composer:
|
|
type: boolean
|
|
description: 'Run composer if site supports composer'
|
|
example: true
|
|
nullable: false
|
|
version:
|
|
type: string
|
|
description: 'Version, if the site type requires a version like PHPMyAdmin'
|
|
example: 5.2.1
|
|
nullable: false
|
|
user:
|
|
type: string
|
|
description: 'user, to isolate the website under a new user'
|
|
example: deleniti
|
|
nullable: false
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: round-robin
|
|
nullable: false
|
|
enum:
|
|
- round-robin
|
|
- least-connections
|
|
- ip-hash
|
|
required:
|
|
- type
|
|
- domain
|
|
- aliases
|
|
- php_version
|
|
- web_directory
|
|
- source_control
|
|
- repository
|
|
- branch
|
|
- composer
|
|
- version
|
|
- user
|
|
- method
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a site by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
server_id: null
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
port: null
|
|
user: vito
|
|
progress: 100
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
domain:
|
|
type: string
|
|
example: test.com
|
|
aliases:
|
|
type: string
|
|
example: null
|
|
web_directory:
|
|
type: string
|
|
example: /
|
|
path:
|
|
type: string
|
|
example: /home
|
|
php_version:
|
|
type: string
|
|
example: '8.2'
|
|
repository:
|
|
type: string
|
|
example: null
|
|
branch:
|
|
type: string
|
|
example: main
|
|
status:
|
|
type: string
|
|
example: ready
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- sites
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the site.'
|
|
example: 12
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete site.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- sites
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 9
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer':
|
|
post:
|
|
summary: load-balancer
|
|
operationId: loadBalancer
|
|
description: 'Update load balancer.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: ip-hash
|
|
nullable: false
|
|
enum:
|
|
- round-robin
|
|
- least-connections
|
|
- ip-hash
|
|
servers:
|
|
type: array
|
|
description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)'
|
|
example:
|
|
- dolores
|
|
items:
|
|
type: string
|
|
required:
|
|
- method
|
|
- servers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 19
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/aliases':
|
|
put:
|
|
summary: aliases
|
|
operationId: aliases
|
|
description: 'Update aliases.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
aliases:
|
|
type: array
|
|
description: 'Array of aliases'
|
|
example:
|
|
- aut
|
|
items:
|
|
type: string
|
|
required:
|
|
- aliases
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 16
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deployment-script':
|
|
put:
|
|
summary: deployment-script
|
|
operationId: deploymentScript
|
|
description: 'Update site deployment script'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
script:
|
|
type: string
|
|
description: 'Content of the deployment script'
|
|
example: qui
|
|
nullable: false
|
|
required:
|
|
- script
|
|
get:
|
|
summary: deployment-script
|
|
operationId: deploymentScript
|
|
description: 'Get site deployment script content'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 3
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/source-controls':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: 'Emil Leannon'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Eleazar Pacocha Sr.'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: 'Emil Leannon'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Eleazar Pacocha Sr.'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Emil Leannon'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- source-controls
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: 'Ahmad Kulas'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Ahmad Kulas'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- source-controls
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider'
|
|
example: github
|
|
nullable: false
|
|
enum:
|
|
- gitlab
|
|
- github
|
|
- bitbucket
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: aliquam
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: voluptatem
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'https://brown.org/placeat-optio-illum-eius-ipsa.html'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: a
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: "_/_,9'/6z;9"
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- url
|
|
- username
|
|
- password
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/source-controls/{sourceControl_id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: 'Mr. Marquis Kunde IV'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Mr. Marquis Kunde IV'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- source-controls
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: 'Mrs. Arvilla Mitchell'
|
|
provider: github
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Mrs. Arvilla Mitchell'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- source-controls
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: laudantium
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: nulla
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'http://wiza.com/'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: numquam
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: 'MlD,$m:8^A'
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: false
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- token
|
|
- url
|
|
- username
|
|
- password
|
|
- global
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- source-controls
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: sourceControl_id
|
|
description: 'The ID of the sourceControl.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/ssh-keys':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all ssh keys.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Dr. Pansy Kunde DVM'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Ms. Maximillia DuBuque Sr.'
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Dr. Pansy Kunde DVM'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Ms. Maximillia DuBuque Sr.'
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Dr. Pansy Kunde DVM'
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- ssh-keys
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Deploy ssh key to server.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: null
|
|
user: null
|
|
name: 'Uriah Harvey'
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Uriah Harvey'
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- ssh-keys
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
key_id:
|
|
type: string
|
|
description: 'The ID of the key.'
|
|
example: debitis
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'Key name, required if key_id is not provided.'
|
|
example: illum
|
|
nullable: false
|
|
public_key:
|
|
type: string
|
|
description: 'Public Key, required if key_id is not provided.'
|
|
example: dignissimos
|
|
nullable: false
|
|
required:
|
|
- key_id
|
|
- name
|
|
- public_key
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/ssh-keys/{sshKey_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete ssh key from server.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- ssh-keys
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 29
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: sshKey_id
|
|
description: 'The ID of the sshKey.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/storage-providers':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: autem
|
|
provider: s3
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: nihil
|
|
provider: ftp
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: autem
|
|
provider: s3
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: nihil
|
|
provider: ftp
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: autem
|
|
provider:
|
|
type: string
|
|
example: s3
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
links:
|
|
type: object
|
|
properties:
|
|
first:
|
|
type: string
|
|
example: '/?page=1'
|
|
last:
|
|
type: string
|
|
example: '/?page=1'
|
|
prev:
|
|
type: string
|
|
example: null
|
|
next:
|
|
type: string
|
|
example: null
|
|
meta:
|
|
type: object
|
|
properties:
|
|
current_page:
|
|
type: integer
|
|
example: 1
|
|
from:
|
|
type: integer
|
|
example: 1
|
|
last_page:
|
|
type: integer
|
|
example: 1
|
|
links:
|
|
type: array
|
|
example:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
items:
|
|
type: object
|
|
properties:
|
|
url:
|
|
type: string
|
|
example: null
|
|
label:
|
|
type: string
|
|
example: '« Previous'
|
|
active:
|
|
type: boolean
|
|
example: false
|
|
path:
|
|
type: string
|
|
example: /
|
|
per_page:
|
|
type: integer
|
|
example: 25
|
|
to:
|
|
type: integer
|
|
example: 2
|
|
total:
|
|
type: integer
|
|
example: 2
|
|
tags:
|
|
- storage-providers
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: omnis
|
|
provider: local
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: omnis
|
|
provider:
|
|
type: string
|
|
example: local
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- storage-providers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
|
example: est
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: voluptatem
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: delectus
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: natus
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: saepe
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- key
|
|
- secret
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/storage-providers/{storageProvider_id}':
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: molestiae
|
|
provider: dropbox
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: molestiae
|
|
provider:
|
|
type: string
|
|
example: dropbox
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- storage-providers
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: dolorum
|
|
provider: s3
|
|
created_at: '2025-03-31T15:27:17.000000Z'
|
|
updated_at: '2025-03-31T15:27:17.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: dolorum
|
|
provider:
|
|
type: string
|
|
example: s3
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-31T15:27:17.000000Z'
|
|
tags:
|
|
- storage-providers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: exercitationem
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: true
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- global
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- storage-providers
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: storageProvider_id
|
|
description: 'The ID of the storageProvider.'
|
|
example: 3
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
tags:
|
|
-
|
|
name: cron-jobs
|
|
description: ''
|
|
-
|
|
name: database-users
|
|
description: ''
|
|
-
|
|
name: databases
|
|
description: ''
|
|
-
|
|
name: firewall-rules
|
|
description: ''
|
|
-
|
|
name: general
|
|
description: ''
|
|
-
|
|
name: projects
|
|
description: ''
|
|
-
|
|
name: redirects
|
|
description: ''
|
|
-
|
|
name: server-providers
|
|
description: ''
|
|
-
|
|
name: servers
|
|
description: ''
|
|
-
|
|
name: services
|
|
description: ''
|
|
-
|
|
name: sites
|
|
description: ''
|
|
-
|
|
name: source-controls
|
|
description: ''
|
|
-
|
|
name: ssh-keys
|
|
description: ''
|
|
-
|
|
name: storage-providers
|
|
description: ''
|
|
components:
|
|
securitySchemes:
|
|
default:
|
|
type: http
|
|
scheme: bearer
|
|
description: 'You can retrieve your token by visiting <a href="/settings/api-keys" target="_blank">here</a>'
|
|
security:
|
|
-
|
|
default: []
|