API referenceApps
`GET /apps` — the apps this caller may see (ADR-0050 §6).
GET
/apps⚠️ No longer the org-wide roster. A caller receives the published
catalog, the apps on their own teams, and the ones their teams
installed; a governance principal (owner/admin) still receives the org. The
narrowing is real and visible in the console: a non-admin now sees fewer
rows on /admin/apps.
Query Parameters
filter?string
authored | catalog | installed; absent means the caller's whole visible set
Response Body
application/json
curl -X GET "https://example.com/apps"{ "data": [ { "created_at": "string", "description": "string", "email": "string", "id": "string", "name": "string", "owner_user_id": "string", "published": true, "required_permissions": [ "string" ], "role": null, "status": null, "team_ids": [ "string" ], "updated_at": "string" } ], "page": 0, "page_size": 0, "total": 0, "total_pages": 0}`GET /apps/{id}` — detail + live active-key count. GET
Previous Page
`PATCH /apps/{id}` — update mutable fields. Role writes are gated by [`validate_app_role`] (no admin/owner). Status flip to `"inactive"` here doesn't cascade-revoke keys; that's `DELETE`'s job and the admin-UI distinction. PATCH
Next Page