Roboflow Docs
DashboardResourcesProducts
  • Documentation
  • Developer Reference
  • Changelog
  • Developer Tools
  • Authentication
  • Command Line Interface (CLI)
    • Using the CLI
    • Installation and Authentication
    • Download dataset
    • Upload Dataset
    • Run inference
    • Getting help
  • REST API
    • REST API Structure
    • Workspace and Project IDs
    • Workspaces
  • Workspace Image Query
  • Projects
    • Initialize
    • Project Folders API
    • Create
  • Batches
  • Annotation Jobs
  • Images
    • Upload Images
    • Image Details
    • Upload Dataset
    • Upload an Annotation
    • Search
    • Tags
  • Versions
    • Create a Project Version
    • View a Version
  • Train a Model
  • Export Data
  • Inference
  • Annotation Insights
    • Annotation Insights (Legacy Endpoint)
  • Model Monitoring
    • Stats
    • Custom Metadata
  • Python SDK
    • Using the Python SDK
  • iOS SDK
    • Using the iOS SDK
Powered by GitBook
On this page
  • Creating a Project Folder
  • Get Project Folder
  • Update a Project Folder
  • Add Project(s) to Folder
  • Remove Project(s) to Folder
  • Delete Project Folder

Was this helpful?

  1. Projects

Project Folders API

You can manage your Project Folders programmatically using the Roboflow API.

Note: This feature is only available for Enterprise workspaces.

Note: Your api_key must be sent in all requests. The api_key can be sent as a query parameter or as a top level attribute in the post body.

Creating a Project Folder

POST /:workspace/groups

Creates a Project Folder.

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description
Required

api_key

string

The api key of the workspace where the Project Folder should be created

name

string

The name of the Project Folder

projects

Array<string>

A list of ids of projects that should be moved to this folder

external_id

string

The id of this Project Folder in an external system

auth_groups

Map<"read" | "write , Array<string>

A list of permission groups that should have read/write access to the projects within this Folder. (Note: please contact Roboflow before using this feature as it requires additional set up)

Example Request

curl --location 'https://api.roboflow.com/<workspace_id>/groups?api_key=<api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Client Demos",
    "projects": ["client-demo-project-1", "another-project-id"],
    "external_id": "jfowke123jfiowje",
    "auth_groups": {
        "read": [],
        "write": []
    }
}'

Response

{
  "id": "<project_folder_id>"
}
{
  "error": "Invalid request"
}

Get Project Folder

GET /:workspace/groups/:folderId

Retrieves a Project Folder by ID

Headers

Name
Value

Content-Type

application/json

Query

Name
Type
Description
Required

api_key

string

API Key of workspace where Project Folder exists

Example Request

curl --location 'https://api.roboflow.com/<workspace_id>/groups?api_key=<your_api_key>' \
--header 'Content-Type: application/json'

Response

{
  "data": Array<#ProjectFolder>
}

The project folder specified by the folderId param does not exist, or no project folders exist in the workspace that belongs to the provided api key

Update a Project Folder

POST /:workspace/groups/:folderId

Updates a Project Folder's properities

Headers

Name
Value

Content-Type

application/json

Query

Name
Required

returnUpdated

boolean

When set, returns the full resource payload in the response

Body

Name
Type
Description
Required

api_key

string

The api key of the workspace where the Project Folder should be created

name

string

The name of the Project Folder

projects

Array<string>

A list of ids of projects that should be moved to this folder

external_id

string

The id of this Project Folder in an external system

auth_groups

Map<"read" | "write , Array<string>

A list of permission groups that should have read/write access to the projects within this Folder. (Note: please contact Roboflow before using this feature as it requires additional set up)

Example Request

curl --location 'https://api.roboflow.com/<workspace_id>/groups/<folder_id>?api_key=<api_key>&returnUpdated=true' \
--header 'Content-Type: application/json' \
--data '{
    "name": "A new name"
}'

Response

No Content. Resource was updated successfully

// Only when query param ?returnUpdated=true
{
    "data": Array<#ProjectFolder>
}

Add Project(s) to Folder

PATCH /:workspace/groups/:folderId/projects

Adds one or more projects to an existing folder

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description
Required

projects

Array<string>

A list of project ids to add to the Project Folder

Example Request

curl --location --request PATCH 'https://api.roboflow.com/<workspace_id>/groups/example-folder-id/projects?api_key=<api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "projects": ["dog-breeds-mi53"]
}'

Response

No Content. Project was added to the group successfully

Remove Project(s) to Folder

DELETE /:workspace/groups/:folderId/projects

Removes one or more projects from an existing folder and places it back into the top level workspace

Headers

Name
Value

Content-Type

application/json

Body

Name
Type
Description
Required

projects

Array<string>

A list of project ids to remove from the Project Folder

Example Request

curl --location --request PATCH 'https://api.roboflow.com/<workspace_id>/groups/example-folder-id/projects?api_key=<api_key>' \
--header 'Content-Type: application/json' \
--data '{
    "projects": ["dog-breeds-mi53"]
}'

Response

No Content. Project was removed from the group successfully

Delete Project Folder

DELETE /:workspace/groups/:folderId

Deletes a project Folder. All projects within the folder will be placed back into the top level workspace and not deleted.

Headers

Name
Value

Content-Type

application/json

Example Request

curl --location --request DELETE 'https://api.roboflow.com/<workspace_id>/groups/example-folder-id/projects?api_key=<api_key>' \
--header 'Content-Type: application/json'

Response

No Content. Project Folder was successfully deleted

PreviousInitializeNextCreate

Was this helpful?