List your apps
curl --request GET \
--url https://shardcloud.app/api/apps \
--header 'Authorization: Bearer <token>'import requests
url = "https://shardcloud.app/api/apps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://shardcloud.app/api/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://shardcloud.app/api/apps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://shardcloud.app/api/apps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://shardcloud.app/api/apps")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://shardcloud.app/api/apps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"app": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ram": 123,
"vcpu": 123,
"name": "<string>",
"is_app": true,
"project_type": "app",
"blocked_until": "2023-11-07T05:31:56Z",
"blocked_reason": "<string>",
"setup": true,
"created_at": "2023-11-07T05:31:56Z",
"auto_backup": true,
"language": "python",
"version": "<string>",
"subdomain": "<string>",
"entrypoint": "<string>",
"description": "<string>",
"custom_command": "<string>",
"custom_domains": [
{
"domain": "<string>",
"is_primary": true,
"created_at": "2023-11-07T05:31:56Z"
}
],
"auto_restart_on_deploy": true,
"analytics": true,
"gracefully_shutdown": true,
"error_page_enabled": true,
"custom_image_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"project_info": {
"ram": [
123
],
"vcpu": [
123
],
"storage": 123,
"network_receive": [
123
],
"network_send": [
123
]
},
"status": "not_found",
"container_uptime_seconds": 123,
"error_page_url": "<string>"
}
]{
"error": "<string>"
}Apps
List your apps
GET
/
apps
List your apps
curl --request GET \
--url https://shardcloud.app/api/apps \
--header 'Authorization: Bearer <token>'import requests
url = "https://shardcloud.app/api/apps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://shardcloud.app/api/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://shardcloud.app/api/apps",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://shardcloud.app/api/apps"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://shardcloud.app/api/apps")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://shardcloud.app/api/apps")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"app": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"workspace_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"ram": 123,
"vcpu": 123,
"name": "<string>",
"is_app": true,
"project_type": "app",
"blocked_until": "2023-11-07T05:31:56Z",
"blocked_reason": "<string>",
"setup": true,
"created_at": "2023-11-07T05:31:56Z",
"auto_backup": true,
"language": "python",
"version": "<string>",
"subdomain": "<string>",
"entrypoint": "<string>",
"description": "<string>",
"custom_command": "<string>",
"custom_domains": [
{
"domain": "<string>",
"is_primary": true,
"created_at": "2023-11-07T05:31:56Z"
}
],
"auto_restart_on_deploy": true,
"analytics": true,
"gracefully_shutdown": true,
"error_page_enabled": true,
"custom_image_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"project_info": {
"ram": [
123
],
"vcpu": [
123
],
"storage": 123,
"network_receive": [
123
],
"network_send": [
123
]
},
"status": "not_found",
"container_uptime_seconds": 123,
"error_page_url": "<string>"
}
]{
"error": "<string>"
}Authorizations
Send your API token (Dashboard → Settings → API Token) as Authorization: Bearer <token>.
Query Parameters
Filter to a workspace's apps instead of your own.
Pass any non-empty value for "quiet" mode — skips fetching project_info/status per app, much faster for large lists.
Response
List of apps
Fields shared by every resource type (App, DatabaseService, VM).
Show child attributes
Show child attributes
Omitted when the request is made with ?q= (quiet mode).
Show child attributes
Show child attributes
Available options:
not_found, pending, running, stopped ⌘I