Skip to content
GurtOS

List apps

GET
/apps
curl --request GET \
--url http://127.0.0.1:7700/api/apps \
--header 'Authorization: Bearer <token>'

By default, the windows of the apps that are on, for the portal’s app grid. Open each at /t/<track><href>. Each entry also carries the app’s details below. With ?all=1, every installed app, on or off, one entry per app: the App Center.

all
string

Any value lists every installed app, on or off.

The apps.

Media typeapplication/json
Array<object>
object
name

The window’s name

string
href

The window’s path under /t/<track>/, in the default list.

string
track

The app that added it.

string
id
required

The app’s id

string
title
required
string
description

The app’s own, else the first paragraph of its README.

string
status
required
string
Allowed values: enabled disabled error
enabled
boolean
error

Why the app failed to load.

string
restartNeeded

Turned off while a trigger that cannot be stopped was running.

boolean
access
required

What the app can reach. Key names only, never values.

object
tools
Array<object>
object
name
string
description
string
jobs
Array<string>
hosts

Hosts the app’s tools reach.

Array<string>
secrets
Array<object>
object
name
string
set

Whether the vault holds this key.

boolean
optional

The app runs without this key.

boolean
triggers
Array<string>
routes
Array<string>
ui
required

The app’s windows.

Array<object>
object
name
string
title
string
href
string

Example

[
{
"name": "example",
"title": "Example",
"href": "/",
"track": "example",
"id": "example",
"description": "A sample app for developers that shows every way an app can plug into GurtOS. It spends test money only.",
"status": "enabled",
"enabled": true,
"access": {
"tools": [
{
"name": "example.spend",
"description": "Spend test money (no real payment). Input: { cents, on }."
}
],
"jobs": [
"example.echo"
],
"hosts": [],
"secrets": [
{
"name": "DEMO_SECRET",
"set": false
}
],
"triggers": [
"start",
"inbox",
"hourly"
],
"routes": [
"GET /",
"GET /whoami",
"GET /secret-check",
"POST /start"
]
},
"ui": [
{
"name": "example",
"title": "Example",
"href": "/"
}
]
}
]