Introduction
+VitoDeploy's API documentation.
+ +This documentation aims to provide all the information you need to work with our API.
+
+<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
+You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
+
+ Authenticating requests
+This API is not authenticated.
+ +Endpoints
+ + + +POST api/servers/{server_id}/agent/{id}
+ ++
+ + + + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/servers/6/agent/architecto" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"load\": 4326.41688,
+ \"memory_total\": 4326.41688,
+ \"memory_used\": 4326.41688,
+ \"memory_free\": 4326.41688,
+ \"disk_total\": 4326.41688,
+ \"disk_used\": 4326.41688,
+ \"disk_free\": 4326.41688
+}"
+
const url = new URL(
+ "https://vito.test/api/servers/6/agent/architecto"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "load": 4326.41688,
+ "memory_total": 4326.41688,
+ "memory_used": 4326.41688,
+ "memory_free": 4326.41688,
+ "disk_total": 4326.41688,
+ "disk_used": 4326.41688,
+ "disk_free": 4326.41688
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ GET api/git-hooks
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/git-hooks" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/git-hooks"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (404):
+
+ Show headers +
+cache-control: no-cache, private
+content-type: application/json
+x-ratelimit-limit: 60
+x-ratelimit-remaining: 57
+access-control-allow-origin: *
+
+
+{
+ "message": ""
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ cron-jobs
+ + + +list
+ ++
+ +Get all cron jobs.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/cron-jobs" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/cron-jobs"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new cron job.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/cron-jobs" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"command\": \"architecto\",
+ \"user\": \"vito\",
+ \"frequency\": \"* * * * *\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/cron-jobs"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "command": "architecto",
+ "user": "vito",
+ "frequency": "* * * * *"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a cron job by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/cron-jobs/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/cron-jobs/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete cron job.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/cron-jobs/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/cron-jobs/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ database-users
+ + + +list
+ ++
+ +Get all database users.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/database-users" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/database-users"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new database user.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/database-users" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"username\": \"architecto\",
+ \"password\": \"|]|{+-\",
+ \"host\": \"%\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/database-users"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "username": "architecto",
+ "password": "|]|{+-",
+ "host": "%"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a database user by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/database-users/16" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/database-users/16"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ link
+ ++
+ +Link to databases
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/database-users/16/link" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"databases\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/database-users/16/link"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "databases": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete database user.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/database-users/16" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/database-users/16"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ databases
+ + + +list
+ ++
+ +Get all databases.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/databases" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/databases"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new database.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/databases" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"charset\": \"architecto\",
+ \"collation\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/databases"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "charset": "architecto",
+ "collation": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a database by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/databases/8" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/databases/8"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete database.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/databases/8" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/databases/8"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ firewall-rules
+ + + +list
+ ++
+ +Get all firewall rules.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/firewall-rules" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/firewall-rules"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new firewall rule.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/firewall-rules" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"type\": \"allow\",
+ \"protocol\": \"tcp\",
+ \"port\": \"architecto\",
+ \"source\": \"architecto\",
+ \"mask\": \"0\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/firewall-rules"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "type": "allow",
+ "protocol": "tcp",
+ "port": "architecto",
+ "source": "architecto",
+ "mask": "0"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ edit
+ ++
+ +Update an existing firewall rule.
+ + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/servers/6/firewall-rules/19" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"type\": \"deny\",
+ \"protocol\": \"udp\",
+ \"port\": \"architecto\",
+ \"source\": \"architecto\",
+ \"mask\": \"0\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/firewall-rules/19"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "type": "deny",
+ "protocol": "udp",
+ "port": "architecto",
+ "source": "architecto",
+ "mask": "0"
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a firewall rule by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/firewall-rules/19" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/firewall-rules/19"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete firewall rule.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/firewall-rules/19" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/firewall-rules/19"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ general
+ + + +health-check
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/health" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/health"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+ Show headers +
+cache-control: no-cache, private
+content-type: application/json
+x-ratelimit-limit: 60
+x-ratelimit-remaining: 56
+access-control-allow-origin: *
+
+
+{
+ "success": true,
+ "version": "2.5.0"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ projects
+ + + +list
+ ++
+ +Get all projects.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new project.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "id": 3,
+ "name": "Ms. Elisabeth Okuneva",
+ "created_at": "2025-06-10T10:21:56.000000Z",
+ "updated_at": "2025-06-10T10:21:56.000000Z"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a project by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "id": 3,
+ "name": "Aleen O'Kon",
+ "created_at": "2025-06-10T10:21:56.000000Z",
+ "updated_at": "2025-06-10T10:21:56.000000Z"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ update
+ ++
+ +Update project.
+ + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto"
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "id": 3,
+ "name": "Ms. Elisabeth Okuneva",
+ "created_at": "2025-06-10T10:21:56.000000Z",
+ "updated_at": "2025-06-10T10:21:56.000000Z"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete project.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ redirects
+ + + +create
+ ++
+ +Create a new redirect.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/sites/14/redirects" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"from\": \"architecto\",
+ \"to\": \"architecto\",
+ \"mode\": 307
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/redirects"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "from": "architecto",
+ "to": "architecto",
+ "mode": 307
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete a redirect.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/sites/14/redirects/2" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/redirects/2"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ server-providers
+ + + +list
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/server-providers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/server-providers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ + + + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/server-providers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"provider\": \"architecto\",
+ \"name\": \"architecto\",
+ \"token\": \"architecto\",
+ \"key\": \"architecto\",
+ \"secret\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/server-providers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "provider": "architecto",
+ "name": "architecto",
+ "token": "architecto",
+ "key": "architecto",
+ "secret": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/server-providers/3" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/server-providers/3"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ update
+ ++
+ + + + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/server-providers/3" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"global\": false
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/server-providers/3"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "global": false
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ + + + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/server-providers/3" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/server-providers/3"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ servers
+ + + +list
+ ++
+ +Get all servers in a project.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new server.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"provider\": \"architecto\",
+ \"server_provider\": \"linode\",
+ \"region\": \"architecto\",
+ \"plan\": \"architecto\",
+ \"ip\": \"architecto\",
+ \"port\": \"architecto\",
+ \"name\": \"architecto\",
+ \"os\": \"architecto\",
+ \"webserver\": \"none\",
+ \"database\": \"mysql80\",
+ \"php\": \"8.2\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "provider": "architecto",
+ "server_provider": "linode",
+ "region": "architecto",
+ "plan": "architecto",
+ "ip": "architecto",
+ "port": "architecto",
+ "name": "architecto",
+ "os": "architecto",
+ "webserver": "none",
+ "database": "mysql80",
+ "php": "8.2"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a server by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ reboot
+ ++
+ +Reboot a server.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/reboot" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/reboot"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ upgrade
+ ++
+ +Upgrade server.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/upgrade" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/upgrade"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete server.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ services
+ + + +list
+ ++
+ +Get all services.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/services" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a service by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/services/22" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ start
+ ++
+ +Start service.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/services/22/start" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22/start"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ stop
+ ++
+ +Stop service.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/services/22/stop" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22/stop"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ restart
+ ++
+ +Restart service.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/services/22/restart" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22/restart"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ enable
+ ++
+ +Enable service.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/services/22/enable" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22/enable"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ disable
+ ++
+ +Disable service.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/services/22/disable" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22/disable"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete service.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/services/22" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/services/22"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ sites
+ + + +list
+ ++
+ +Get all sites.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/sites" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Create a new site.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/sites" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"type\": \"php-blank\",
+ \"domain\": \"architecto\",
+ \"aliases\": [
+ \"architecto\"
+ ],
+ \"php_version\": \"7.4\",
+ \"web_directory\": \"public\",
+ \"source_control\": \"architecto\",
+ \"repository\": \"organization\\/repository\",
+ \"branch\": \"main\",
+ \"composer\": true,
+ \"version\": \"5.2.1\",
+ \"user\": \"architecto\",
+ \"method\": \"round-robin\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "type": "php-blank",
+ "domain": "architecto",
+ "aliases": [
+ "architecto"
+ ],
+ "php_version": "7.4",
+ "web_directory": "public",
+ "source_control": "architecto",
+ "repository": "organization\/repository",
+ "branch": "main",
+ "composer": true,
+ "version": "5.2.1",
+ "user": "architecto",
+ "method": "round-robin"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ +Get a site by ID.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/sites/14" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete site.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/sites/14" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ load-balancer
+ ++
+ +Update load balancer.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/sites/14/load-balancer" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"method\": \"round-robin\",
+ \"servers\": [
+ \"architecto\"
+ ]
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/load-balancer"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "method": "round-robin",
+ "servers": [
+ "architecto"
+ ]
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ aliases
+ ++
+ +Update aliases.
+ + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/servers/6/sites/14/aliases" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"aliases\": [
+ \"architecto\"
+ ]
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/aliases"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "aliases": [
+ "architecto"
+ ]
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ deploy
+ ++
+ +Run site deployment script
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/sites/14/deploy" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/deploy"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ deployment-script
+ ++
+ +Update site deployment script
+ + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/servers/6/sites/14/deployment-script" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"script\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/deployment-script"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "script": "architecto"
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ deployment-script
+ ++
+ +Get site deployment script content
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/sites/14/deployment-script" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/deployment-script"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ env
+ ++
+ +Get site .env file content
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/sites/14/env" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/env"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "data": {
+ "env": "APP_NAME=Laravel\\nAPP_ENV=production"
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ env
+ ++
+ +Update site .env file
+ + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/servers/6/sites/14/env" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"env\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/sites/14/env"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "env": "architecto"
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ source-controls
+ + + +list
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/source-controls" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/source-controls"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ + + + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/source-controls" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"provider\": \"gitlab\",
+ \"name\": \"architecto\",
+ \"token\": \"architecto\",
+ \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
+ \"username\": \"architecto\",
+ \"password\": \"|]|{+-\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/source-controls"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "provider": "gitlab",
+ "name": "architecto",
+ "token": "architecto",
+ "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
+ "username": "architecto",
+ "password": "|]|{+-"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/source-controls/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/source-controls/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ update
+ ++
+ + + + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/source-controls/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"token\": \"architecto\",
+ \"url\": \"http:\\/\\/www.bailey.biz\\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html\",
+ \"username\": \"architecto\",
+ \"password\": \"|]|{+-\",
+ \"global\": false
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/source-controls/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "token": "architecto",
+ "url": "http:\/\/www.bailey.biz\/quos-velit-et-fugiat-sunt-nihil-accusantium-harum.html",
+ "username": "architecto",
+ "password": "|]|{+-",
+ "global": false
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ + + + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/source-controls/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/source-controls/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ ssh-keys
+ + + +list
+ ++
+ +Get all ssh keys.
+ + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/servers/6/ssh-keys" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/ssh-keys"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ +Deploy ssh key to server.
+ + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/servers/6/ssh-keys" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"key_id\": \"architecto\",
+ \"name\": \"architecto\",
+ \"public_key\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/ssh-keys"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "key_id": "architecto",
+ "name": "architecto",
+ "public_key": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "id": 3,
+ "name": "Ms. Elisabeth Okuneva",
+ "created_at": "2025-06-10T10:21:56.000000Z",
+ "updated_at": "2025-06-10T10:21:56.000000Z"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ +Delete ssh key from server.
+ + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/servers/6/ssh-keys/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/servers/6/ssh-keys/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ storage-providers
+ + + +list
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/storage-providers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/storage-providers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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
+ }
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ create
+ ++
+ + + + +Example request:+ + +
curl --request POST \
+ "https://vito.test/api/projects/1/storage-providers" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"provider\": \"architecto\",
+ \"name\": \"architecto\",
+ \"token\": \"architecto\",
+ \"key\": \"architecto\",
+ \"secret\": \"architecto\"
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/storage-providers"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "provider": "architecto",
+ "name": "architecto",
+ "token": "architecto",
+ "key": "architecto",
+ "secret": "architecto"
+};
+
+fetch(url, {
+ method: "POST",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ show
+ ++
+ + + + +Example request:+ + +
curl --request GET \
+ --get "https://vito.test/api/projects/1/storage-providers/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/storage-providers/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "GET",
+ headers,
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ update
+ ++
+ + + + +Example request:+ + +
curl --request PUT \
+ "https://vito.test/api/projects/1/storage-providers/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json" \
+ --data "{
+ \"name\": \"architecto\",
+ \"global\": true
+}"
+
const url = new URL(
+ "https://vito.test/api/projects/1/storage-providers/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+let body = {
+ "name": "architecto",
+ "global": true
+};
+
+fetch(url, {
+ method: "PUT",
+ headers,
+ body: JSON.stringify(body),
+}).then(response => response.json());
++Example response (200):
+
+
+{
+ "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"
+}
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+ delete
+ ++
+ + + + +Example request:+ + +
curl --request DELETE \
+ "https://vito.test/api/projects/1/storage-providers/1" \
+ --header "Content-Type: application/json" \
+ --header "Accept: application/json"
const url = new URL(
+ "https://vito.test/api/projects/1/storage-providers/1"
+);
+
+const headers = {
+ "Content-Type": "application/json",
+ "Accept": "application/json",
+};
+
+fetch(url, {
+ method: "DELETE",
+ headers,
+}).then(response => response.json());
++Example response (204):
+
+Empty response
+
+
+
+ Received response: ++
+
+
+ Request failed with error:+
+
+Tip: Check that you're properly connected to the network.
+If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
+You can check the Dev Tools console for debugging information.
+
+
+
+
+
+
+