Reference/API/Groups
GET
/v1/group

List groups

List out all groups. The groups are sorted by creation date, with the most recently-created groups coming first

/v1/group

The Authorization access token

Authorization

Authorization
Required
Bearer <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

Limit the number of objects to return

Minimum: 0

starting_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

Format: "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

Format: "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

group_namestring

Name of the group to search for

org_namestring

Filter search results to within a particular organization

Status codeDescription
200Returns a list of group objects
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X GET "https://api.braintrust.dev/v1/group?limit=0&starting_after=497f6eca-6276-4993-bfeb-53cbbbba6f08&ending_before=497f6eca-6276-4993-bfeb-53cbbbba6f08&ids=497f6eca-6276-4993-bfeb-53cbbbba6f08&group_name=string&org_name=string"

{
  "objects": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
      "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
      "created": "2019-08-24T14:15:22Z",
      "name": "string",
      "description": "string",
      "deleted_at": "2019-08-24T14:15:22Z",
      "member_users": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      ],
      "member_groups": [
        "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      ]
    }
  ]
}

POST
/v1/group

Create group

Create a new group. If there is an existing group with the same name as the one specified in the request, will return the existing group unmodified

/v1/group

The Authorization access token

Authorization

Authorization
Required
Bearer <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 (Optional)

Any desired information about the new group object

name
Required
string

Name of the group

descriptionstring | null

Textual description of the group

member_usersarray<string> | null

Ids of users which belong to this group

member_groupsarray<string> | null

Ids of the groups this group inherits from

An inheriting group has all the users contained in its member groups, as well as all of their inherited users

org_namestring | null

For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the group belongs in.

Status codeDescription
200Returns the new group object
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X POST "https://api.braintrust.dev/v1/group" \
  -d '{
  "name": "string",
  "description": "string",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "org_name": "string"
}'

A group is a collection of users which can be assigned an ACL

Groups can consist of individual users, as well as a set of groups they inherit from

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "description": "string",
  "deleted_at": "2019-08-24T14:15:22Z",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

PUT
/v1/group

Create or replace group

Create or replace group. If there is an existing group with the same name as the one specified in the request, will replace the existing group with the provided fields

/v1/group

The Authorization access token

Authorization

Authorization
Required
Bearer <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 (Optional)

Any desired information about the new group object

name
Required
string

Name of the group

descriptionstring | null

Textual description of the group

member_usersarray<string> | null

Ids of users which belong to this group

member_groupsarray<string> | null

Ids of the groups this group inherits from

An inheriting group has all the users contained in its member groups, as well as all of their inherited users

org_namestring | null

For nearly all users, this parameter should be unnecessary. But in the rare case that your API key belongs to multiple organizations, you may specify the name of the organization the group belongs in.

Status codeDescription
200Returns the new group object
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X PUT "https://api.braintrust.dev/v1/group" \
  -d '{
  "name": "string",
  "description": "string",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "org_name": "string"
}'

A group is a collection of users which can be assigned an ACL

Groups can consist of individual users, as well as a set of groups they inherit from

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "description": "string",
  "deleted_at": "2019-08-24T14:15:22Z",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

GET
/v1/group/{group_id}

Get group

Get a group object by its id

/v1/group/{group_id}

The Authorization access token

Authorization

Authorization
Required
Bearer <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

group_id
Required
string

Group id

Format: "uuid"
Status codeDescription
200Returns the group object
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X GET "https://api.braintrust.dev/v1/group/497f6eca-6276-4993-bfeb-53cbbbba6f08"

A group is a collection of users which can be assigned an ACL

Groups can consist of individual users, as well as a set of groups they inherit from

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "description": "string",
  "deleted_at": "2019-08-24T14:15:22Z",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

PATCH
/v1/group/{group_id}

Partially update group

Partially update a group object. Specify the fields to update in the payload. Any object-type fields will be deep-merged with existing content. Currently we do not support removing fields or setting them to null.

/v1/group/{group_id}

The Authorization access token

Authorization

Authorization
Required
Bearer <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 (Optional)

Fields to update

descriptionstring | null

Textual description of the group

namestring | null

Name of the group

add_member_usersarray<string> | null

A list of user IDs to add to the group

remove_member_usersarray<string> | null

A list of user IDs to remove from the group

add_member_groupsarray<string> | null

A list of group IDs to add to the group's inheriting-from set

remove_member_groupsarray<string> | null

A list of group IDs to remove from the group's inheriting-from set

Path Parameters

group_id
Required
string

Group id

Format: "uuid"
Status codeDescription
200Returns the group object
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X PATCH "https://api.braintrust.dev/v1/group/497f6eca-6276-4993-bfeb-53cbbbba6f08" \
  -d '{
  "description": "string",
  "name": "string",
  "add_member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "remove_member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "add_member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "remove_member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}'

A group is a collection of users which can be assigned an ACL

Groups can consist of individual users, as well as a set of groups they inherit from

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "description": "string",
  "deleted_at": "2019-08-24T14:15:22Z",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}

DELETE
/v1/group/{group_id}

Delete group

Delete a group object by its id

/v1/group/{group_id}

The Authorization access token

Authorization

Authorization
Required
Bearer <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

group_id
Required
string

Group id

Format: "uuid"
Status codeDescription
200Returns the deleted group object
400The request was unacceptable, often due to missing a required parameter
401No valid API key provided
403The API key doesn’t have permissions to perform the request
429Too many requests hit the API too quickly. We recommend an exponential backoff of your requests
500Something went wrong on Braintrust's end. (These are rare.)
curl -X DELETE "https://api.braintrust.dev/v1/group/497f6eca-6276-4993-bfeb-53cbbbba6f08"

A group is a collection of users which can be assigned an ACL

Groups can consist of individual users, as well as a set of groups they inherit from

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b",
  "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  "created": "2019-08-24T14:15:22Z",
  "name": "string",
  "description": "string",
  "deleted_at": "2019-08-24T14:15:22Z",
  "member_users": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ],
  "member_groups": [
    "497f6eca-6276-4993-bfeb-53cbbbba6f08"
  ]
}