---
title: "Create Permission Policy"
method: POST
path: "/organizations/{orgId}/permissionpolicies"
tags: ["PermissionPolicy"]
---

# Create Permission Policy

`POST /organizations/{orgId}/permissionpolicies`

## Request

- Base URL: `https://api.m3ter.com`
- URL: `https://api.m3ter.com/organizations/{orgId}/permissionpolicies`
- Auth: OAuth 2
  - Authorization code: `https://m3ter.auth.us-east-1.amazoncognito.com/oauth2/authorize`, token URL `https://m3ter.auth.us-east-1.amazoncognito.com/oauth2/token`
  - Client credentials, token URL `/oauth/token`
- TypeScript: <https://skmtc.dev/m3ter-com/apis/m3ter-api/docs/organizations/:orgId/permissionpolicies/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new Permission Policy

**NOTE:** When you set up a policy statement for this call using the `permissionPolicy` request parameter to specify the `effect`, `action`, and `resource`, you must use all lower case and the format as shown in this example for a Permission Policy statement that grants full CRUD access to all meters:
```
"permissionPolicy" : [
	{
		"effect" : "allow",
		"action" : [
		"config:create",
		"config:delete",
		"config:retrieve",
		"config:update"
		]
		"resource" : [
		"config:meter/*"
		]
	}
]
```

For more details and further examples, see [Understanding, Creating, and Managing Permission Policies](https://www.m3ter.com/docs/guides/organization-and-access-management/creating-and-managing-permissions#permission-policy-statements---available-actions-and-resources) in our main Documentation.

## Path parameters

- `orgId` string, required

## Request body

- PermissionPolicyRequest
  - `version` integer: The version number of the entity: * **Create entity:** Not valid for initial insertion of new entity - do not use for Create. On initial Create, version is set at 1 and listed in the response. * **Update Entity:** On Update, version is required and must match the existing version because a check is performed to ensure sequential versioning is preserved. Version is incremented by 1 and listed in the response.
  - `name` string, required
  - `permissionPolicy` PermissionStatement[], required
    - `effect` 'ALLOW' | 'DENY', required
    - `action` PermissionAction[], required: The actions available to users who are assigned the Permission Policy - what they can do or cannot do with respect to the specified resource. **NOTE:** Use lower case and a colon-separated format, for example, if you want to confer full CRUD, use: ``` "config:create", "config:delete", "config:retrieve", "config:update" ```
    - `resource` string[], required: See [Statements - Available Resources](https://www.m3ter.com/docs/guides/managing-organization-and-users/creating-and-managing-permissions#statements---available-resources) for a listing of available resources for Permission Policy statements.

## Response `200`

Returns the new Permission Policy

- PermissionPolicyResponse
  - `id` string, required: The UUID of the entity.
  - `version` integer: The version number: - **Create:** On initial Create to insert a new entity, the version is set at 1 in the response. - **Update:** On successful Update, the version is incremented by 1 in the response.
  - `name` string: The name of the Permission Policy.
  - `permissionPolicy` PermissionStatement[]: Array containing the Permission Policies information.
    - `effect` 'ALLOW' | 'DENY', required
    - `action` PermissionAction[], required: The actions available to users who are assigned the Permission Policy - what they can do or cannot do with respect to the specified resource. **NOTE:** Use lower case and a colon-separated format, for example, if you want to confer full CRUD, use: ``` "config:create", "config:delete", "config:retrieve", "config:update" ```
    - `resource` string[], required: See [Statements - Available Resources](https://www.m3ter.com/docs/guides/managing-organization-and-users/creating-and-managing-permissions#statements---available-resources) for a listing of available resources for Permission Policy statements.
  - `managedPolicy` boolean: Indicates whether this is a system generated Managed Permission Policy.
  - `dtCreated` string, date-time: The date and time *(in ISO-8601 format)* when the Permission Policy was created.
  - `dtLastModified` string, date-time: The date and time *(in ISO-8601 format)* when the Permission Policy was last modified.
  - `createdBy` string: The unique identifier (UUID) of the user who created this Permission Policy.
  - `lastModifiedBy` string: The unique identifier (UUID) of the user who last modified this Permission Policy.

## Other responses

- `4XX`: Error message
- `5XX`: Error message

## Changes

- **2026-10-16** `85c514abc692`: 1 breaking
  - the `allOf[subschema #2]/` response's property type changed from no type to `object` for status `200`
- **2025-12-03** `ac93d1a9e6d9`: 9 warning, 2 info
  - removed the optional property `createdBy` from the response with the `200` status
  - removed the optional property `dtCreated` from the response with the `200` status
  - removed the optional property `dtLastModified` from the response with the `200` status
  - removed the optional property `id` from the response with the `200` status
  - …7 more
- **2025-08-01** `9f9e5f3dbde7`: 2 warning, 2 info
  - added the new `MARKETPLACE_USAGE_CREATE` enum value to the `permissionPolicy/items/action/items/` response property for the response status `200`
  - added the new `MARKETPLACE_USAGE_RETRIEVE` enum value to the `permissionPolicy/items/action/items/` response property for the response status `200`
  - added the new `MARKETPLACE_USAGE_CREATE` enum value to the request property `permissionPolicy/items/action/items/`
  - added the new `MARKETPLACE_USAGE_RETRIEVE` enum value to the request property `permissionPolicy/items/action/items/`
- …earlier changes not shown

[Operation history](https://skmtc.dev/m3ter-com/apis/m3ter-api/changes/organizations/:orgId/permissionpolicies/post.md)

---

[API](https://skmtc.dev/m3ter-com/apis/m3ter-api.md) - [All operations](https://skmtc.dev/m3ter-com/apis/m3ter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/m3ter-com/apis/m3ter-api/revisions/85c514abc692?raw)
