Create project
Create a new project. If there is an existing project with the same name as the one specified in the request, will return the existing project unmodified
name is required.
- Omit
parent_external_idto create a root project;workspace_external_idis then required, and a missing or malformed value returns 404 rather than 400, because it is resolved through the same access check used to look up an existing workspace. - Set
parent_external_idto create a sub-project instead. In that caseworkspace_external_idis ignored entirely: the new project always inherits the parent’s workspace. - Nesting is capped at three levels; creating under a project already at that depth returns 400.
- Omitted fields default:
visibilitytoprivate,metadatato an empty object,descriptionto an empty string. slugis generated server-side from the name plus random letters and is not caller-controllable; treatexternal_idas the stable identifier.- There is no idempotency key, so repeating this call creates a second project with the same name.
Authorizations
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.
Body
Any desired information about the new project object
Name of the project
1Textual description of the project
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 project belongs in.
Response
Returns the new project object
Unique identifier for the project
Unique id for the organization that the project belongs under
Name of the project
Textual description of the project
Date of project creation
Date of project deletion, or null if the project is still active
Identifies the user who created the project