---
title: "create permission"
method: POST
path: "/accounts/{account_id}/permissions"
tags: ["Permissions"]
---

# create permission

`POST /accounts/{account_id}/permissions`

## Request

- Base URL: `https://api.aptible.com`
- URL: `https://api.aptible.com/accounts/{account_id}/permissions`
- Auth: API key in header `Authorization`

Creates a new permission for a role on the specified account.

## Path parameters

- `account_id` integer, required

## Query parameters

- `no_embed` boolean

## Headers

- `Prefer` 'no_sensitive_extras=true'

## Request body

- CreatePermissionRequest
  - `role` string, uuid, required
  - `scope` 'read' | 'admin' | 'observability' | 'deploy' | 'sensitive' | 'tunnel' | 'destroy', required

## Response `201`

successful

- Permission
  - `id` integer, required
  - `_type` string, required
  - `scope` string, required
  - `_links` PermissionLinks
    - `role` ListAccountsForStack200ResponseLinksStack
      - `href` string, uri
    - `account` ListAccountsForStack200ResponseLinksStack
      - `href` string, uri
    - `self` ListAccountsForStack200ResponseLinksStack
      - `href` string, uri

## Other responses

- `default`: Error response. Often a 4xx or 5xx status code

## Changes

- **2026-07-24** `1dc1e5b8c6eb`: 2 info
  - added the new optional `header` request parameter `Prefer`
  - added the new optional `query` request parameter `no_embed`

[Operation history](https://skmtc.dev/aptible/apis/aptible-api-v1/changes/accounts/:account_id/permissions/post.md)

---

[API](https://skmtc.dev/aptible/apis/aptible-api-v1.md) - [All operations](https://skmtc.dev/aptible/apis/aptible-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/aptible/apis/aptible-api-v1/revisions/a21f6b1bc6fe?raw)
