Apps & Sources
Read the monitored applications in your organization and their log sources. All endpoints require a general API key and the scope noted below.
List applications
GET /api/v1/apps
Required scope: apps:read
Query parameters
| Param | Type | Notes |
|---|---|---|
limit | integer | 1–100, default 50. See pagination. |
cursor | string | Opaque cursor from a previous pagination.nextCursor. |
Example
curl "https://guardianlogs.com/api/v1/apps?limit=50" \
-H "Authorization: Bearer $GUARDIAN_API_KEY"
{
"data": [
{
"id": "clapp0001kidscuts000000",
"key": "kids-cuts",
"name": "Kids Cuts",
"env": "production",
"purpose": "Booking and POS for the salon chain.",
"createdAt": "2026-08-01T12:00:00.000Z"
}
],
"pagination": { "nextCursor": null }
}
Fields
| Field | Type | Notes |
|---|---|---|
id | string | Application id. |
key | string | Stable slug, unique within the organization. |
name | string | Display name. |
env | string | Environment label (e.g. production). |
purpose | string | Short description. |
createdAt | string (date-time) | Creation timestamp. |
Get one application
GET /api/v1/apps/{id}
Required scope: apps:read
A cross-tenant or nonexistent id both return 404 (indistinguishable). The detail response adds ownerContact and businessImpactNotes to the list shape.
Example
curl "https://guardianlogs.com/api/v1/apps/clapp0001kidscuts000000" \
-H "Authorization: Bearer $GUARDIAN_API_KEY"
{
"data": {
"id": "clapp0001kidscuts000000",
"key": "kids-cuts",
"name": "Kids Cuts",
"env": "production",
"purpose": "Booking and POS for the salon chain.",
"ownerContact": "ops@kidscuts.example",
"businessImpactNotes": "Revenue-critical during business hours.",
"createdAt": "2026-08-01T12:00:00.000Z"
}
}
ownerContact and businessImpactNotes may be null.
List an application's log sources
GET /api/v1/apps/{id}/sources
Required scope: sources:read
Returns the log sources for the application. If the application does not belong to your organization (or does not exist) → 404. This list is not paginated.
Example
curl "https://guardianlogs.com/api/v1/apps/clapp0001kidscuts000000/sources" \
-H "Authorization: Bearer $GUARDIAN_API_KEY"
{
"data": [
{
"id": "clsrc0001errors0000000",
"type": "APP_ERROR",
"transport": "PUSH_HTTPS",
"enabled": true,
"redactionProfile": "default",
"createdAt": "2026-08-01T12:05:00.000Z"
}
]
}
Fields
| Field | Type | Notes | |
|---|---|---|---|
id | string | Source id. | |
type | string | One of APP_ERROR, ACTIVITY, EMAIL, NGINX, PM2, OS, DB_SLOWQUERY, HEALTH. | |
transport | string | PUSH_HTTPS or OBJECT_STORE. | |
enabled | boolean | A disabled source rejects ingest with 403. | |
redactionProfile | string \ | null | Named redaction profile applied at the source. |
createdAt | string (date-time) | Creation timestamp. |
See also: scopes.md · pagination.md · errors.md.