Roboflow Docs
DashboardForum
  • Build Vision Models with Roboflow
  • Quickstart
  • Roboflow Enterprise
  • Workspaces
    • Create a Workspace
    • Delete a Workspace
    • Add Team Members
    • Role-Based Access Control
  • Usage Based Pricing
  • Workflows
    • Create a Workflow
    • Build a Workflow
    • Test a Workflow
    • Deploy a Workflow
    • Workflow Examples
      • Multimodal Model Workflow
    • Share a Workflow
      • Workflow Sharing Configuration
    • Advance Workflow Topics
      • JSON Editor
  • Datasets
    • Create a Project
    • Upload Data
      • Import Data from Cloud Providers
        • AWS S3 Bucket
        • Azure Blob Storage
        • Google Cloud Storage
      • Upload Video
      • Import from Roboflow Universe
    • Manage Batches
    • Search a Dataset
    • Create a Dataset Version
    • Preprocess Images
    • Create Augmented Images
    • Add Tags to Images
    • Manage Classes
    • Edit Keypoint Skeletons
    • Create an Annotation Attribute
    • Export Versions
    • Dataset Analytics
    • Merge Projects
    • Delete an Image
    • Delete a Version
    • Delete a Project
    • Project Folders
  • Annotate
    • Annotation Tools
    • Use Roboflow Annotate
      • Annotate Keypoints
      • Label Assist (AI Labeling)
      • Enhanced Smart Polygon with SAM (AI Labeling)
      • Smart Polygon (AI Labeling)
      • Keyboard Shortcuts
      • Comment on an Image
      • Annotation History
      • Similarity Search
      • Box Prompting (AI Labeling)
    • Automated Annotation with Auto Label
    • Collaborate on Annotations
    • Annotation Insights
    • Labeling Best Practices
  • Train
    • Train a Model in Roboflow
      • Train from Scratch
      • Train from a Universe Checkpoint
      • Python Package
      • Roboflow Notebooks (GitHub)
    • Train from Azure Vision
    • Train from Google Cloud
    • View Training Results
    • Evaluate Trained Models
    • Custom Training Notebooks
  • Deploy
    • Deployment Overview
      • Roboflow Managed Deployments Overview
    • Serverless Hosted API
      • Object Detection
      • Classification
      • Instance Segmentation
        • Semantic Segmentation
      • Keypoint Detection
      • Foundation Models
        • CLIP
        • OCR
        • YOLO-World
      • Video Inference
        • Use a Fine-Tuned Model
        • Use CLIP
        • Use Gaze Detection
        • API Reference
        • Video Inference JSON Output Format
      • Pre-Trained Model APIs
        • Blur People API
        • OCR API
        • Logistics API
        • Image Tagging API
        • People Detection API
        • Fish Detection API
        • Bird Detection API
        • PPE Detection API
        • Barcode Detection API
        • License Plate Detection API
        • Ceramic Defect Detection API
        • Metal Defect Detection API
    • Serverless Hosted API V2
    • Dedicated Deployments
      • How to create a dedicated deployment (Roboflow App)
      • How to create a dedicated deployment (Roboflow CLI)
      • How to use a dedicated deployment
      • How to manage dedicated deployment using HTTP APIs
    • SDKs
      • Python inference-sdk
      • Web Browser
        • inferencejs Reference
        • inferencejs Requirements
      • Lens Studio
        • Changelog - Lens Studio
      • Mobile iOS
      • Luxonis OAK
    • Upload Custom Weights
    • Download Roboflow Model Weights
    • Enterprise Deployment
      • License Server
      • Offline Mode
      • Kubernetes
      • Docker Compose
    • Model Monitoring
      • Alerting
  • Roboflow CLI
    • Introduction
    • Installation and Authentication
    • Getting Help
    • Upload Dataset
    • Download Dataset
    • Run Inference
  • API Reference
    • Introduction
    • Python Package
    • REST API Structure
    • Authentication
    • Workspace and Project IDs
    • Workspaces
    • Workspace Image Query
    • Batches
    • Annotation Jobs
    • Projects
      • Initialize
      • Create
      • Project Folders API
    • Images
      • Upload Images
      • Image Details
      • Upload Dataset
      • Upload an Annotation
      • Search
      • Tags
    • Versions
      • View a Version
      • Create a Project Version
    • Inference
    • Export Data
    • Train a Model
    • Annotation Insights
      • Annotation Insights (Legacy Endpoint)
    • Model Monitoring
      • Custom Metadata
      • Inference Result Stats
  • Support
    • Share a Workspace with Support
    • Account Deletion
    • Frequently Asked Questions
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. API Reference
  2. Projects

Project Folders API

PreviousCreateNextImages

Last updated 10 months ago

Was this helpful?

You can manage your 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>

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>

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

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

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

Project Folders
ids
ids