Skip to main content

Get App

GET /clients/{client_id}/apps/{app_id}

Returns the full App object for a single client app. Use this endpoint to load an app detail page, refresh one record after an update, or resolve an app reference from another domain.

When to use Get App vs List Apps

Use caseEndpoint
Load an app detail page by IDGET /apps/{id}
Refresh one app after a PATCHGET /apps/{id}
Resolve an app link from another domainGET /apps/{id}
Browse or search the client's appsGET /apps
Filter by category, vendor, or favorite statusGET /apps?category_id= or ?is_favorite=

Path Parameters

ParameterTypeDescription
client_idstring (uuid)Unique identifier for the client organization
app_idstring (uuid)Unique identifier for the app

Response

Returns a single App object.

Example Request

curl -X GET "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Example Response

{
"id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890",
"catalog_app": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"canonical_name": "Slack",
"description": "A messaging and collaboration platform for teams",
"display_colour": "#4A154B",
"logo": "https://cdn.example.com/logos/slack.png",
"type": "desktop",
"vendor": {
"id": "f6a7b8c9-d0e1-2345-fabc-678901234567",
"name": "Salesforce, Inc.",
"url": "https://www.salesforce.com"
},
"categories": [
{ "id": "a7b8c9d0-e1f2-3456-abcd-789012345678", "name": "Communication" }
],
"created_at": "2025-06-15T10:00:00.000Z",
"updated_at": "2026-02-10T09:15:00.000Z"
},
"is_favorite": true,
"is_approved": true,
"license_count": 25,
"created_at": "2026-01-15T10:00:00.000Z",
"updated_at": "2026-02-20T14:30:00.000Z"
}

App with no license tracking

{
"id": "g2b3c4d5-e6f7-8901-bcde-f12345678901",
"catalog_app": {
"id": "e5f6a7b8-c9d0-1234-efab-567890123456",
"canonical_name": "Custom Internal Tool",
"description": null,
"display_colour": null,
"logo": null,
"type": null,
"vendor": null,
"categories": [],
"created_at": "2025-08-01T10:00:00.000Z",
"updated_at": "2025-08-01T10:00:00.000Z"
},
"is_favorite": false,
"is_approved": false,
"license_count": null,
"created_at": "2026-02-01T12:00:00.000Z",
"updated_at": "2026-02-01T12:00:00.000Z"
}

Error Responses

StatusDescription
401Authentication required
403Insufficient permissions for this client
404App or client not found
500Server error

Example Error Response

{
"error": {
"code": "not_found",
"message": "App not found",
"details": {
"app_id": "f1a2b3c4-d5e6-7890-abcd-ef1234567890"
}
}
}