Mist apps
List the current company's Mists, newest first
Returns the current company’s Mist apps, newest first by default,
including apps that are scheduled for deletion. Filter by state
or kind, and page through the results with
page[cursor] and page[limit].
Requires a company admin token with the mist.view permission.
GET
/
api
/
v202604
/
mists
List the current company's Mists, newest first
curl --request GET \
--url https://api.fluid.app/api/v202604/mists \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/mists"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/mists', 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://api.fluid.app/api/v202604/mists",
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://api.fluid.app/api/v202604/mists"
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://api.fluid.app/api/v202604/mists")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/mists")
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{
"mists": [
{
"id": "0192f4c1-7a3e-7d52-9b61-3bed85a41c07",
"slug": "3bed85",
"state": "live",
"kind": "next_app",
"name": "Loyalty rewards",
"public_url": "https://dunder-mifflin-3bed85.mist.fluid.app",
"provisioned_at": "2026-04-14T16:22:41Z",
"scheduled_destroy_at": null,
"template": "rewards-starter",
"egress_proxy_from_template": false,
"created_at": "2026-04-14T16:21:58Z",
"updated_at": "2026-04-14T16:22:41Z"
}
],
"status": 200,
"meta": {
"request_id": "6f1c2a9e-4b7d-4e8a-9c3f-2d5b8a1e7f40",
"timestamp": "2026-04-20T09:15:02Z",
"pagination": {
"cursor": null,
"limit": 25,
"prev_cursor": null,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNC0xNFQxNjoyMTo1OFoifQ"
}
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication. Accepts company admin tokens with
the matching mist.* permission:
mist.viewto list and show Mistsmist.createto create and rename Mists, and to turn on visitor numbersmist.destroyto delete and restore Mistsmist.codefor deployments, logs, and trafficmist.env_varsto read and manage environment variables Droplet installation tokens are refused.
Query Parameters
⌘I
List the current company's Mists, newest first
curl --request GET \
--url https://api.fluid.app/api/v202604/mists \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/mists"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/mists', 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://api.fluid.app/api/v202604/mists",
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://api.fluid.app/api/v202604/mists"
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://api.fluid.app/api/v202604/mists")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/mists")
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{
"mists": [
{
"id": "0192f4c1-7a3e-7d52-9b61-3bed85a41c07",
"slug": "3bed85",
"state": "live",
"kind": "next_app",
"name": "Loyalty rewards",
"public_url": "https://dunder-mifflin-3bed85.mist.fluid.app",
"provisioned_at": "2026-04-14T16:22:41Z",
"scheduled_destroy_at": null,
"template": "rewards-starter",
"egress_proxy_from_template": false,
"created_at": "2026-04-14T16:21:58Z",
"updated_at": "2026-04-14T16:22:41Z"
}
],
"status": 200,
"meta": {
"request_id": "6f1c2a9e-4b7d-4e8a-9c3f-2d5b8a1e7f40",
"timestamp": "2026-04-20T09:15:02Z",
"pagination": {
"cursor": null,
"limit": 25,
"prev_cursor": null,
"next_cursor": "eyJjcmVhdGVkX2F0IjoiMjAyNi0wNC0xNFQxNjoyMTo1OFoifQ"
}
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}