v1/aclList acls
List out all acls. The acls are sorted by creation date, with the most recently-created acls coming first
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Query Parameters
limitinteger | null
Limit the number of objects to return
0starting_afterstring
Pagination cursor id.
For example, if the final item in the last page you fetched had an id of foo, pass starting_after=foo to fetch the next page. Note: you may only pass one of starting_after and ending_before
"uuid"ending_beforestring
Pagination cursor id.
For example, if the initial item in the last page you fetched had an id of foo, pass ending_before=foo to fetch the previous page. Note: you may only pass one of starting_after and ending_before
"uuid"idsAny properties in string, array<string>
Filter search results to a particular set of object IDs. To specify a list of IDs, include the query param multiple times
object_typeRequiredstring
The object type that the ACL applies to
"organization" | "project" | "experiment" | "dataset" | "prompt" | "prompt_session" | "group" | "role" | "org_member" | "project_log" | "org_project"object_idRequiredstring
The id of the object the ACL applies to
"uuid"Returns a list of acl objects
v1/aclCreate acl
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
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Request Body
application/jsonOptionalAny desired information about the new acl object
object_typeRequiredstring
The object type that the ACL applies to
"organization" | "project" | "experiment" | "dataset" | "prompt" | "prompt_session" | "group" | "role" | "org_member" | "project_log" | "org_project"object_idRequiredstring
The id of the object the ACL applies to
"uuid"user_idstring | null
Id of the user the ACL applies to. Exactly one of user_id and group_id will be provided
"uuid"group_idstring | null
Id of the group the ACL applies to. Exactly one of user_id and group_id will be provided
"uuid"permissionstring | null
Each permission permits a certain type of operation on an object in the system
Permissions can be assigned to to objects on an individual basis, or grouped into roles
"create" | "read" | "update" | "delete" | "create_acls" | "read_acls" | "update_acls" | "delete_acls"restrict_object_typestring | null
The object type that the ACL applies to
"organization" | "project" | "experiment" | "dataset" | "prompt" | "prompt_session" | "group" | "role" | "org_member" | "project_log" | "org_project"role_idstring | null
Id of the role the ACL grants. Exactly one of permission and role_id will be provided
"uuid"Returns the new acl object
v1/aclDelete single acl
Delete a single acl
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Request Body
application/jsonOptionalParameters which uniquely specify the acl to delete
object_typeRequiredstring
The object type that the ACL applies to
"organization" | "project" | "experiment" | "dataset" | "prompt" | "prompt_session" | "group" | "role" | "org_member" | "project_log" | "org_project"object_idRequiredstring
The id of the object the ACL applies to
"uuid"user_idstring | null
Id of the user the ACL applies to. Exactly one of user_id and group_id will be provided
"uuid"group_idstring | null
Id of the group the ACL applies to. Exactly one of user_id and group_id will be provided
"uuid"permissionstring | null
Each permission permits a certain type of operation on an object in the system
Permissions can be assigned to to objects on an individual basis, or grouped into roles
"create" | "read" | "update" | "delete" | "create_acls" | "read_acls" | "update_acls" | "delete_acls"restrict_object_typestring | null
The object type that the ACL applies to
"organization" | "project" | "experiment" | "dataset" | "prompt" | "prompt_session" | "group" | "role" | "org_member" | "project_log" | "org_project"role_idstring | null
Id of the role the ACL grants. Exactly one of permission and role_id will be provided
"uuid"Returns the deleted acl object
v1/acl/{acl_id}Get acl
Get an acl object by its id
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Path Parameters
acl_idRequiredstring
Acl id
"uuid"Returns the acl object
v1/acl/{acl_id}Delete acl
Delete an acl object by its id
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Path Parameters
acl_idRequiredstring
Acl id
"uuid"Returns the deleted acl object
v1/acl/batch-updateBatch update acls
Batch update acls. This operation is idempotent, so adding acls which already exist will have no effect, and removing acls which do not exist will have no effect.
Authorization
AuthorizationRequiredBearer <token>
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.
In: header
Request Body
application/jsonOptionalAcls to add/remove.
add_aclsarray<object> | null
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.
remove_aclsarray<object> | null
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.
A success status