
List Origin Apps in a namespace via the API
List the apps a namespace owns with GET https://api.cursor.com/v1/origin/namespaces/{namespaceSlug}/apps. Official reference: Origin API → List Namespace Apps.
Origin is in Early Beta and subject to change. Authenticate with a Cursor user access token that carries namespace:apps:read. An app JWT cannot list every app in a namespace; use Get Authenticated App for the app's own metadata. Availability: Early Beta per the API overview.
Results are newest first. Each list entry carries display metadata only (id, displayName, description). Read webhook URL, events, redirect URIs, and default scopes with Get App (GET /v1/origin/apps/{appId}).
Cost: 1 point.
Path parameters
| Param | Required | Meaning |
|---|---|---|
namespaceSlug |
yes | Slug of the namespace whose apps to list |
Query parameters
| Param | Required | Meaning |
|---|---|---|
pageSize |
no | Max apps to return; defaults to 30 when unset or 0; values above 100 clamp to 100 |
pageToken |
no | Opaque cursor from a previous nextPageToken; empty for the first page |
curl --request GET \
--url 'https://api.cursor.com/v1/origin/namespaces/NAMESPACE_SLUG/apps' \
--header 'Authorization: Bearer YOUR_USER_ACCESS_TOKEN'
Response
| Field | Meaning |
|---|---|
apps |
Page of apps the namespace owns |
apps[].id |
Globally unique app id (app_…) |
apps[].displayName |
Human-facing name |
apps[].description |
Publisher description; empty string when unset |
nextPageToken |
Opaque cursor for the next page; empty when done |
{
"apps": [
{
"id": "app_01k2ja2000e0080000000000a1",
"displayName": "CI Status Bot",
"description": "Posts CI status on pull requests."
}
],
"nextPageToken": ""
}
Treat pageToken as opaque. Restart pagination when filters change. An empty nextPageToken means you have the last page.
After listing, call Get App for full settings, Update App to change them, or Add App Signing Key / Revoke App Signing Key to rotate JWT keys.
Base URL: https://api.cursor.com/v1/origin.