mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-19 18:01:37 +00:00
* feat(api): Add endpoint for reading site .env file - Add GET /api/projects/{project}/servers/{server}/sites/{site}/env endpoint - Add feature tests with SSH mocking * added updating env * fix coding style * generate docs --------- Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
6031 lines
181 KiB
YAML
6031 lines
181 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: quia
|
|
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: 6
|
|
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: letha64
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: hagenes.lurline
|
|
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: letha64
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: hagenes.lurline
|
|
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: letha64
|
|
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: marcelle95
|
|
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: marcelle95
|
|
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: qui
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: ''
|
|
example: 'xYv*3,#HQ=5<w!'
|
|
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: brandi53
|
|
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: brandi53
|
|
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: 1
|
|
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: kschmidt
|
|
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: kschmidt
|
|
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: maiores
|
|
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: 4
|
|
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: leffler.esther
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: rhoda.rutherford
|
|
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: leffler.esther
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: rhoda.rutherford
|
|
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: leffler.esther
|
|
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: csawayn
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: csawayn
|
|
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: quisquam
|
|
nullable: false
|
|
charset:
|
|
type: string
|
|
description: ''
|
|
example: omnis
|
|
nullable: false
|
|
collation:
|
|
type: string
|
|
description: ''
|
|
example: at
|
|
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: sandrine43
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: sandrine43
|
|
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: 8
|
|
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: 8
|
|
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: ut
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 35499
|
|
source: 177.130.54.250
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: totam
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 29448
|
|
source: 181.194.26.13
|
|
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: ut
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 35499
|
|
source: 177.130.54.250
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: totam
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 29448
|
|
source: 181.194.26.13
|
|
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: ut
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 35499
|
|
source:
|
|
type: string
|
|
example: 177.130.54.250
|
|
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: omnis
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 54634
|
|
source: 246.242.9.65
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: omnis
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 54634
|
|
source:
|
|
type: string
|
|
example: 246.242.9.65
|
|
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: sapiente
|
|
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: et
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: doloribus
|
|
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: consequatur
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 879
|
|
source: 206.106.27.116
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: consequatur
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 879
|
|
source:
|
|
type: string
|
|
example: 206.106.27.116
|
|
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: aut
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: et
|
|
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: dolores
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 4691
|
|
source: 147.108.28.144
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: dolores
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 4691
|
|
source:
|
|
type: string
|
|
example: 147.108.28.144
|
|
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: 'Mr. Drake Nader'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Wilhelmine Jacobson'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: 'Mr. Drake Nader'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Wilhelmine Jacobson'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Mr. Drake Nader'
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: 'Pattie Cole'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Pattie Cole'
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: dignissimos
|
|
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: 'Mr. Elias Bauch'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Mr. Elias Bauch'
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: 'Elfrieda Jakubowski'
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Elfrieda Jakubowski'
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: sunt
|
|
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: 307
|
|
from: ipsum
|
|
to: 'http://fritsch.biz/'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 302
|
|
from: culpa
|
|
to: 'http://www.huels.net/aut-ut-ut-porro-non-rerum-voluptatum.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: 307
|
|
from: ipsum
|
|
to: 'http://fritsch.biz/'
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
site_id: null
|
|
mode: 302
|
|
from: culpa
|
|
to: 'http://www.huels.net/aut-ut-ut-porro-non-rerum-voluptatum.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: 307
|
|
from:
|
|
type: string
|
|
example: ipsum
|
|
to:
|
|
type: string
|
|
example: 'http://fritsch.biz/'
|
|
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: odit
|
|
nullable: false
|
|
to:
|
|
type: string
|
|
description: ''
|
|
example: incidunt
|
|
nullable: false
|
|
mode:
|
|
type: string
|
|
description: ''
|
|
example: 301
|
|
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: 44
|
|
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: 44
|
|
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: aut
|
|
provider: hetzner
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: qui
|
|
provider: aws
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: aut
|
|
provider: hetzner
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: qui
|
|
provider: aws
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: aut
|
|
provider:
|
|
type: string
|
|
example: hetzner
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: voluptas
|
|
provider: vultr
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: voluptas
|
|
provider:
|
|
type: string
|
|
example: vultr
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: corrupti
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server provider.'
|
|
example: est
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: rerum
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: ut
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: sed
|
|
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: et
|
|
provider: digitalocean
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: digitalocean
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: architecto
|
|
provider: digitalocean
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: architecto
|
|
provider:
|
|
type: string
|
|
example: digitalocean
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: earum
|
|
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: 'Miss Bonita Vandervort IV'
|
|
ssh_user: vito
|
|
ip: 120.222.195.212
|
|
local_ip: 138.119.37.248
|
|
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: 'Dr. Shanie Batz IV'
|
|
ssh_user: vito
|
|
ip: 241.88.138.163
|
|
local_ip: 138.226.232.93
|
|
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: 'Miss Bonita Vandervort IV'
|
|
ssh_user: vito
|
|
ip: 120.222.195.212
|
|
local_ip: 138.119.37.248
|
|
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: 'Dr. Shanie Batz IV'
|
|
ssh_user: vito
|
|
ip: 241.88.138.163
|
|
local_ip: 138.226.232.93
|
|
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: 'Miss Bonita Vandervort IV'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 120.222.195.212
|
|
local_ip:
|
|
type: string
|
|
example: 138.119.37.248
|
|
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: 'Jeromy Mann'
|
|
ssh_user: vito
|
|
ip: 128.70.209.89
|
|
local_ip: 150.217.250.187
|
|
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: 'Jeromy Mann'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 128.70.209.89
|
|
local_ip:
|
|
type: string
|
|
example: 150.217.250.187
|
|
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: fugiat
|
|
nullable: false
|
|
server_provider:
|
|
type: string
|
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
|
example: digitalocean
|
|
nullable: false
|
|
enum:
|
|
- custom
|
|
- hetzner
|
|
- digitalocean
|
|
- linode
|
|
- vultr
|
|
region:
|
|
type: string
|
|
description: 'Provider region if the provider is not custom'
|
|
example: itaque
|
|
nullable: false
|
|
plan:
|
|
type: string
|
|
description: 'Provider plan if the provider is not custom'
|
|
example: voluptatum
|
|
nullable: false
|
|
ip:
|
|
type: string
|
|
description: 'SSH IP address if the provider is custom'
|
|
example: ut
|
|
nullable: false
|
|
port:
|
|
type: string
|
|
description: 'SSH Port if the provider is custom'
|
|
example: reiciendis
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server.'
|
|
example: et
|
|
nullable: false
|
|
os:
|
|
type: string
|
|
description: 'The os of the server'
|
|
example: vel
|
|
nullable: false
|
|
webserver:
|
|
type: string
|
|
description: 'Web server'
|
|
example: nginx
|
|
nullable: false
|
|
enum:
|
|
- none
|
|
- nginx
|
|
database:
|
|
type: string
|
|
description: Database
|
|
example: mysql80
|
|
nullable: false
|
|
enum:
|
|
- none
|
|
- mysql57
|
|
- mysql80
|
|
- mariadb103
|
|
- mariadb104
|
|
- mariadb103
|
|
- postgresql12
|
|
- postgresql13
|
|
- postgresql14
|
|
- postgresql15
|
|
- postgresql16
|
|
php:
|
|
type: string
|
|
description: 'PHP version'
|
|
example: '7.2'
|
|
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: 'Miss Maya Schaden I'
|
|
ssh_user: vito
|
|
ip: 44.57.83.39
|
|
local_ip: 46.22.92.58
|
|
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: 'Miss Maya Schaden I'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 44.57.83.39
|
|
local_ip:
|
|
type: string
|
|
example: 46.22.92.58
|
|
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: php-blank
|
|
nullable: false
|
|
enum:
|
|
- php
|
|
- php-blank
|
|
- phpmyadmin
|
|
- laravel
|
|
- wordpress
|
|
- load-balancer
|
|
domain:
|
|
type: string
|
|
description: ''
|
|
example: impedit
|
|
nullable: false
|
|
aliases:
|
|
type: array
|
|
description: ''
|
|
example:
|
|
- cum
|
|
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: non
|
|
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: voluptate
|
|
nullable: false
|
|
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
|
|
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: 44
|
|
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: 44
|
|
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: round-robin
|
|
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:
|
|
- omnis
|
|
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: 44
|
|
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:
|
|
- doloremque
|
|
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: 44
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deploy':
|
|
post:
|
|
summary: deploy
|
|
operationId: deploy
|
|
description: 'Run site deployment script'
|
|
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: 44
|
|
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: voluptatem
|
|
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: 44
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/env':
|
|
get:
|
|
summary: env
|
|
operationId: env
|
|
description: 'Get site .env file content'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
env: APP_NAME=Laravel\nAPP_ENV=production
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: string
|
|
example: APP_NAME=Laravel\nAPP_ENV=production
|
|
tags:
|
|
- sites
|
|
put:
|
|
summary: env
|
|
operationId: env
|
|
description: 'Update site .env file'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: string
|
|
description: 'Content of the .env file'
|
|
example: quam
|
|
nullable: false
|
|
required:
|
|
- env
|
|
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: 44
|
|
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: 'Zella Robel'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Jairo Williamson'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: 'Zella Robel'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Jairo Williamson'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: 'Zella Robel'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: 'Miss Claudine Goyette'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Miss Claudine Goyette'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
tags:
|
|
- source-controls
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider'
|
|
example: gitlab
|
|
nullable: false
|
|
enum:
|
|
- gitlab
|
|
- github
|
|
- bitbucket
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: molestias
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: in
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'https://www.white.com/aperiam-dolor-nemo-qui-rerum-quod-quas'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: consectetur
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: 'y*P4_]ZdjE_:'
|
|
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: 'Mona Stark'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Mona Stark'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: 'Neha Little'
|
|
provider: github
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Neha Little'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: non
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: sunt
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'https://www.frami.org/ex-at-minus-rerum-quo-minus-ea'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: natus
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: 'A^">*m{p]DI'
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: true
|
|
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: 'Santa Goyette'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Cecil Cummings'
|
|
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: 'Santa Goyette'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Cecil Cummings'
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Santa Goyette'
|
|
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: 'Mr. Reagan Jacobson V'
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Mr. Reagan Jacobson V'
|
|
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: explicabo
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'Key name, required if key_id is not provided.'
|
|
example: deleniti
|
|
nullable: false
|
|
public_key:
|
|
type: string
|
|
description: 'Public Key, required if key_id is not provided.'
|
|
example: sapiente
|
|
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: veritatis
|
|
provider: ftp
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: voluptas
|
|
provider: dropbox
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: veritatis
|
|
provider: ftp
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: voluptas
|
|
provider: dropbox
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.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: veritatis
|
|
provider:
|
|
type: string
|
|
example: ftp
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: asperiores
|
|
provider: dropbox
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: asperiores
|
|
provider:
|
|
type: string
|
|
example: dropbox
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: ab
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: quo
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: in
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: sunt
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: molestias
|
|
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: ipsum
|
|
provider: local
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: ipsum
|
|
provider:
|
|
type: string
|
|
example: local
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: minima
|
|
provider: ftp
|
|
created_at: '2025-04-05T17:48:03.000000Z'
|
|
updated_at: '2025-04-05T17:48:03.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: minima
|
|
provider:
|
|
type: string
|
|
example: ftp
|
|
created_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-04-05T17:48:03.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: voluptas
|
|
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: []
|