# PUT /WorkApps/{workAppId}/PermissionLevels/{permissionLevelId}/Policies/{requestType}

## PUT /api/v1/WorkApps/{workAppId}/PermissionLevels/{permissionLevelId}/Policies/{requestType}

> Updates the policy assigned to a specific permission level within a Work App for a given request type.

```json
{"openapi":"3.0.4","info":{"title":"Cakewalk Open API","version":"v1"},"servers":[{"url":"https://open-api.getcakewalk.io"}],"security":[{"API Key":[]}],"components":{"securitySchemes":{"API Key":{"type":"apiKey","description":"Public API key used to identify the client application. It should be included in all requests.","name":"X-API-KEY","in":"header"}},"schemas":{"RequestType":{"enum":["GrantAccessRequest","RemoveAccessRequest","ArchiveWorkAppRequest","ChangePermissionLevelRequest","AddNewManagedWorkAppRequest"],"type":"string"},"UpdatePermissionLevelPolicyRequestModelV1":{"required":["policyId"],"type":"object","properties":{"policyId":{"type":"string","description":"Identifier of the policy to apply.","format":"uuid"}},"additionalProperties":false,"description":"Request model used to update the policy applied when a request is created for a specific permission level."},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{}}}},"paths":{"/api/v1/WorkApps/{workAppId}/PermissionLevels/{permissionLevelId}/Policies/{requestType}":{"put":{"tags":["WorkApps"],"summary":"Updates the policy assigned to a specific permission level within a Work App for a given request type.","parameters":[{"name":"workAppId","in":"path","description":"The Work App's unique identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"permissionLevelId","in":"path","description":"The permission level's unique identifier.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"requestType","in":"path","description":"The request type to associate the policy with.","required":true,"schema":{"allOf":[{"$ref":"#/components/schemas/RequestType"}]}},{"name":"X-API-SECRET","in":"header","description":"API Secret is used to verify the integrity of the request and authenticate the client. It should be included in all requests. This value must be kept confidential and should never be exposed in client-side code or public repositories.","required":true,"schema":{"type":"string","description":"API Secret is used to verify the integrity of the request and authenticate the client. It should be included in all requests. This value must be kept confidential and should never be exposed in client-side code or public repositories."}}],"requestBody":{"description":"The request model used to update the default policy for a permission level.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/UpdatePermissionLevelPolicyRequestModelV1"}],"description":"Request model used to update the policy applied when a request is created for a specific permission level."}},"text/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/UpdatePermissionLevelPolicyRequestModelV1"}],"description":"Request model used to update the policy applied when a request is created for a specific permission level."}},"application/*+json":{"schema":{"allOf":[{"$ref":"#/components/schemas/UpdatePermissionLevelPolicyRequestModelV1"}],"description":"Request model used to update the policy applied when a request is created for a specific permission level."}}}},"responses":{"204":{"description":"No Content"},"401":{"description":"Unauthorized","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"409":{"description":"Conflict","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"Internal Server Error"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.getcakewalk.io/open-api-and-mcp/api-reference/applications/put-workapps-workappid-permissionlevels-permissionlevelid-policies-requesttype.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
