mirror of
https://github.com/vitodeploy/vito.git
synced 2025-07-01 05:56:16 +00:00
6322 lines
192 KiB
YAML
6322 lines
192 KiB
YAML
openapi: 3.0.3
|
|
info:
|
|
title: 'API Documentation'
|
|
description: "VitoDeploy's API documentation."
|
|
version: 1.0.0
|
|
servers:
|
|
-
|
|
url: 'https://vito.test'
|
|
tags:
|
|
-
|
|
name: Endpoints
|
|
description: ''
|
|
-
|
|
name: cron-jobs
|
|
description: ''
|
|
-
|
|
name: database-users
|
|
description: ''
|
|
-
|
|
name: databases
|
|
description: ''
|
|
-
|
|
name: firewall-rules
|
|
description: ''
|
|
-
|
|
name: general
|
|
description: ''
|
|
-
|
|
name: projects
|
|
description: ''
|
|
-
|
|
name: redirects
|
|
description: ''
|
|
-
|
|
name: server-providers
|
|
description: ''
|
|
-
|
|
name: servers
|
|
description: ''
|
|
-
|
|
name: services
|
|
description: ''
|
|
-
|
|
name: sites
|
|
description: ''
|
|
-
|
|
name: source-controls
|
|
description: ''
|
|
-
|
|
name: ssh-keys
|
|
description: ''
|
|
-
|
|
name: storage-providers
|
|
description: ''
|
|
paths:
|
|
'/api/servers/{server_id}/agent/{id}':
|
|
post:
|
|
summary: ''
|
|
operationId: postApiServersServer_idAgentId
|
|
description: ''
|
|
parameters: []
|
|
responses: { }
|
|
tags:
|
|
- Endpoints
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
load:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
memory_total:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
memory_used:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
memory_free:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
disk_total:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
disk_used:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
disk_free:
|
|
type: number
|
|
description: ''
|
|
example: 4326.41688
|
|
nullable: false
|
|
required:
|
|
- load
|
|
- memory_total
|
|
- memory_used
|
|
- memory_free
|
|
- disk_total
|
|
- disk_used
|
|
- disk_free
|
|
security: []
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: server_id
|
|
description: 'The ID of the server.'
|
|
example: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the agent.'
|
|
example: architecto
|
|
required: true
|
|
schema:
|
|
type: string
|
|
/api/git-hooks:
|
|
get:
|
|
summary: ''
|
|
operationId: getApiGitHooks
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
404:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
message: ''
|
|
properties:
|
|
message:
|
|
type: string
|
|
example: ''
|
|
tags:
|
|
- Endpoints
|
|
security: []
|
|
'/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: 3
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- cron-jobs
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new cron job.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- cron-jobs
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
command:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
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
|
|
security: []
|
|
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: 6
|
|
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: 3
|
|
server_id: 1
|
|
command: 'ls -la'
|
|
user: root
|
|
frequency: '* * * * *'
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
command:
|
|
type: string
|
|
example: 'ls -la'
|
|
user:
|
|
type: string
|
|
example: root
|
|
frequency:
|
|
type: string
|
|
example: '* * * * *'
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- cron-jobs
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete cron job.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- cron-jobs
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: cronJob_id
|
|
description: 'The ID of the cronJob.'
|
|
example: 1
|
|
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: 4
|
|
server_id: 1
|
|
username: cartwright.maxine
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
server_id: 1
|
|
username: gusikowski.eden
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 4
|
|
server_id: 1
|
|
username: cartwright.maxine
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
server_id: 1
|
|
username: gusikowski.eden
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
username:
|
|
type: string
|
|
example: cartwright.maxine
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: warning
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- database-users
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new database user.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 4
|
|
server_id: 1
|
|
username: justina.gaylord
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
username:
|
|
type: string
|
|
example: justina.gaylord
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: warning
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- database-users
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
username:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: ''
|
|
example: '|]|{+-'
|
|
nullable: false
|
|
host:
|
|
type: string
|
|
description: 'Host, if it is a remote user.'
|
|
example: '%'
|
|
nullable: false
|
|
required:
|
|
- username
|
|
- password
|
|
- host
|
|
security: []
|
|
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: 6
|
|
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: 4
|
|
server_id: 1
|
|
username: zbailey
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
username:
|
|
type: string
|
|
example: zbailey
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: warning
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- database-users
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete database user.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- database-users
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: databaseUser_id
|
|
description: 'The ID of the databaseUser.'
|
|
example: 16
|
|
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: 4
|
|
server_id: 1
|
|
username: zbailey
|
|
databases: []
|
|
host: '%'
|
|
status: creating
|
|
status_color: warning
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
username:
|
|
type: string
|
|
example: zbailey
|
|
databases:
|
|
type: array
|
|
example: []
|
|
host:
|
|
type: string
|
|
example: '%'
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: warning
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
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: architecto
|
|
nullable: false
|
|
required:
|
|
- databases
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: databaseUser_id
|
|
description: 'The ID of the databaseUser.'
|
|
example: 16
|
|
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: 9
|
|
server_id: 1
|
|
name: zbailey
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 10
|
|
server_id: 1
|
|
name: rempel.chadrick
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 9
|
|
server_id: 1
|
|
name: zbailey
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 10
|
|
server_id: 1
|
|
name: rempel.chadrick
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 9
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: zbailey
|
|
collation:
|
|
type: string
|
|
example: null
|
|
charset:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- databases
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new database.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 9
|
|
server_id: 1
|
|
name: zbailey
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 9
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: zbailey
|
|
collation:
|
|
type: string
|
|
example: null
|
|
charset:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- databases
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
charset:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
collation:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- charset
|
|
- collation
|
|
security: []
|
|
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: 6
|
|
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: 9
|
|
server_id: 1
|
|
name: rempel.chadrick
|
|
collation: null
|
|
charset: null
|
|
status: ready
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 9
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
name:
|
|
type: string
|
|
example: rempel.chadrick
|
|
collation:
|
|
type: string
|
|
example: null
|
|
charset:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- databases
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the database.'
|
|
example: 8
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/databases/{database_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete database.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- databases
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: database_id
|
|
description: 'The ID of the database.'
|
|
example: 8
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/firewall-rules':
|
|
get:
|
|
summary: list
|
|
operationId: list
|
|
description: 'Get all firewall rules.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
-
|
|
id: 22
|
|
name: eius
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 9322
|
|
source: 113.14.236.204
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 23
|
|
name: velit
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 2983
|
|
source: 199.172.126.144
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 22
|
|
name: eius
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 9322
|
|
source: 113.14.236.204
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 23
|
|
name: velit
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 2983
|
|
source: 199.172.126.144
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 22
|
|
name:
|
|
type: string
|
|
example: eius
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 9322
|
|
source:
|
|
type: string
|
|
example: 113.14.236.204
|
|
mask:
|
|
type: string
|
|
example: '24'
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: info
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- firewall-rules
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new firewall rule.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 22
|
|
name: eius
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 9322
|
|
source: 113.14.236.204
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 22
|
|
name:
|
|
type: string
|
|
example: eius
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 9322
|
|
source:
|
|
type: string
|
|
example: 113.14.236.204
|
|
mask:
|
|
type: string
|
|
example: '24'
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: info
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- firewall-rules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
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: architecto
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
mask:
|
|
type: string
|
|
description: 'Mask for source IP.'
|
|
example: '0'
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- type
|
|
- protocol
|
|
- port
|
|
- mask
|
|
security: []
|
|
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: 6
|
|
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: 22
|
|
name: eius
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 9322
|
|
source: 113.14.236.204
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 22
|
|
name:
|
|
type: string
|
|
example: eius
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 9322
|
|
source:
|
|
type: string
|
|
example: 113.14.236.204
|
|
mask:
|
|
type: string
|
|
example: '24'
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: info
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- firewall-rules
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
type:
|
|
type: string
|
|
description: ''
|
|
example: deny
|
|
nullable: false
|
|
enum:
|
|
- allow
|
|
- deny
|
|
protocol:
|
|
type: string
|
|
description: ''
|
|
example: udp
|
|
nullable: false
|
|
enum:
|
|
- tcp
|
|
- udp
|
|
port:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
source:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
mask:
|
|
type: string
|
|
description: 'Mask for source IP.'
|
|
example: '0'
|
|
nullable: false
|
|
required:
|
|
- name
|
|
- type
|
|
- protocol
|
|
- port
|
|
- mask
|
|
security: []
|
|
get:
|
|
summary: show
|
|
operationId: show
|
|
description: 'Get a firewall rule by ID.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 22
|
|
name: velit
|
|
server_id: 1
|
|
type: allow
|
|
protocol: tcp
|
|
port: 2983
|
|
source: 199.172.126.144
|
|
mask: '24'
|
|
note: test
|
|
status: creating
|
|
status_color: info
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 22
|
|
name:
|
|
type: string
|
|
example: velit
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: allow
|
|
protocol:
|
|
type: string
|
|
example: tcp
|
|
port:
|
|
type: integer
|
|
example: 2983
|
|
source:
|
|
type: string
|
|
example: 199.172.126.144
|
|
mask:
|
|
type: string
|
|
example: '24'
|
|
note:
|
|
type: string
|
|
example: test
|
|
status:
|
|
type: string
|
|
example: creating
|
|
status_color:
|
|
type: string
|
|
example: info
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- firewall-rules
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete firewall rule.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- firewall-rules
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: firewallRule_id
|
|
description: 'The ID of the firewallRule.'
|
|
example: 19
|
|
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.5.0
|
|
properties:
|
|
success:
|
|
type: boolean
|
|
example: true
|
|
version:
|
|
type: string
|
|
example: 2.5.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: 'Belle Dickens'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Mittie Considine'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 'Belle Dickens'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Mittie Considine'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Belle Dickens'
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new project.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Ms. Elisabeth Okuneva'
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- name
|
|
security: []
|
|
'/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: "Aleen O'Kon"
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: "Aleen O'Kon"
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- projects
|
|
security: []
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: 'Update project.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Ms. Elisabeth Okuneva'
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- projects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
name:
|
|
type: string
|
|
description: 'The name of the project.'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- name
|
|
security: []
|
|
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
|
|
security: []
|
|
parameters:
|
|
-
|
|
in: path
|
|
name: project_id
|
|
description: 'The ID of the project.'
|
|
example: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects':
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new redirect.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- redirects
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
from:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
to:
|
|
type: string
|
|
description: ''
|
|
example: architecto
|
|
nullable: false
|
|
mode:
|
|
type: string
|
|
description: ''
|
|
example: 307
|
|
nullable: false
|
|
enum:
|
|
- 301
|
|
- 302
|
|
- 307
|
|
- 308
|
|
required:
|
|
- from
|
|
- to
|
|
- mode
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/redirects/{redirect_id}':
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: 'Delete a redirect.'
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- redirects
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: redirect_id
|
|
description: 'The ID of the redirect.'
|
|
example: 2
|
|
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: 4
|
|
project_id: null
|
|
global: true
|
|
name: ab
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: incidunt
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 4
|
|
project_id: null
|
|
global: true
|
|
name: ab
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: incidunt
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: ab
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: eius
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: eius
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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: architecto
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server provider.'
|
|
example: architecto
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: architecto
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: architecto
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- key
|
|
- secret
|
|
security: []
|
|
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: 4
|
|
project_id: null
|
|
global: true
|
|
name: mollitia
|
|
provider: vultr
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: mollitia
|
|
provider:
|
|
type: string
|
|
example: vultr
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- server-providers
|
|
security: []
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: eius
|
|
provider: custom
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: eius
|
|
provider:
|
|
type: string
|
|
example: custom
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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: architecto
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: false
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- global
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- server-providers
|
|
security: []
|
|
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: 3
|
|
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: 7
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Rhiannon Hackett'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 15.21.182.27
|
|
local_ip: 15.126.47.30
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 8
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Maya Bins'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 88.63.32.129
|
|
local_ip: 161.58.4.234
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 7
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Rhiannon Hackett'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 15.21.182.27
|
|
local_ip: 15.126.47.30
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 8
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Maya Bins'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 88.63.32.129
|
|
local_ip: 161.58.4.234
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 7
|
|
project_id:
|
|
type: integer
|
|
example: 1
|
|
services:
|
|
type: array
|
|
example: []
|
|
user_id:
|
|
type: integer
|
|
example: 1
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Rhiannon Hackett'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ssh_users:
|
|
type: array
|
|
example:
|
|
- root
|
|
- vito
|
|
items:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
example: 15.21.182.27
|
|
local_ip:
|
|
type: string
|
|
example: 15.126.47.30
|
|
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: integer
|
|
example: 0
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- servers
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new server.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 7
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 75.13.66.152
|
|
local_ip: 199.172.126.144
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 7
|
|
project_id:
|
|
type: integer
|
|
example: 1
|
|
services:
|
|
type: array
|
|
example: []
|
|
user_id:
|
|
type: integer
|
|
example: 1
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Ms. Elisabeth Okuneva'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ssh_users:
|
|
type: array
|
|
example:
|
|
- root
|
|
- vito
|
|
items:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
example: 75.13.66.152
|
|
local_ip:
|
|
type: string
|
|
example: 199.172.126.144
|
|
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: integer
|
|
example: 0
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- servers
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The server provider type'
|
|
example: architecto
|
|
nullable: false
|
|
server_provider:
|
|
type: string
|
|
description: 'If the provider is not custom, the ID of the server provider profile'
|
|
example: linode
|
|
nullable: false
|
|
enum:
|
|
- custom
|
|
- hetzner
|
|
- digitalocean
|
|
- linode
|
|
- vultr
|
|
region:
|
|
type: string
|
|
description: 'Provider region if the provider is not custom'
|
|
example: architecto
|
|
nullable: false
|
|
plan:
|
|
type: string
|
|
description: 'Provider plan if the provider is not custom'
|
|
example: architecto
|
|
nullable: false
|
|
ip:
|
|
type: string
|
|
description: 'SSH IP address if the provider is custom'
|
|
example: architecto
|
|
nullable: false
|
|
port:
|
|
type: string
|
|
description: 'SSH Port if the provider is custom'
|
|
example: architecto
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the server.'
|
|
example: architecto
|
|
nullable: false
|
|
os:
|
|
type: string
|
|
description: 'The os of the server'
|
|
example: architecto
|
|
nullable: false
|
|
webserver:
|
|
type: string
|
|
description: 'Web server'
|
|
example: none
|
|
nullable: false
|
|
enum:
|
|
- none
|
|
- nginx
|
|
- caddy
|
|
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: '8.2'
|
|
nullable: false
|
|
enum:
|
|
- '7.0'
|
|
- '7.1'
|
|
- '7.2'
|
|
- '7.3'
|
|
- '7.4'
|
|
- '8.0'
|
|
- '8.1'
|
|
- '8.2'
|
|
- '8.3'
|
|
required:
|
|
- provider
|
|
- server_provider
|
|
- region
|
|
- plan
|
|
- ip
|
|
- port
|
|
- name
|
|
- os
|
|
- webserver
|
|
- database
|
|
- php
|
|
security: []
|
|
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: 7
|
|
project_id: 1
|
|
services: []
|
|
user_id: 1
|
|
provider_id: null
|
|
name: 'Belle Dickens'
|
|
ssh_user: vito
|
|
ssh_users:
|
|
- root
|
|
- vito
|
|
ip: 51.210.32.30
|
|
local_ip: 82.174.132.158
|
|
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: 0
|
|
last_update_check: null
|
|
status_color: success
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 7
|
|
project_id:
|
|
type: integer
|
|
example: 1
|
|
services:
|
|
type: array
|
|
example: []
|
|
user_id:
|
|
type: integer
|
|
example: 1
|
|
provider_id:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: 'Belle Dickens'
|
|
ssh_user:
|
|
type: string
|
|
example: vito
|
|
ssh_users:
|
|
type: array
|
|
example:
|
|
- root
|
|
- vito
|
|
items:
|
|
type: string
|
|
ip:
|
|
type: string
|
|
example: 51.210.32.30
|
|
local_ip:
|
|
type: string
|
|
example: 82.174.132.158
|
|
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: integer
|
|
example: 0
|
|
last_update_check:
|
|
type: string
|
|
example: null
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- servers
|
|
security: []
|
|
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: 6
|
|
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
|
|
security: []
|
|
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: 6
|
|
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
|
|
security: []
|
|
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: 6
|
|
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
|
|
security: []
|
|
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: 6
|
|
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: 1
|
|
type: webserver
|
|
type_data: null
|
|
name: nginx
|
|
version: null
|
|
unit: null
|
|
status: ready
|
|
status_color: success
|
|
icon: ''
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: 1
|
|
type: webserver
|
|
type_data: null
|
|
name: nginx
|
|
version: null
|
|
unit: null
|
|
status: ready
|
|
status_color: success
|
|
icon: ''
|
|
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: 1
|
|
type: webserver
|
|
type_data: null
|
|
name: nginx
|
|
version: null
|
|
unit: null
|
|
status: ready
|
|
status_color: success
|
|
icon: ''
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
-
|
|
id: null
|
|
server_id: 1
|
|
type: webserver
|
|
type_data: null
|
|
name: nginx
|
|
version: null
|
|
unit: null
|
|
status: ready
|
|
status_color: success
|
|
icon: ''
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: webserver
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: nginx
|
|
version:
|
|
type: string
|
|
example: null
|
|
unit:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
icon:
|
|
type: string
|
|
example: ''
|
|
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
|
|
security: []
|
|
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: 6
|
|
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: 1
|
|
type: webserver
|
|
type_data: null
|
|
name: nginx
|
|
version: null
|
|
unit: null
|
|
status: ready
|
|
status_color: success
|
|
icon: ''
|
|
is_default: null
|
|
created_at: null
|
|
updated_at: null
|
|
properties:
|
|
id:
|
|
type: string
|
|
example: null
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
type:
|
|
type: string
|
|
example: webserver
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
name:
|
|
type: string
|
|
example: nginx
|
|
version:
|
|
type: string
|
|
example: null
|
|
unit:
|
|
type: string
|
|
example: null
|
|
status:
|
|
type: string
|
|
example: ready
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
icon:
|
|
type: string
|
|
example: ''
|
|
is_default:
|
|
type: string
|
|
example: null
|
|
created_at:
|
|
type: string
|
|
example: null
|
|
updated_at:
|
|
type: string
|
|
example: null
|
|
tags:
|
|
- services
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: service_id
|
|
description: 'The ID of the service.'
|
|
example: 22
|
|
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: 15
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 16
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 15
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 16
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 15
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
features:
|
|
type: array
|
|
example:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
items:
|
|
type: string
|
|
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
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
auto_deploy:
|
|
type: boolean
|
|
example: false
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
url:
|
|
type: string
|
|
example: 'http://test.com'
|
|
force_ssl:
|
|
type: boolean
|
|
example: false
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- sites
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Create a new site.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 15
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 15
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
features:
|
|
type: array
|
|
example:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
items:
|
|
type: string
|
|
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
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
auto_deploy:
|
|
type: boolean
|
|
example: false
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
url:
|
|
type: string
|
|
example: 'http://test.com'
|
|
force_ssl:
|
|
type: boolean
|
|
example: false
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
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: architecto
|
|
nullable: false
|
|
aliases:
|
|
type: array
|
|
description: ''
|
|
example:
|
|
- architecto
|
|
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: architecto
|
|
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: architecto
|
|
nullable: false
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: round-robin
|
|
nullable: false
|
|
enum:
|
|
- round-robin
|
|
- least-connections
|
|
- ip-hash
|
|
required:
|
|
- type
|
|
- domain
|
|
- aliases
|
|
- php_version
|
|
- web_directory
|
|
- source_control
|
|
- repository
|
|
- branch
|
|
- composer
|
|
- version
|
|
- user
|
|
- method
|
|
security: []
|
|
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: 6
|
|
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: 15
|
|
server_id: 1
|
|
source_control_id: null
|
|
type: laravel
|
|
type_data: null
|
|
features:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
domain: test.com
|
|
aliases: null
|
|
web_directory: /
|
|
path: /home
|
|
php_version: '8.2'
|
|
repository: null
|
|
branch: main
|
|
status: ready
|
|
status_color: success
|
|
auto_deploy: false
|
|
port: null
|
|
user: vito
|
|
url: 'http://test.com'
|
|
force_ssl: false
|
|
progress: 100
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 15
|
|
server_id:
|
|
type: integer
|
|
example: 1
|
|
source_control_id:
|
|
type: string
|
|
example: null
|
|
type:
|
|
type: string
|
|
example: laravel
|
|
type_data:
|
|
type: string
|
|
example: null
|
|
features:
|
|
type: array
|
|
example:
|
|
- deployment
|
|
- commands
|
|
- env
|
|
- ssl
|
|
- workers
|
|
items:
|
|
type: string
|
|
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
|
|
status_color:
|
|
type: string
|
|
example: success
|
|
auto_deploy:
|
|
type: boolean
|
|
example: false
|
|
port:
|
|
type: string
|
|
example: null
|
|
user:
|
|
type: string
|
|
example: vito
|
|
url:
|
|
type: string
|
|
example: 'http://test.com'
|
|
force_ssl:
|
|
type: boolean
|
|
example: false
|
|
progress:
|
|
type: integer
|
|
example: 100
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- sites
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/load-balancer':
|
|
post:
|
|
summary: load-balancer
|
|
operationId: loadBalancer
|
|
description: 'Update load balancer.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
method:
|
|
type: string
|
|
description: 'Load balancer method, Required if the site type is Load balancer'
|
|
example: round-robin
|
|
nullable: false
|
|
enum:
|
|
- round-robin
|
|
- least-connections
|
|
- ip-hash
|
|
servers:
|
|
type: array
|
|
description: 'Array of servers including server, port, weight, backup. (server is the local IP of the server)'
|
|
example:
|
|
- architecto
|
|
items:
|
|
type: string
|
|
required:
|
|
- method
|
|
- servers
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
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:
|
|
- architecto
|
|
items:
|
|
type: string
|
|
required:
|
|
- aliases
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/deploy':
|
|
post:
|
|
summary: deploy
|
|
operationId: deploy
|
|
description: 'Run site deployment script'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
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: architecto
|
|
nullable: false
|
|
required:
|
|
- script
|
|
security: []
|
|
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
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
'/api/projects/{project_id}/servers/{server_id}/sites/{site_id}/env':
|
|
get:
|
|
summary: env
|
|
operationId: env
|
|
description: 'Get site .env file content'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
data:
|
|
env: APP_NAME=Laravel\nAPP_ENV=production
|
|
properties:
|
|
data:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: string
|
|
example: APP_NAME=Laravel\nAPP_ENV=production
|
|
tags:
|
|
- sites
|
|
security: []
|
|
put:
|
|
summary: env
|
|
operationId: env
|
|
description: 'Update site .env file'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
nullable: true
|
|
tags:
|
|
- sites
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
env:
|
|
type: string
|
|
description: 'Content of the .env file'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- env
|
|
security: []
|
|
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: 6
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
-
|
|
in: path
|
|
name: site_id
|
|
description: 'The ID of the site.'
|
|
example: 14
|
|
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: 2
|
|
project_id: null
|
|
global: true
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: "Aleen O'Kon"
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 2
|
|
project_id: null
|
|
global: true
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 3
|
|
project_id: null
|
|
global: true
|
|
name: "Aleen O'Kon"
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 2
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Ms. Elisabeth Okuneva'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 2
|
|
project_id: null
|
|
global: true
|
|
name: 'Mrs. Justina Gaylord'
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 2
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Mrs. Justina Gaylord'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- source-controls
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
provider:
|
|
type: string
|
|
description: 'The provider'
|
|
example: gitlab
|
|
nullable: false
|
|
enum:
|
|
- gitlab
|
|
- github
|
|
- bitbucket
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: architecto
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: architecto
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: architecto
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: '|]|{+-'
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- url
|
|
- username
|
|
- password
|
|
security: []
|
|
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: 2
|
|
project_id: null
|
|
global: true
|
|
name: 'Misael Runte'
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 2
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Misael Runte'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- source-controls
|
|
security: []
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 2
|
|
project_id: null
|
|
global: true
|
|
name: 'Mrs. Justina Gaylord'
|
|
provider: github
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 2
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: 'Mrs. Justina Gaylord'
|
|
provider:
|
|
type: string
|
|
example: github
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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: architecto
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: architecto
|
|
nullable: false
|
|
url:
|
|
type: string
|
|
description: 'The URL if the provider is Gitlab and it is self-hosted'
|
|
example: 'http://www.bailey.biz/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html'
|
|
nullable: false
|
|
username:
|
|
type: string
|
|
description: 'The username if the provider is Bitbucket'
|
|
example: architecto
|
|
nullable: false
|
|
password:
|
|
type: string
|
|
description: 'The password if the provider is Bitbucket'
|
|
example: '|]|{+-'
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: false
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- token
|
|
- url
|
|
- username
|
|
- password
|
|
- global
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- source-controls
|
|
security: []
|
|
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: 3
|
|
name: 'Haven Romaguera'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Viva Marquardt'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 'Haven Romaguera'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 4
|
|
name: 'Viva Marquardt'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Haven Romaguera'
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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:
|
|
- ssh-keys
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: 'Deploy ssh key to server.'
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 3
|
|
name: 'Ms. Elisabeth Okuneva'
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 3
|
|
name:
|
|
type: string
|
|
example: 'Ms. Elisabeth Okuneva'
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- ssh-keys
|
|
requestBody:
|
|
required: true
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
properties:
|
|
key_id:
|
|
type: string
|
|
description: 'The ID of the key.'
|
|
example: architecto
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'Key name, required if key_id is not provided.'
|
|
example: architecto
|
|
nullable: false
|
|
public_key:
|
|
type: string
|
|
description: 'Public Key, required if key_id is not provided.'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- key_id
|
|
- name
|
|
- public_key
|
|
security: []
|
|
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: 6
|
|
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
|
|
security: []
|
|
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: 6
|
|
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: 4
|
|
project_id: null
|
|
global: true
|
|
name: harum
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: commodi
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21: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: 4
|
|
project_id: null
|
|
global: true
|
|
name: harum
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
-
|
|
id: 5
|
|
project_id: null
|
|
global: true
|
|
name: commodi
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
items:
|
|
type: object
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: harum
|
|
provider:
|
|
type: string
|
|
example: local
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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
|
|
security: []
|
|
post:
|
|
summary: create
|
|
operationId: create
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: eius
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: eius
|
|
provider:
|
|
type: string
|
|
example: local
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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: architecto
|
|
nullable: false
|
|
name:
|
|
type: string
|
|
description: 'The name of the storage provider.'
|
|
example: architecto
|
|
nullable: false
|
|
token:
|
|
type: string
|
|
description: 'The token if provider requires api token'
|
|
example: architecto
|
|
nullable: false
|
|
key:
|
|
type: string
|
|
description: 'The key if provider requires key'
|
|
example: architecto
|
|
nullable: false
|
|
secret:
|
|
type: string
|
|
description: 'The secret if provider requires key'
|
|
example: architecto
|
|
nullable: false
|
|
required:
|
|
- provider
|
|
- name
|
|
- token
|
|
- key
|
|
- secret
|
|
security: []
|
|
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: 4
|
|
project_id: null
|
|
global: true
|
|
name: et
|
|
provider: dropbox
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: et
|
|
provider:
|
|
type: string
|
|
example: dropbox
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
tags:
|
|
- storage-providers
|
|
security: []
|
|
put:
|
|
summary: update
|
|
operationId: update
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
200:
|
|
description: ''
|
|
content:
|
|
application/json:
|
|
schema:
|
|
type: object
|
|
example:
|
|
id: 4
|
|
project_id: null
|
|
global: true
|
|
name: eius
|
|
provider: local
|
|
created_at: '2025-06-10T10:21:56.000000Z'
|
|
updated_at: '2025-06-10T10:21:56.000000Z'
|
|
properties:
|
|
id:
|
|
type: integer
|
|
example: 4
|
|
project_id:
|
|
type: string
|
|
example: null
|
|
global:
|
|
type: boolean
|
|
example: true
|
|
name:
|
|
type: string
|
|
example: eius
|
|
provider:
|
|
type: string
|
|
example: local
|
|
created_at:
|
|
type: string
|
|
example: '2025-06-10T10:21:56.000000Z'
|
|
updated_at:
|
|
type: string
|
|
example: '2025-06-10T10:21: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: architecto
|
|
nullable: false
|
|
global:
|
|
type: string
|
|
description: 'Accessible in all projects'
|
|
example: true
|
|
nullable: false
|
|
enum:
|
|
- true
|
|
- false
|
|
required:
|
|
- name
|
|
- global
|
|
security: []
|
|
delete:
|
|
summary: delete
|
|
operationId: delete
|
|
description: ''
|
|
parameters: []
|
|
responses:
|
|
204:
|
|
description: ''
|
|
tags:
|
|
- storage-providers
|
|
security: []
|
|
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: 1
|
|
required: true
|
|
schema:
|
|
type: integer
|