Create a new acl. If there is an existing acl with the same contents as the one specified in the request, will return the existing acl unmodified
Most Braintrust endpoints are authenticated by providing your API key as a header Authorization: Bearer [api_key] to your HTTP request. You can create an API key in the Braintrust organization settings page.
Any desired information about the new acl object
An ACL grants a certain permission or role to a certain user or group on an object.
ACLs are inherited across the object hierarchy. So for example, if a user has read permissions on a project, they will also have read permissions on any experiment, dataset, etc. created within that project.
To restrict a grant to a particular sub-object, you may specify restrict_object_type in the ACL, as part of a direct permission grant or as part of a role.
The object type that the ACL applies to
organization, project, experiment, dataset, prompt, prompt_session, group, role, org_member, project_log, org_project The id of the object the ACL applies to
Id of the user the ACL applies to. Exactly one of user_id and group_id will be provided
Id of the group the ACL applies to. Exactly one of user_id and group_id will be provided
Permission the ACL grants. Exactly one of permission and role_id will be provided
create, read, update, delete, create_acls, read_acls, update_acls, delete_acls When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a role_id.
organization, project, experiment, dataset, prompt, prompt_session, group, role, org_member, project_log, org_project Id of the role the ACL grants. Exactly one of permission and role_id will be provided
Returns the new acl object
An ACL grants a certain permission or role to a certain user or group on an object.
ACLs are inherited across the object hierarchy. So for example, if a user has read permissions on a project, they will also have read permissions on any experiment, dataset, etc. created within that project.
To restrict a grant to a particular sub-object, you may specify restrict_object_type in the ACL, as part of a direct permission grant or as part of a role.
Unique identifier for the acl
The object type that the ACL applies to
organization, project, experiment, dataset, prompt, prompt_session, group, role, org_member, project_log, org_project The id of the object the ACL applies to
The organization the ACL's referred object belongs to
Id of the user the ACL applies to. Exactly one of user_id and group_id will be provided
Id of the group the ACL applies to. Exactly one of user_id and group_id will be provided
Permission the ACL grants. Exactly one of permission and role_id will be provided
create, read, update, delete, create_acls, read_acls, update_acls, delete_acls When setting a permission directly, optionally restricts the permission grant to just the specified object type. Cannot be set alongside a role_id.
organization, project, experiment, dataset, prompt, prompt_session, group, role, org_member, project_log, org_project Id of the role the ACL grants. Exactly one of permission and role_id will be provided
Date of acl creation