Skip to content

Grant a permission on an asset_type to a principal

POST
/asset_types/{ref}/acls

Inserts one ACL row. Re-granting the same tuple refreshes granted_at / granted_by / expires_at — idempotent. The first row inserted flips the type from “open” to “restricted” for non-admin callers.

ref
required
integer format: int64
object
principal_type
required
string
Allowed values: user role team
principal_id
required
string
<= 64 characters
permission
required
string
Allowed values: read write admin
expires_at
string format: date-time
nullable

ACL row added.

Malformed request

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed

Resource not found

object
error
required

Human-readable error summary

string
Example
the request could not be completed