# Update User Apps

## PATCH /v1/admin/user/{uid}/app/entitlement/list

> Update unique entitlement of an app for this user. Entitlement can be installation, visibility or product

```json
{"openapi":"3.1.1","info":{"title":"Pod API","version":"20.17.1"},"servers":[{"url":"http://yourpodURL.symphony.com/pod"}],"paths":{"/v1/admin/user/{uid}/app/entitlement/list":{"patch":{"summary":"Update unique entitlement of an app for this user. Entitlement can be installation, visibility or product","parameters":[{"schema":{"type":"string"},"name":"sessionToken","description":"Session authentication token.","in":"header","required":true},{"schema":{"type":"integer","format":"int64"},"name":"uid","description":"User ID as a decimal integer","in":"path","required":true}],"tags":["AppEntitlement"],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAppEntitlementList"}}}},"400":{"description":"Client error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Unauthorized: Invalid session token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"Forbidden: Caller lacks necessary entitlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Server error, see response body for further details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAppEntitlementsPatchList"}}},"required":true}}}},"components":{"schemas":{"UserAppEntitlementList":{"type":"array","items":{"$ref":"#/components/schemas/UserAppEntitlement"}},"UserAppEntitlement":{"description":"Application Entitlements for the user","type":"object","required":["appId","listed","install"],"properties":{"appId":{"type":"string","description":"Unique ID for the Application","maxLength":256,"minLength":1},"appName":{"type":"string","description":"Name for this Application","maxLength":50,"minLength":1},"listed":{"type":"boolean","description":"if true, this application will be listed in the appstore for this user.  Otherwise, this application will be hidden in the appstore."},"install":{"type":"boolean","description":"if true, it indicate this application is installed for this user.  Otherwise, this user does not have this application installed."},"products":{"$ref":"#/components/schemas/ProductList"}}},"ProductList":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"Product":{"description":"Application Product","type":"object","required":["name","type","subscribed"],"properties":{"appId":{"type":"string","description":"App ID for the Product","maxLength":256,"minLength":1},"name":{"type":"string","minLength":1,"maxLength":50,"description":"Product Name"},"sku":{"type":"string","minLength":1,"maxLength":100,"description":"Product SKU"},"subscribed":{"type":"boolean","description":"indicate whether the product is subscribed or not"},"type":{"type":"string","description":"Product Type (default or premium)"}}},"Error":{"type":"object","properties":{"code":{"type":"integer","format":"int32"},"message":{"type":"string"}}},"UserAppEntitlementsPatchList":{"description":"Array of app entitlements to patch for a user","type":"array","items":{"$ref":"#/components/schemas/UserAppEntitlementPatch"}},"UserAppEntitlementPatch":{"description":"Application Entitlements to patch for the user","type":"object","required":["appId"],"properties":{"appId":{"type":"string","description":"Unique ID for the Application","maxLength":256,"minLength":1},"listed":{"type":"string","enum":["TRUE","FALSE","KEEP","REMOVE"],"default":"KEEP","description":"If \"TRUE\", this application will be listed in the appstore for this user. If \"FALSE\", this application will be hidden in the appstore. If \"KEEP\" or not set, the current value is kept. If \"REMOVE\", it will be removed from user settings and the pod level setting's value will be used."},"install":{"type":"string","enum":["TRUE","FALSE","KEEP","REMOVE"],"default":"KEEP","description":"If \"TRUE\", this application will be installed for this user. If \"FALSE\", this application will not be installed for this user. If \"KEEP\" or not set, the current value is kept. If \"REMOVE\", it will be removed from user settings and the pod level setting's value will be used."},"product":{"$ref":"#/components/schemas/Product"}}}}}}
```

{% hint style="info" %}
As shown in the example, the request body is structured as an array `[]` of individual apps to be updated.
{% endhint %}

> #### 📘 Info
>
> Unlike [Update All User Apps](https://rest-api.symphony.com/main/apps-entitlements/update-user-apps) endpoint, it is not mandatory to provide in the body request all app entitlements for a given app.\
> You can therefore update only one or several of them among the following body params: "install", "listed", or "products".
>
> The "product" field is not required but cannot be set to "null". When provided, please specify all subfields specified such as in the example: "appId", "subscribed", "type", "sku", and "name".
