Overview
Apps API methods, requests, and responses for RawTree Cloud and RawTree BYOC.
Apps
Members can list apps. Installation and removal require an organization administrator. Apps belong to a cluster.
Apps are installed per cluster, and clusters start with no apps installed. App management requires an authenticated user session or OAuth access token; cluster API keys cannot manage apps.
GET /v1/apps
List the available apps and their installation state. Any member of the organization can list apps. Pass the organization and cluster names in the query string:
GET /v1/apps?organization=acme&cluster=production{
"apps": [
{ "id": "opentelemetry", "name": "OpenTelemetry", "installed": true },
{ "id": "prometheus", "name": "Prometheus", "installed": false }
]
}This endpoint reads platform metadata only, so it remains available while the cluster is provisioning, paused, stopped, or otherwise unavailable.
Use a user session or user OAuth token with full_access. API keys and workload tokens cannot use this method.
Parameters:
| Field | Location | Type | Required | Notes |
|---|---|---|---|---|
organization | query | string | Yes | Organization name |
cluster | query | string | Yes | Cluster name |
Request:
# List available apps and their installation state for a cluster.
curl -X GET "https://api.rawtree.com/v1/apps?organization=team_alpha&cluster=production" \
-H "Authorization: Bearer $RAWTREE_USER_TOKEN"Expected response: HTTP 200.
{
"apps": [
{
"id": "opentelemetry",
"name": "OpenTelemetry",
"installed": true
},
{
"id": "prometheus",
"name": "Prometheus",
"installed": false
},
{
"id": "splunk",
"name": "Splunk",
"installed": false
},
{
"id": "datahub",
"name": "DataHub",
"installed": false
}
]
}Errors: 400, 401, 403, 404. See API errors.
PUT /v1/apps/{app_id}
Install an app. Organization admin access is required. The request has no body and is idempotent:
PUT /v1/apps/prometheus?organization=acme&cluster=production{ "id": "prometheus", "name": "Prometheus", "installed": true }Installation enables the app's native endpoints; it does not change the cluster lifecycle state or guarantee that the cluster is ready.
Use a user session or user OAuth token with full_access. API keys and workload tokens cannot use this method.
Parameters:
| Field | Location | Type | Required | Notes |
|---|---|---|---|---|
organization | query | string | Yes | Organization name |
cluster | query | string | Yes | Cluster name |
Request:
# Install an app into a cluster.
curl -X PUT "https://api.rawtree.com/v1/apps/opentelemetry?organization=team_alpha&cluster=production" \
-H "Authorization: Bearer $RAWTREE_USER_TOKEN"Expected response: HTTP 200.
{
"id": "opentelemetry",
"name": "OpenTelemetry",
"installed": true
}Errors: 400, 401, 403, 404. See API errors.
DELETE /v1/apps/{app_id}
Uninstall an app. Organization admin access is required. The request has no body and is idempotent:
DELETE /v1/apps/prometheus?organization=acme&cluster=production{ "id": "prometheus", "name": "Prometheus", "installed": false }Uninstallation disables the app's native endpoints; it does not change the cluster lifecycle state. The Apps catalog remains available while the cluster is stopped.
The following sections document the APIs and protocols implemented by each app.
Use a user session or user OAuth token with full_access. API keys and workload tokens cannot use this method.
Parameters:
| Field | Location | Type | Required | Notes |
|---|---|---|---|---|
organization | query | string | Yes | Organization name |
cluster | query | string | Yes | Cluster name |
Request:
# Uninstall an app from a cluster.
curl -X DELETE "https://api.rawtree.com/v1/apps/opentelemetry?organization=team_alpha&cluster=production" \
-H "Authorization: Bearer $RAWTREE_USER_TOKEN"Expected response: HTTP 200.
{
"id": "opentelemetry",
"name": "OpenTelemetry",
"installed": false
}Errors: 400, 401, 403, 404. See API errors.