Skip to main content

Update App

PATCH /clients/{client_id}/apps/{app_id}

Partial update of client-specific fields on an app. Only send the fields you want to change. Catalog data (name, logo, vendor, categories) is managed through the catalog and cannot be updated here.

For bulk approval operations, use Approve Apps / Reject Apps.

Path Parameters

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

Request Body

All fields are optional. Only include fields you want to change.

FieldTypeDescription
is_favoritebooleanMark app as favorite (true) or unfavorite (false)
is_approvedbooleanMark app as approved (true) or unapproved (false)
license_countinteger | nullUpdate tracked license count. Set to null to clear.

Fields NOT updatable via this endpoint

These fields are managed by the system or the catalog:

  • id — Immutable identifier
  • catalog_app — Managed through the Catalog Apps domain
  • created_at — System-managed timestamp

Response

Returns the updated App object with status 200 OK.

Example Requests

Toggle favorite status

curl -X PATCH "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_favorite": true
}'

Set license count

curl -X PATCH "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"license_count": 50
}'

Clear license count

curl -X PATCH "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"license_count": null
}'

Approve an app

curl -X PATCH "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_approved": true
}'

Update multiple fields

curl -X PATCH "https://api.example.com/v2/clients/aa7cf840-9ca9-46a3-9778-9015d6580d50/apps/f1a2b3c4-d5e6-7890-abcd-ef1234567890" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"is_favorite": true,
"is_approved": true,
"license_count": 50
}'

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": 50,
"created_at": "2026-01-15T10:00:00.000Z",
"updated_at": "2026-02-24T15:00:00.000Z"
}

Error Responses

StatusDescription
400Invalid request (e.g. wrong field type, attempting to update read-only field)
401Authentication required
403Insufficient permissions for this client
404App or client not found
500Server error

Example Error Responses

Invalid field type:

{
"error": {
"code": "invalid_request",
"message": "is_favorite must be a boolean value"
}
}

Attempting to update read-only field:

{
"error": {
"code": "invalid_request",
"message": "Field 'catalog_app' cannot be updated via this endpoint",
"details": {
"field": "catalog_app",
"reason": "Managed through the Catalog Apps domain"
}
}
}

Notes

Idempotency

This endpoint is idempotent. Setting the same values multiple times produces the same result.

Partial updates

Only specified fields are updated. Unmentioned fields remain unchanged.

When to use this vs bulk favorites

Use this endpoint for single-app updates (e.g. toggling a favorite star, setting license count). Use the Add Favorites / Remove Favorites endpoints for multi-select bulk operations.