---
title: "UpdatePolicy"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.ezghcloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

Path: EZGH Cloud organizations and IAM › policies

`PATCH /v1/organizations/{orgId}/policies/{policyId}`

## Authentication

Requires one of the following:

- `apiKey`, http, header `Authorization`
- `sessionCookie`, apiKey, in cookie
- `oauth`, http, header `Authorization`

## Path parameters

- `UpdatePolicy.path.orgId` (string, required)
- `UpdatePolicy.path.policyId` (string, required)

## Header parameters

- `UpdatePolicy.header.if-match` (string, optional)

## Request body

_Required._

- `UpdatePolicy.name` (string, optional)
- `UpdatePolicy.description` (string, optional)
- `UpdatePolicy.document` (object, optional)
  - `UpdatePolicy.document.statements` (array<object>, required)
    - `UpdatePolicy.document.statements.effect` (string, required)
      - one of `"allow"`, `"deny"`
    - `UpdatePolicy.document.statements.actions` (array<string>, required)
    - `UpdatePolicy.document.statements.resources` (array<string>, required)
      - maxLength 1024
    - `UpdatePolicy.document.statements.sid` (string, optional)
      - maxLength 64

## Example request

```json
{
  "name": "string",
  "description": "string",
  "document": {
    "statements": [
      {
        "sid": "string",
        "effect": "allow",
        "actions": [
          "string"
        ],
        "resources": [
          "string"
        ]
      }
    ]
  }
}
```

## Code samples

### cURL

```curl
curl --request PATCH \
  --url https://orgs.ezghcloud.com/v1/organizations/string/policies/string \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "string",
  "description": "string",
  "document": {
    "statements": [
      {
        "sid": "string",
        "effect": "allow",
        "actions": [
          "string"
        ],
        "resources": [
          "string"
        ]
      }
    ]
  }
}
'
```

### TypeScript

```typescript
const url = 'https://orgs.ezghcloud.com/v1/organizations/string/policies/string';
const options = {
  method: 'PATCH',
  headers: {'Content-Type': 'application/json', Authorization: 'Bearer <token>'},
  body: JSON.stringify({
    name: 'string',
    description: 'string',
    document: {
      statements: [{sid: 'string', effect: 'allow', actions: ['string'], resources: ['string']}]
    }
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "https://orgs.ezghcloud.com/v1/organizations/string/policies/string"

payload = {
    "name": "string",
    "description": "string",
    "document": { "statements": [
            {
                "sid": "string",
                "effect": "allow",
                "actions": ["string"],
                "resources": ["string"]
            }
        ] }
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer <token>"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
```

## Responses

### 200

Success

#### Example

```json
{
  "id": "string",
  "type": "managed",
  "name": "string",
  "slug": "string",
  "resourceName": "string",
  "description": "string",
  "document": {
    "statements": [
      {
        "sid": "string",
        "effect": "allow",
        "actions": [
          "string"
        ],
        "resources": [
          "string"
        ]
      }
    ]
  },
  "status": "active",
  "attachments": 0,
  "createdAt": "string",
  "updatedAt": "string"
}
```

- `UpdatePolicy.response.200.id` (string, required)
- `UpdatePolicy.response.200.type` (string, required)
  - one of `"managed"`, `"custom"`
- `UpdatePolicy.response.200.name` (string, required)
- `UpdatePolicy.response.200.slug` (any of, required)
  - any of: `string`, `null`
- `UpdatePolicy.response.200.resourceName` (any of, required)
  - any of: `string`, `null`
- `UpdatePolicy.response.200.description` (string, required)
- `UpdatePolicy.response.200.document` (object, required)
  - `UpdatePolicy.response.200.document.statements` (array<object>, required)
    - `UpdatePolicy.response.200.document.statements.effect` (string, required)
      - one of `"allow"`, `"deny"`
    - `UpdatePolicy.response.200.document.statements.actions` (array<string>, required)
    - `UpdatePolicy.response.200.document.statements.resources` (array<string>, required)
    - `UpdatePolicy.response.200.document.statements.sid` (string, optional)
- `UpdatePolicy.response.200.status` (string, required)
  - one of `"active"`, `"deprecated"`
- `UpdatePolicy.response.200.attachments` (any of, required)
  - any of: `number`, `string`
- `UpdatePolicy.response.200.createdAt` (any of, required)
  - any of: `string`, `null`
- `UpdatePolicy.response.200.updatedAt` (any of, required)
  - any of: `string`, `null`

### 400

InvalidRequest

#### Example

```json
{
  "error": {
    "code": "invalid_request",
    "message": "string",
    "issues": [
      {
        "path": "string",
        "message": "string"
      }
    ]
  }
}
```

- `UpdatePolicy.response.400.error` (object, required)
  - `UpdatePolicy.response.400.error.code` (string, required)
    - one of `"invalid_request"`
  - `UpdatePolicy.response.400.error.message` (string, required)
  - `UpdatePolicy.response.400.error.issues` (array<object>, optional)
    - `UpdatePolicy.response.400.error.issues.path` (string, required)
    - `UpdatePolicy.response.400.error.issues.message` (string, required)

### 401

Unauthenticated

#### Example

```json
{
  "error": {
    "code": "unauthenticated",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.401.error` (object, required)
  - `UpdatePolicy.response.401.error.code` (string, required)
    - one of `"unauthenticated"`
  - `UpdatePolicy.response.401.error.message` (string, required)

### 403

Forbidden | AccessDenied | ForbiddenOrigin

#### Example

```json
{
  "error": {
    "code": "forbidden",
    "message": "string"
  }
}
```

Any of:

- [ForbiddenEncoded](/orgs-api/schemas/ForbiddenEncoded/)
- [AccessDeniedEncoded](/orgs-api/schemas/AccessDeniedEncoded/)
- [ForbiddenOriginEncoded](/orgs-api/schemas/ForbiddenOriginEncoded/)

### 404

NotFound

#### Example

```json
{
  "error": {
    "code": "not_found",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.404.error` (object, required)
  - `UpdatePolicy.response.404.error.code` (string, required)
    - one of `"not_found"`
  - `UpdatePolicy.response.404.error.message` (string, required)

### 412

PreconditionFailed

#### Example

```json
{
  "error": {
    "code": "precondition_failed",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.412.error` (object, required)
  - `UpdatePolicy.response.412.error.code` (string, required)
    - one of `"precondition_failed"`
  - `UpdatePolicy.response.412.error.message` (string, required)

### 429

TooManyRequests

#### Example

```json
{
  "error": {
    "code": "too_many_requests",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.429.error` (object, required)
  - `UpdatePolicy.response.429.error.code` (string, required)
    - one of `"too_many_requests"`
  - `UpdatePolicy.response.429.error.message` (string, required)

### 500

InternalError

#### Example

```json
{
  "error": {
    "code": "internal_error",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.500.error` (object, required)
  - `UpdatePolicy.response.500.error.code` (string, required)
    - one of `"internal_error"`
  - `UpdatePolicy.response.500.error.message` (string, required)

### 503

Unavailable

#### Example

```json
{
  "error": {
    "code": "unavailable",
    "message": "string"
  }
}
```

- `UpdatePolicy.response.503.error` (object, required)
  - `UpdatePolicy.response.503.error.code` (string, required)
    - one of `"unavailable"`
  - `UpdatePolicy.response.503.error.message` (string, required)


Source: https://docs.ezghcloud.com/orgs-api/policies/UpdatePolicy/index.md
