---
title: "Changes to Create ACL"
method: POST
path: "/v1/acl"
---

# Changes to Create ACL

`POST /v1/acl`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 16 of 101 revisions.

- **2026-10-30** `8f5039399f77`: 34 breaking, 29 info
- **2026-10-03** `877ab1fd2a22`: 2 warning, 2 info
- **2026-09-25** `c709dafda419`: 2 warning, 2 info
- **2026-09-03** `ebac33c1422e`: 1 breaking
- **2026-08-21** `2ddd4c0bfd2c`: 4 warning, 4 info
- **2026-08-13** `e05ef145579d`: 4 warning, 4 info
- **2026-08-13** `46b20afded4f`: 2 breaking, 2 info
- **2026-06-22** `268c9a28fa8a`: 2 warning, 2 info
- **2025-06-17** `77a2d5797d94`: 8 breaking, 21 warning, 23 info
- **2024-09-30** `ac2727014d93`: 7 breaking, 2 info
- **2024-09-25** `68955d9009ff`: 30 breaking, 24 info
- **2024-07-23** `9eeeeb30b963`: 4 breaking, 6 warning, 11 info
- **2024-05-10** `a44e16cb39fc`: 6 breaking, 21 warning, 25 info
- **2024-05-10** `8c69b494e995`: 5 breaking, 16 info
- **2024-05-10** `770b93fa08a7`: 4 breaking, 4 warning
- **2024-05-06** `44b51ad3239a`: 1 info

## Changes

- **2026-10-30** `8f5039399f77`: 34 breaking, 29 info
  - the request property `group_id` became not nullable
  - the request property `permission` became not nullable
  - the request property `restrict_object_type` became not nullable
  - the request property `role_id` became not nullable
  - the request property `user_id` became not nullable
  - removed the enum value `ai_secret` of the request property `restrict_object_type`
  - removed the enum value `create` of the request property `permission`
  - removed the enum value `create_acls` of the request property `permission`
  - removed the enum value `dataset` of the request property `restrict_object_type`
  - removed the enum value `delete` of the request property `permission`
  - removed the enum value `delete_acls` of the request property `permission`
  - removed the enum value `experiment` of the request property `restrict_object_type`
  - removed the enum value `group` of the request property `restrict_object_type`
  - removed the enum value `org_account` of the request property `restrict_object_type`
  - removed the enum value `org_ai_secret` of the request property `restrict_object_type`
  - removed the enum value `org_audit_logs` of the request property `restrict_object_type`
  - removed the enum value `org_member` of the request property `restrict_object_type`
  - removed the enum value `org_project` of the request property `restrict_object_type`
  - removed the enum value `organization` of the request property `restrict_object_type`
  - removed the enum value `project` of the request property `restrict_object_type`
  - removed the enum value `project_group` of the request property `restrict_object_type`
  - removed the enum value `project_group_projects` of the request property `restrict_object_type`
  - removed the enum value `project_log` of the request property `restrict_object_type`
  - removed the enum value `prompt` of the request property `restrict_object_type`
  - removed the enum value `prompt_session` of the request property `restrict_object_type`
  - removed the enum value `read` of the request property `permission`
  - removed the enum value `read_acls` of the request property `permission`
  - removed the enum value `role` of the request property `restrict_object_type`
  - removed the enum value `update` of the request property `permission`
  - removed the enum value `update_acls` of the request property `permission`
  - the `permission` request property type changed from `string` to no type
  - the `restrict_object_type` request property type changed from `string` to no type
  - the `permission` response's property type changed from `string` to no type for status `200`
  - the `restrict_object_type` response's property type changed from `string` to no type for status `200`
  - added `#/components/schemas/AclObjectType, subschema #2` to the `restrict_object_type` request property `anyOf` list
  - added `#/components/schemas/Permission, subschema #2` to the `permission` request property `anyOf` list
  - added `#/components/schemas/AclObjectType, subschema #2` to the `restrict_object_type` response property `anyOf` list for the response status `200`
  - added `#/components/schemas/Permission, subschema #2` to the `permission` response property `anyOf` list for the response status `200`
  - removed the `ai_secret` enum value from the `restrict_object_type` response property for the response status `200`
  - removed the `create` enum value from the `permission` response property for the response status `200`
  - …23 more
- **2026-10-03** `877ab1fd2a22`: 2 warning, 2 info
  - added the new `project_group_projects` enum value to the `object_type` response property for the response status `200`
  - added the new `project_group_projects` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_group_projects` enum value to the request property `object_type`
  - added the new `project_group_projects` enum value to the request property `restrict_object_type`
- **2026-09-25** `c709dafda419`: 2 warning, 2 info
  - added the new `org_account` enum value to the `object_type` response property for the response status `200`
  - added the new `org_account` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_account` enum value to the request property `object_type`
  - added the new `org_account` enum value to the request property `restrict_object_type`
- **2026-09-03** `ebac33c1422e`: 1 breaking
  - request body became required
- **2026-08-21** `2ddd4c0bfd2c`: 4 warning, 4 info
  - added the new `ai_secret` enum value to the `object_type` response property for the response status `200`
  - added the new `ai_secret` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_ai_secret` enum value to the `object_type` response property for the response status `200`
  - added the new `org_ai_secret` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `ai_secret` enum value to the request property `object_type`
  - added the new `ai_secret` enum value to the request property `restrict_object_type`
  - added the new `org_ai_secret` enum value to the request property `object_type`
  - added the new `org_ai_secret` enum value to the request property `restrict_object_type`
- **2026-08-13** `e05ef145579d`: 4 warning, 4 info
  - added the new `org_audit_logs` enum value to the `object_type` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_group` enum value to the `object_type` response property for the response status `200`
  - added the new `project_group` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the request property `object_type`
  - added the new `org_audit_logs` enum value to the request property `restrict_object_type`
  - added the new `project_group` enum value to the request property `object_type`
  - added the new `project_group` enum value to the request property `restrict_object_type`
- **2026-08-13** `46b20afded4f`: 2 breaking, 2 info
  - removed the enum value `org_audit_logs` of the request property `object_type`
  - removed the enum value `org_audit_logs` of the request property `restrict_object_type`
  - removed the `org_audit_logs` enum value from the `object_type` response property for the response status `200`
  - removed the `org_audit_logs` enum value from the `restrict_object_type` response property for the response status `200`
- **2026-06-22** `268c9a28fa8a`: 2 warning, 2 info
  - added the new `org_audit_logs` enum value to the `object_type` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_audit_logs` enum value to the request property `object_type`
  - added the new `org_audit_logs` enum value to the request property `restrict_object_type`
- **2025-06-17** `77a2d5797d94`: 8 breaking, 21 warning, 23 info
  - request property `permission` was restricted to a list of enum values
  - request property `restrict_object_type` was restricted to a list of enum values
  - the `permission` request property type changed from no type to `string`
  - the `restrict_object_type` request property type changed from no type to `string`
  - the response property `permission` became nullable for the status `200`
  - the response property `restrict_object_type` became nullable for the status `200`
  - the `permission` response's property type changed from no type to `string` for status `200`
  - the `restrict_object_type` response's property type changed from no type to `string` for status `200`
  - removed `#/components/schemas/AclObjectType, subschema #2` from the `restrict_object_type` request property `allOf` list
  - removed `#/components/schemas/Permission, subschema #2` from the `permission` request property `allOf` list
  - added the new `create` enum value to the `permission` response property for the response status `200`
  - added the new `create_acls` enum value to the `permission` response property for the response status `200`
  - added the new `dataset` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `delete` enum value to the `permission` response property for the response status `200`
  - added the new `delete_acls` enum value to the `permission` response property for the response status `200`
  - added the new `experiment` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `group` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_member` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_project` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `organization` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_log` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `prompt` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `prompt_session` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `read` enum value to the `permission` response property for the response status `200`
  - added the new `read_acls` enum value to the `permission` response property for the response status `200`
  - added the new `role` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `update` enum value to the `permission` response property for the response status `200`
  - added the new `update_acls` enum value to the `permission` response property for the response status `200`
  - the request property `permission` became nullable
  - the request property `restrict_object_type` became nullable
  - added the new `create` enum value to the request property `permission`
  - added the new `create_acls` enum value to the request property `permission`
  - added the new `dataset` enum value to the request property `restrict_object_type`
  - added the new `delete` enum value to the request property `permission`
  - added the new `delete_acls` enum value to the request property `permission`
  - added the new `experiment` enum value to the request property `restrict_object_type`
  - added the new `group` enum value to the request property `restrict_object_type`
  - added the new `org_member` enum value to the request property `restrict_object_type`
  - added the new `org_project` enum value to the request property `restrict_object_type`
  - …12 more
- **2024-09-30** `ac2727014d93`: 7 breaking, 2 info
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - the response's body became nullable
  - the response property `permission/allOf[subschema #2]/` became nullable for the status `200`
  - the response property `restrict_object_type/allOf[subschema #2]/` became nullable for the status `200`
  - the request property `permission/allOf[subschema #2]/` became nullable
  - the request property `restrict_object_type/allOf[subschema #2]/` became nullable
- **2024-09-25** `68955d9009ff`: 30 breaking, 24 info
  - added `#/components/schemas/AclObjectType, subschema #2` to the `restrict_object_type` request property `allOf` list
  - added `#/components/schemas/Permission, subschema #2` to the `permission` request property `allOf` list
  - the request property `permission` became not nullable
  - the request property `restrict_object_type` became not nullable
  - removed the enum value `create` of the request property `permission`
  - removed the enum value `create_acls` of the request property `permission`
  - removed the enum value `dataset` of the request property `restrict_object_type`
  - removed the enum value `delete` of the request property `permission`
  - removed the enum value `delete_acls` of the request property `permission`
  - removed the enum value `experiment` of the request property `restrict_object_type`
  - removed the enum value `group` of the request property `restrict_object_type`
  - removed the enum value `org_member` of the request property `restrict_object_type`
  - removed the enum value `org_project` of the request property `restrict_object_type`
  - removed the enum value `organization` of the request property `restrict_object_type`
  - removed the enum value `project` of the request property `restrict_object_type`
  - removed the enum value `project_log` of the request property `restrict_object_type`
  - removed the enum value `prompt` of the request property `restrict_object_type`
  - removed the enum value `prompt_session` of the request property `restrict_object_type`
  - removed the enum value `read` of the request property `permission`
  - removed the enum value `read_acls` of the request property `permission`
  - removed the enum value `role` of the request property `restrict_object_type`
  - removed the enum value `undefined` of the request property `object_type`
  - removed the enum value `undefined` of the request property `permission`
  - removed the enum value `undefined` of the request property `restrict_object_type`
  - removed the enum value `update` of the request property `permission`
  - removed the enum value `update_acls` of the request property `permission`
  - the `permission` request property type changed from `string` to no type
  - the `restrict_object_type` request property type changed from `string` to no type
  - the `permission` response's property type changed from `string` to no type for status `200`
  - the `restrict_object_type` response's property type changed from `string` to no type for status `200`
  - added `#/components/schemas/AclObjectType, subschema #2` to the `restrict_object_type` response property `allOf` list for the response status `200`
  - added `#/components/schemas/Permission, subschema #2` to the `permission` response property `allOf` list for the response status `200`
  - removed the `create` enum value from the `permission` response property for the response status `200`
  - removed the `create_acls` enum value from the `permission` response property for the response status `200`
  - removed the `dataset` enum value from the `restrict_object_type` response property for the response status `200`
  - removed the `delete` enum value from the `permission` response property for the response status `200`
  - removed the `delete_acls` enum value from the `permission` response property for the response status `200`
  - removed the `experiment` enum value from the `restrict_object_type` response property for the response status `200`
  - removed the `group` enum value from the `restrict_object_type` response property for the response status `200`
  - removed the `org_member` enum value from the `restrict_object_type` response property for the response status `200`
  - …14 more
- **2024-07-23** `9eeeeb30b963`: 4 breaking, 6 warning, 11 info
  - removed the enum value `project_score` of the request property `object_type`
  - removed the enum value `project_score` of the request property `restrict_object_type`
  - removed the enum value `project_tag` of the request property `object_type`
  - removed the enum value `project_tag` of the request property `restrict_object_type`
  - added the new `org_member` enum value to the `object_type` response property for the response status `200`
  - added the new `org_member` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `org_project` enum value to the `object_type` response property for the response status `200`
  - added the new `org_project` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_log` enum value to the `object_type` response property for the response status `200`
  - added the new `project_log` enum value to the `restrict_object_type` response property for the response status `200`
  - request body became optional
  - added the new `org_member` enum value to the request property `object_type`
  - added the new `org_member` enum value to the request property `restrict_object_type`
  - added the new `org_project` enum value to the request property `object_type`
  - added the new `org_project` enum value to the request property `restrict_object_type`
  - added the new `project_log` enum value to the request property `object_type`
  - added the new `project_log` enum value to the request property `restrict_object_type`
  - removed the `project_score` enum value from the `object_type` response property for the response status `200`
  - removed the `project_score` enum value from the `restrict_object_type` response property for the response status `200`
  - removed the `project_tag` enum value from the `object_type` response property for the response status `200`
  - removed the `project_tag` enum value from the `restrict_object_type` response property for the response status `200`
- **2024-05-10** `a44e16cb39fc`: 6 breaking, 21 warning, 25 info
  - request property `permission` was restricted to a list of enum values
  - request property `restrict_object_type` was restricted to a list of enum values
  - request property `permission` list-of-types was narrowed by removing types `object` from media type `application/json`
  - request property `restrict_object_type` list-of-types was narrowed by removing types `object` from media type `application/json`
  - the response property `permission` became nullable for the status `200`
  - the response property `restrict_object_type` became nullable for the status `200`
  - added the new `create` enum value to the `permission` response property for the response status `200`
  - added the new `create_acls` enum value to the `permission` response property for the response status `200`
  - added the new `dataset` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `delete` enum value to the `permission` response property for the response status `200`
  - added the new `delete_acls` enum value to the `permission` response property for the response status `200`
  - added the new `experiment` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `group` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `organization` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_score` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `project_tag` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `prompt` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `prompt_session` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `read` enum value to the `permission` response property for the response status `200`
  - added the new `read_acls` enum value to the `permission` response property for the response status `200`
  - added the new `role` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `undefined` enum value to the `object_type` response property for the response status `200`
  - added the new `undefined` enum value to the `permission` response property for the response status `200`
  - added the new `undefined` enum value to the `restrict_object_type` response property for the response status `200`
  - added the new `update` enum value to the `permission` response property for the response status `200`
  - added the new `update_acls` enum value to the `permission` response property for the response status `200`
  - the request property `permission` became nullable
  - the request property `restrict_object_type` became nullable
  - added the new `create` enum value to the request property `permission`
  - added the new `create_acls` enum value to the request property `permission`
  - added the new `dataset` enum value to the request property `restrict_object_type`
  - added the new `delete` enum value to the request property `permission`
  - added the new `delete_acls` enum value to the request property `permission`
  - added the new `experiment` enum value to the request property `restrict_object_type`
  - added the new `group` enum value to the request property `restrict_object_type`
  - added the new `organization` enum value to the request property `restrict_object_type`
  - added the new `project` enum value to the request property `restrict_object_type`
  - added the new `project_score` enum value to the request property `restrict_object_type`
  - added the new `project_tag` enum value to the request property `restrict_object_type`
  - …12 more
- **2024-05-10** `8c69b494e995`: 5 breaking, 16 info
  - added the new required request property `object_id`
  - added the new required request property `object_type`
  - removed `#/components/schemas/CreateUserPermissionAcl, #/components/schemas/CreateUserRoleAcl, #/components/schemas/CreateGroupPermissionAcl, #/components/schemas/CreateGroupRoleAcl` from the request body `anyOf` list
  - the request's body type changed from no type to `object`
  - the response's body type changed from no type to `object` for status `200`
  - added the new optional request property `group_id`
  - added the new optional request property `permission`
  - added the new optional request property `restrict_object_type`
  - added the new optional request property `role_id`
  - added the new optional request property `user_id`
  - removed `#/components/schemas/UserPermissionAcl, #/components/schemas/UserRoleAcl, #/components/schemas/GroupPermissionAcl, #/components/schemas/GroupRoleAcl` from the response body `anyOf` list for the response status `200`
  - added the optional property `created` to the response with the `200` status
  - added the optional property `group_id` to the response with the `200` status
  - added the optional property `permission` to the response with the `200` status
  - added the optional property `restrict_object_type` to the response with the `200` status
  - added the optional property `role_id` to the response with the `200` status
  - added the optional property `user_id` to the response with the `200` status
  - added the required property `_object_org_id` to the response with the `200` status
  - added the required property `id` to the response with the `200` status
  - added the required property `object_id` to the response with the `200` status
  - added the required property `object_type` to the response with the `200` status
- **2024-05-10** `770b93fa08a7`: 4 breaking, 4 warning
  - removed the required property `anyOf[#/components/schemas/GroupPermissionAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null` from the response with the `200` status
  - removed the required property `anyOf[#/components/schemas/GroupRoleAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null` from the response with the `200` status
  - removed the required property `anyOf[#/components/schemas/UserPermissionAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null` from the response with the `200` status
  - removed the required property `anyOf[#/components/schemas/UserRoleAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null` from the response with the `200` status
  - removed the request property `anyOf[#/components/schemas/CreateGroupPermissionAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null`
  - removed the request property `anyOf[#/components/schemas/CreateGroupRoleAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null`
  - removed the request property `anyOf[#/components/schemas/CreateUserPermissionAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null`
  - removed the request property `anyOf[#/components/schemas/CreateUserRoleAcl]/restrict_object_type/anyOf[subschema #2]/__reserved_only_allow_null`
- **2024-05-06** `44b51ad3239a`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/braintrustdata/apis/braintrust-api/docs/v1/acl/post.md) - [API](https://skmtc.dev/braintrustdata/apis/braintrust-api.md) - [Page](https://skmtc.dev/braintrustdata/apis/braintrust-api/changes/v1/acl/post)
