mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-20 02:11:36 +00:00
* feat(api): Add endpoint for updating site deployment script - Add PUT /api/projects/{project}/servers/{server}/sites/{site}/deployment-script endpoint - Add feature tests for successful and failed updates * added reading deployment script as well * generate docs --------- Co-authored-by: Saeed Vaziry <mr.saeedvaziry@gmail.com>
5617 lines
169 KiB
YAML
5617 lines
169 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: qui
|
|
nullable: false
|
|
user:
|
|
type: string
|
|
description: ''
|
|
example: vito
|
|
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: 17
|
|
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: lehner.eloy
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: rlowe
|
|
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: lehner.eloy
|
|
databases: []
|
|
host: '%'
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
username: rlowe
|
|
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: lehner.eloy
|
|
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: fahey.joseph
|
|
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: fahey.joseph
|
|
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: voluptas
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: ''
|
|
example: ':D+e=/;H,'
|
|
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: szboncak
|
|
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: szboncak
|
|
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: 19
|
|
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: smith.liliana
|
|
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: smith.liliana
|
|
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: accusantium
|
|
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: 11
|
|
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: joyce53
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: eric55
|
|
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: joyce53
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: null
|
|
name: eric55
|
|
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: joyce53
|
|
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: brekke.isabell
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: brekke.isabell
|
|
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: debitis
|
|
nullable: false
|
|
charset:
|
|
type: string
|
|
description: ''
|
|
example: maxime
|
|
nullable: false
|
|
collation:
|
|
type: string
|
|
description: ''
|
|
example: sed
|
|
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: vandervort.emmalee
|
|
status: ready
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: vandervort.emmalee
|
|
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: 11
|
|
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: 5
|
|
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: ea
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 41910
|
|
source: 202.183.211.242
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: iusto
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 60689
|
|
source: 227.149.61.57
|
|
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: ea
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 41910
|
|
source: 202.183.211.242
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
name: iusto
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 60689
|
|
source: 227.149.61.57
|
|
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: ea
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 41910
|
|
source:
|
|
type: string
|
|
example: 202.183.211.242
|
|
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: in
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 13253
|
|
source: 245.228.81.208
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: in
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 13253
|
|
source:
|
|
type: string
|
|
example: 245.228.81.208
|
|
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: autem
|
|
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: quas
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: blanditiis
|
|
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: repudiandae
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 44250
|
|
source: 243.200.88.169
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: repudiandae
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 44250
|
|
source:
|
|
type: string
|
|
example: 243.200.88.169
|
|
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: earum
|
|
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: ab
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: possimus
|
|
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: quam
|
|
server_id: null
|
|
type: allow
|
|
protocol: tcp
|
|
port: 62505
|
|
source: 73.254.77.244
|
|
mask: 24
|
|
note: test
|
|
status: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: quam
|
|
server_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 62505
|
|
source:
|
|
type: string
|
|
example: 73.254.77.244
|
|
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: 'Amara Jaskolski'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Christy Kohler'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: 'Amara Jaskolski'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Christy Kohler'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Amara Jaskolski'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: 'Prof. Enrico Wehner Sr.'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Prof. Enrico Wehner Sr.'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: temporibus
|
|
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: 'Zoie Feest'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Zoie Feest'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: 'Mr. Jayme Kuhlman DVM'
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Mr. Jayme Kuhlman DVM'
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: sit
|
|
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}/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: quaerat
|
|
provider: aws
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: quas
|
|
provider: vultr
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: quaerat
|
|
provider: aws
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: quas
|
|
provider: vultr
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: quaerat
|
|
provider:
|
|
type: string
|
|
example: aws
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: iure
|
|
provider: hetzner
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: iure
|
|
provider:
|
|
type: string
|
|
example: hetzner
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: exercitationem
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server provider.'
|
|
example: similique
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: nisi
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: tempora
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: earum
|
|
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: vultr
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: et
|
|
provider:
|
|
type: string
|
|
example: vultr
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: aliquam
|
|
provider: hetzner
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: aliquam
|
|
provider:
|
|
type: string
|
|
example: hetzner
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: porro
|
|
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: 'Prof. Wyatt Powlowski IV'
|
|
ssh_user: vito
|
|
ip: 33.53.217.82
|
|
local_ip: 227.155.11.76
|
|
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: "Guiseppe D'Amore"
|
|
ssh_user: vito
|
|
ip: 41.138.98.159
|
|
local_ip: 78.178.81.109
|
|
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: 'Prof. Wyatt Powlowski IV'
|
|
ssh_user: vito
|
|
ip: 33.53.217.82
|
|
local_ip: 227.155.11.76
|
|
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: "Guiseppe D'Amore"
|
|
ssh_user: vito
|
|
ip: 41.138.98.159
|
|
local_ip: 78.178.81.109
|
|
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: 'Prof. Wyatt Powlowski IV'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 33.53.217.82
|
|
local_ip:
|
|
type: string
|
|
example: 227.155.11.76
|
|
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: 'Anissa McDermott'
|
|
ssh_user: vito
|
|
ip: 212.15.34.173
|
|
local_ip: 142.201.95.242
|
|
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: 'Anissa McDermott'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 212.15.34.173
|
|
local_ip:
|
|
type: string
|
|
example: 142.201.95.242
|
|
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: vel
|
|
nullable: false
|
|
server_provider:
|
|
type: string
|
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
|
example: hetzner
|
|
nullable: false
|
|
enum:
|
|
- custom
|
|
- hetzner
|
|
- digitalocean
|
|
- linode
|
|
- vultr
|
|
region:
|
|
type: string
|
|
description: 'Provider region if the provider is not custom'
|
|
example: voluptatibus
|
|
nullable: false
|
|
plan:
|
|
type: string
|
|
description: 'Provider plan if the provider is not custom'
|
|
example: ducimus
|
|
nullable: false
|
|
ip:
|
|
type: string
|
|
description: 'SSH IP address if the provider is custom'
|
|
example: dolores
|
|
nullable: false
|
|
port:
|
|
type: string
|
|
description: 'SSH Port if the provider is custom'
|
|
example: ratione
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server.'
|
|
example: in
|
|
nullable: false
|
|
os:
|
|
type: string
|
|
description: 'The os of the server'
|
|
example: cumque
|
|
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.4'
|
|
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: 'Prof. Newton Wintheiser Jr.'
|
|
ssh_user: vito
|
|
ip: 243.154.251.36
|
|
local_ip: 198.224.194.65
|
|
port: 22
|
|
os: ubuntu_22
|
|
type: regular
|
|
type_data: null
|
|
provider: custom
|
|
provider_data: null
|
|
public_key: test
|
|
status: ready
|
|
auto_update: null
|
|
available_updates: 0
|
|
security_updates: null
|
|
progress: 100
|
|
progress_step: null
|
|
updates: null
|
|
last_update_check: null
|
|
created_at: null
|
|
updated_at: null
|
|
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: 'Prof. Newton Wintheiser Jr.'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ip:
|
|
type: string
|
|
example: 243.154.251.36
|
|
local_ip:
|
|
type: string
|
|
example: 198.224.194.65
|
|
port:
|
|
type: integer
|
|
example: 22
|
|
os:
|
|
type: string
|
|
example: ubuntu_22
|
|
type:
|
|
type: string
|
|
example: regular
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
provider_data:
|
|
type: string
|
|
example: null
|
|
public_key:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: ready
|
|
auto_update:
|
|
type: string
|
|
example: null
|
|
available_updates:
|
|
type: integer
|
|
example: 0
|
|
security_updates:
|
|
type: string
|
|
example: null
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
progress_step:
|
|
type: string
|
|
example: null
|
|
updates:
|
|
type: string
|
|
example: null
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
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: harum
|
|
nullable: false
|
|
aliases:
|
|
type: array
|
|
description: ''
|
|
example:
|
|
- voluptatem
|
|
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: amet
|
|
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: et
|
|
nullable: false
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: least-connections
|
|
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: 43
|
|
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: 43
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer':
|
|
post:
|
|
summary: load-balancer
|
|
operationId: loadBalancer
|
|
description: 'Update load balancer.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: ip-hash
|
|
nullable: false
|
|
enum:
|
|
- round-robin
|
|
- least-connections
|
|
- ip-hash
|
|
servers:
|
|
type: array
|
|
description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)'
|
|
example:
|
|
- accusantium
|
|
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: 43
|
|
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:
|
|
- ut
|
|
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: 43
|
|
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: culpa
|
|
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: 43
|
|
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: 'Amya Jones'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Jerry Donnelly'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: 'Amya Jones'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: 'Jerry Donnelly'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: 'Amya Jones'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: 'Dr. Janae Tremblay PhD'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Dr. Janae Tremblay PhD'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
tags:
|
|
- source-controls
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider'
|
|
example: bitbucket
|
|
nullable: false
|
|
enum:
|
|
- gitlab
|
|
- github
|
|
- bitbucket
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: eligendi
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: debitis
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'http://fahey.com/aliquid-sapiente-labore-adipisci-eum-laborum'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: rerum
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: 'wBK}NHxV:x'
|
|
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: 'Marguerite Aufderhar'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Marguerite Aufderhar'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: 'Johan Crooks'
|
|
provider: github
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Johan Crooks'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: blanditiis
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: non
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'https://www.veum.com/eum-voluptas-non-rem-non-rerum-tempora-quam'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: porro
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: '>BW~{`#d,}=U!XxC!t]'
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: false
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- token
|
|
- url
|
|
- username
|
|
- password
|
|
- global
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- source-controls
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: sourceControl_id
|
|
description: 'The ID of the sourceControl.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/ssh-keys':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all ssh keys.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Dr. Virgie Reilly'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Horace Gutmann'
|
|
created_at: null
|
|
updated_at: null
|
|
links:
|
|
first: '/?page=1'
|
|
last: '/?page=1'
|
|
prev: null
|
|
next: null
|
|
meta:
|
|
current_page: 1
|
|
from: 1
|
|
last_page: 1
|
|
links:
|
|
-
|
|
url: null
|
|
label: '« Previous'
|
|
active: false
|
|
-
|
|
url: '/?page=1'
|
|
label: '1'
|
|
active: true
|
|
-
|
|
url: null
|
|
label: 'Next »'
|
|
active: false
|
|
path: /
|
|
per_page: 25
|
|
to: 2
|
|
total: 2
|
|
properties:
|
|
data:
|
|
type: array
|
|
example:
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Dr. Virgie Reilly'
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
user: null
|
|
name: 'Horace Gutmann'
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Dr. Virgie Reilly'
|
|
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: 'Miss Penelope Sipes IV'
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Miss Penelope Sipes IV'
|
|
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: et
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'Key name, required if key_id is not provided.'
|
|
example: provident
|
|
nullable: false
|
|
public_key:
|
|
type: string
|
|
description: 'Public Key, required if key_id is not provided.'
|
|
example: incidunt
|
|
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: sit
|
|
provider: ftp
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: repudiandae
|
|
provider: local
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: sit
|
|
provider: ftp
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
-
|
|
id: 6
|
|
project_id: null
|
|
global: true
|
|
name: repudiandae
|
|
provider: local
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.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: sit
|
|
provider:
|
|
type: string
|
|
example: ftp
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: sequi
|
|
provider: dropbox
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: sequi
|
|
provider:
|
|
type: string
|
|
example: dropbox
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
tags:
|
|
- storage-providers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider (aws, linode, hetzner, digitalocean, vultr, ...)'
|
|
example: est
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: id
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: repellendus
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: ducimus
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: possimus
|
|
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: alias
|
|
provider: ftp
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: alias
|
|
provider:
|
|
type: string
|
|
example: ftp
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: at
|
|
provider: ftp
|
|
created_at: '2025-03-29T20:43:56.000000Z'
|
|
updated_at: '2025-03-29T20:43:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 5
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: at
|
|
provider:
|
|
type: string
|
|
example: ftp
|
|
created_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-03-29T20:43:56.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: ullam
|
|
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: 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: []
|