Projects API
Create a Project
POST /organizations/:organization_name/projects
Parameter | Description |
---|---|
:organization_name | The name of the organization to create the project in. The organization must already exist in the system, and the user must have permissions to create new projects. |
Note: Project creation is restricted to the owners team, teams with the "Manage Projects" permission, and the organization API token.
Request Body
This POST endpoint requires a JSON object with the following properties as a request payload.
Properties without a default value are required.
Key path | Type | Default | Description |
---|---|---|---|
data.type | string | Must be "projects" . | |
data.attributes.name | string | The name of the project, which can only include letters, numbers, spaces, - , and _ . It must be at least 3 characters long and no more than 36 characters long. |
Sample Payload
Sample Response
Update a Project
PATCH /projects/:project_id
Parameter | Description |
---|---|
:project_id | The ID of the project to update |
Request Body
These PATCH endpoints require a JSON object with the following properties as a request payload.
Properties without a default value are required.
Key path | Type | Default | Description |
---|---|---|---|
data.type | string | Must be "projects" . | |
data.attributes.name | string | (previous value) | A new name for the project, which can only include letters, numbers, spaces, - , and _ . It must be at least 3 characters long and no more than 36 characters long. |
Sample Payload
Sample Request
Sample Response
List projects
This endpoint lists projects in the organization.
GET /organizations/:organization_name/projects
Parameter | Description |
---|---|
:organization_name | The name of the organization to list the projects of. |
Query Parameters
This endpoint supports pagination with standard URL query parameters. Remember to percent-encode [
as %5B
and ]
as %5D
if your tooling doesn't automatically encode URLs.
Parameter | Description |
---|---|
page[number] | Optional. If omitted, the endpoint will return the first page. |
page[size] | Optional. If omitted, the endpoint will return 20 projects per page. |
q | Optional. Allows querying a list of projects by name. This search is case-insensitive. |
filter[permissions][create-workspace] | Optional. If present, returns a list of projects that the authenticated user can create workspaces in. |
filter[permissions][update] | Optional. If present, returns a list of projects that the authenticated user can update. |
Sample Request
Sample Response
Show project
GET /projects/:project_id
Parameter | Description |
---|---|
:project_id | The project ID |
Sample Request
Sample Response
Delete a project
A project cannot be deleted if it contains workspaces.
DELETE /projects/:project_id
Parameter | Description |
---|---|
:project_id | The ID of the project to delete |
Status | Response | Reason(s) |
---|---|---|
204 | Nothing | Successfully deleted the project |
403 | JSON API error object | Not authorized to perform a force delete on the project |
404 | JSON API error object | Project not found, or user unauthorized to perform project delete |
Sample Request