> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/datasets/hi/manage/project-folders.md).

# प्रोजेक्ट फ़ोल्डर

## के बारे में

Project Folders आपके वर्कस्पेस के भीतर projects के संगठन और सुरक्षा को बेहतर बनाते हैं। Folders आपको एक या अधिक projects को अलग-अलग श्रेणियों में समूहित करने की सुविधा देते हैं, जिससे आपके projects को नेविगेट, व्यवस्थित, और प्रबंधित करने की आपकी क्षमता बेहतर होती है। इसके अलावा, SSO सक्षम वर्कस्पेस के लिए, आप किसी folder के भीतर projects की पहुँच कुछ team members तक सीमित कर सकते हैं, जिससे आपके डेटा की सुरक्षा बढ़ती है।

## वेब ऐप

#### फ़ोल्डर देखना

अपने वर्कस्पेस दृश्य में, आपके पास मौजूद कोई भी Project Folder सबसे ऊपर दिखाई देगा। आपके वर्कस्पेस में एक या अधिक Project Folders हो सकते हैं, और प्रत्येक Project Folder में एक या अधिक Projects हो सकते हैं।

<figure><img src="/files/ef4b7a5339282e26fd65853ecd07a00517867f34" alt=""><figcaption><p>Project Folders आपके Workspace के शीर्ष पर दिखाई देते हैं</p></figcaption></figure>

#### फ़ोल्डर बनाना

एक नया फ़ोल्डर बनाने के लिए, ऊपर दाईं ओर "+ New Folder" बटन पर क्लिक करें। अपने फ़ोल्डर के लिए एक नाम दें और "Save" पर क्लिक करें। पृष्ठ आपके प्रोजेक्ट फ़ोल्डर पर नेविगेट करेगा, जहाँ आप एक नया प्रोजेक्ट बना सकते हैं। प्रोजेक्ट फ़ोल्डर दृश्य से बनाया गया कोई भी प्रोजेक्ट स्वचालित रूप से उस फ़ोल्डर में जोड़ दिया जाएगा।

[\[Roboflow दस्तावेज़\] Project Folders - Create Project - वीडियो देखें](https://www.loom.com/share/aefb3b5fd1ea40cdb4183c903f13d9c8)

<figure><img src="https://cdn.loom.com/sessions/thumbnails/aefb3b5fd1ea40cdb4183c903f13d9c8-with-play.gif" alt=""><figcaption><p>नया Project Folder बनाना</p></figcaption></figure>

#### फ़ोल्डर का नाम बदलना

किसी फ़ोल्डर का नाम बदलने के लिए, project folder पर ड्रॉपडाउन मेनू (3 dots) पर क्लिक करें। "Rename" विकल्प चुनें, और फिर अपने project के लिए नया नाम दें। "Save" पर क्लिक करने के बाद, आपके फ़ोल्डर का नया नाम हो जाएगा।

[\[Roboflow दस्तावेज़\] Project Folders - फ़ोल्डर का नाम बदलें - वीडियो देखें](https://www.loom.com/share/63508a2ff629454690ac0957d5cfc990)

<figure><img src="https://cdn.loom.com/sessions/thumbnails/63508a2ff629454690ac0957d5cfc990-with-play.gif" alt=""><figcaption></figcaption></figure>

#### फ़ोल्डरों में प्रोजेक्ट प्रबंधन

आप मौजूदा projects को किसी folder में स्थानांतरित कर सकते हैं। किसी project को स्थानांतरित करने के लिए, project के dropdown menu (3 dots) पर क्लिक करें और "Move Project" चुनें। फिर आपको एक pop up दिखाई देगा जहाँ आप नया target destination चुन सकते हैं। यदि आपके पास कोई project folders नहीं हैं, तो आप "New Folder" button पर क्लिक करके एक जोड़ सकते हैं। अन्यथा, आप अपने मौजूदा folders में से किसी को target location के रूप में चुन सकते हैं। यदि आप अपने project को किसी folder से बाहर ले जाना चाहते हैं, तो आप अपने workspace का नाम चुन सकते हैं।

[\[Roboflow दस्तावेज़\] Project Folders - प्रोजेक्ट स्थानांतरित करें - वीडियो देखें](https://www.loom.com/share/a411cabb98f14255b07c3c2e209c3abd)

<figure><img src="https://cdn.loom.com/sessions/thumbnails/a411cabb98f14255b07c3c2e209c3abd-with-play.gif" alt=""><figcaption></figcaption></figure>

#### फ़ोल्डर हटाना

आप project folder पर dropdown menu (3 dots) पर क्लिक करके और "Delete" विकल्प चुनकर किसी folder को हटा सकते हैं (यह क्रिया वापस नहीं ली जा सकती)। किसी folder को हटाने से **नहीं** उस folder के projects नहीं हटेंगे, बल्कि वे projects वापस workspace स्तर पर चले जाएंगे। Folder के भीतर कोई भी workflows भी वापस workspace स्तर पर चले जाते हैं और उपलब्ध बने रहते हैं।

[\[Roboflow दस्तावेज़\] Project Folders - फ़ोल्डर हटाएं - वीडियो देखें](https://www.loom.com/share/852e70b217de4d5d9ca79bef41903ad9)

<figure><img src="https://cdn.loom.com/sessions/thumbnails/852e70b217de4d5d9ca79bef41903ad9-with-play.gif" alt=""><figcaption></figcaption></figure>

### कस्टम फ़ोल्डर अनुमतियाँ

Folders projects को व्यवस्थित और प्रबंधित करने का एक शानदार तरीका प्रदान करते हैं, लेकिन वे आपके folders के एक उपसमूह के लिए custom permissions सेट करने की सुविधा भी देते हैं। उदाहरण के लिए, यदि आप चाहते हैं कि आपके workspace के केवल कुछ सदस्य किसी विशेष folder के projects तक पहुँच सकें, तो आप Roboflow के SSO integration के साथ यह कर सकते हैं। शुरुआत करने के लिए, कृपया support से संपर्क करें और हम आपको सेटअप करने में खुशी से मदद करेंगे।

### Project Folders API

Project Folders को Roboflow API का उपयोग करके प्रोग्रामेटिक रूप से प्रबंधित किया जा सकता है। उपलब्ध endpoints के विवरण के लिए, देखें [Project Folders API](#http-api) डॉक्यूमेंटेशन।

## HTTP एपीआई

आप अपने Project Folders को Roboflow API का उपयोग करके प्रोग्रामेटिक रूप से प्रबंधित कर सकते हैं।

**नोट:** यह सुविधा केवल Enterprise workspaces के लिए उपलब्ध है।

**नोट**: आपका `api_key` सभी requests में भेजा जाना चाहिए। The `api_key` को query parameter के रूप में या post body में top level attribute के रूप में भेजा जा सकता है।

### Project Folder बनाना

<mark style="color:हरा;">`POST`</mark> `/:workspace/groups`

एक Project Folder बनाता है।

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**बॉडी**

<table data-search="false"><thead><tr><th width="164">नाम</th><th width="223">प्रकार</th><th width="287">विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>api_key</code></td><td>स्ट्रिंग</td><td>वह workspace जिसकी Project Folder में Project Folder बनाया जाना चाहिए उसकी API key</td><td>true</td></tr><tr><td><code>name</code></td><td>स्ट्रिंग</td><td>Project Folder का नाम</td><td>false</td></tr><tr><td><code>प्रोजेक्ट्स</code></td><td>Array&#x3C;string></td><td>projects के ids की सूची जिन्हें इस folder में स्थानांतरित किया जाना चाहिए</td><td>false</td></tr><tr><td><code>external_id</code></td><td>स्ट्रिंग</td><td>किसी बाहरी system में इस Project Folder का id</td><td>false</td></tr><tr><td><code>auth_groups</code></td><td>Map&#x3C;"read" | "write\n, Array&#x3C;string></td><td>permission groups की सूची जिन्हें इस Folder के भीतर projects के लिए read/write access होना चाहिए। (नोट: कृपया इस feature का उपयोग करने से पहले Roboflow से संपर्क करें क्योंकि इसके लिए अतिरिक्त setup की आवश्यकता है)</td><td>false</td></tr></tbody></table>

**उदाहरण अनुरोध**

```
curl --location 'https://api.roboflow.com/<workspace_id>/groups?api_key=$ROBOFLOW_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": []
    }
}'
```

**प्रतिक्रिया**

{% tabs %}
{% tab title="200" %}

```json
{
  "id": "<project_folder_id>"
}
```

{% endtab %}

{% tab title="401" %}

```json
{
  "error": "अमान्य अनुरोध"
}
```

{% endtab %}
{% endtabs %}

### Project Folder प्राप्त करें

<mark style="color:हरा;">`GET`</mark> `/:workspace/groups/:folderId`

ID द्वारा एक Project Folder प्राप्त करता है

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**क्वेरी**

<table data-search="false"><thead><tr><th>नाम</th><th>प्रकार</th><th>विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>api_key</code></td><td>स्ट्रिंग</td><td>Project Folder मौजूद होने वाले workspace की API Key</td><td>true</td></tr></tbody></table>

**उदाहरण अनुरोध**

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

**प्रतिक्रिया**

{% tabs %}
{% tab title="200" %}

```json
{
  "data": Array<#ProjectFolder>
}
```

{% endtab %}

{% tab title="404" %}
द्वारा निर्दिष्ट project folder `folderId` param मौजूद नहीं है, या प्रदान की गई api key से संबंधित workspace में कोई project folders मौजूद नहीं हैं
{% endtab %}
{% endtabs %}

### Project Folder अपडेट करें

<mark style="color:हरा;">`POST`</mark> `/:workspace/groups/:folderId`

Project Folder की properties अपडेट करता है

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**क्वेरी**

<table data-search="false"><thead><tr><th>नाम</th><th></th><th></th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>returnUpdated</code></td><td>बूलियन</td><td>जब सेट किया जाता है, तो response में पूरा resource payload लौटाता है</td><td>false</td></tr></tbody></table>

**बॉडी**

<table data-search="false"><thead><tr><th width="164">नाम</th><th width="223">प्रकार</th><th width="287">विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>api_key</code></td><td>स्ट्रिंग</td><td>वह workspace जिसकी Project Folder में Project Folder बनाया जाना चाहिए उसकी API key</td><td>true</td></tr><tr><td><code>name</code></td><td>स्ट्रिंग</td><td>Project Folder का नाम</td><td>false</td></tr><tr><td><code>प्रोजेक्ट्स</code></td><td>Array&#x3C;string></td><td>projects के ids की सूची जिन्हें इस folder में स्थानांतरित किया जाना चाहिए</td><td>false</td></tr><tr><td><code>external_id</code></td><td>स्ट्रिंग</td><td>किसी बाहरी system में इस Project Folder का id</td><td>false</td></tr><tr><td><code>auth_groups</code></td><td>Map&#x3C;"read" | "write\n, Array&#x3C;string></td><td>permission groups की सूची जिन्हें इस Folder के भीतर projects के लिए read/write access होना चाहिए। (नोट: कृपया इस feature का उपयोग करने से पहले Roboflow से संपर्क करें क्योंकि इसके लिए अतिरिक्त setup की आवश्यकता है)</td><td>false</td></tr></tbody></table>

**उदाहरण अनुरोध**

```
curl --location 'https://api.roboflow.com/<workspace_id>/groups/<folder_id>?api_key=$ROBOFLOW_API_KEY&returnUpdated=true' \\
--header 'Content-Type: application/json' \
--data '{
    "name": "एक नया नाम"
}'
```

**प्रतिक्रिया**

{% tabs %}
{% tab title="204" %}
कोई सामग्री नहीं। Resource सफलतापूर्वक अपडेट किया गया
{% endtab %}

{% tab title="200" %}

```
// केवल जब query param ?returnUpdated=true
{
    "data": Array<#ProjectFolder>
}
```

{% endtab %}
{% endtabs %}

### Folder में Project(s) जोड़ें

<mark style="color:हरा;">`PATCH`</mark> `/:workspace/groups/:folderId/projects`

मौजूदा folder में एक या अधिक projects जोड़ता है

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**बॉडी**

<table data-search="false"><thead><tr><th>नाम</th><th>प्रकार</th><th>विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>प्रोजेक्ट्स</code></td><td>Array&#x3C;string></td><td>Project Folder में जोड़ने के लिए project ids की सूची</td><td>true</td></tr></tbody></table>

**उदाहरण अनुरोध**

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

**प्रतिक्रिया**

{% tabs %}
{% tab title="204" %}
कोई सामग्री नहीं। Project को समूह में सफलतापूर्वक जोड़ दिया गया
{% endtab %}
{% endtabs %}

### Folder से Project(s) हटाएँ

<mark style="color:लाल;">`DELETE`</mark> `/:workspace/groups/:folderId/projects`

मौजूदा folder से एक या अधिक projects हटाता है और उन्हें वापस top level workspace में रखता है

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**बॉडी**

<table data-search="false"><thead><tr><th>नाम</th><th>प्रकार</th><th>विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>प्रोजेक्ट्स</code></td><td>Array&#x3C;string></td><td>Project Folder से हटाने के लिए project ids की सूची</td><td>true</td></tr></tbody></table>

**उदाहरण अनुरोध**

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

**प्रतिक्रिया**

{% tabs %}
{% tab title="204" %}
कोई सामग्री नहीं। Project को समूह से सफलतापूर्वक हटा दिया गया
{% endtab %}
{% endtabs %}

### Project Folder हटाएँ

<mark style="color:लाल;">`DELETE`</mark> `/:workspace/groups/:folderId`

एक project Folder हटाता है। Folder के भीतर के सभी projects वापस top level workspace में रख दिए जाएंगे और हटाए नहीं जाएंगे।

**हेडर**

| नाम          | मान                |
| ------------ | ------------------ |
| Content-Type | `application/json` |

**उदाहरण अनुरोध**

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

**प्रतिक्रिया**

{% tabs %}
{% tab title="204" %}
कोई सामग्री नहीं। Project Folder सफलतापूर्वक हटाया गया
{% endtab %}
{% endtabs %}

## Python SDK

Project folders workspace के projects को nested groups में व्यवस्थित करते हैं। Python SDK folder listing और creation को सीधे `वर्कस्पेस`; update और delete निम्न-स्तरीय `rfapi` एडाप्टर।

{% hint style="info" %}
Project folders एक Enterprise feature हैं। folder endpoints लौटाते हैं `403` non-Enterprise workspaces के लिए।
{% endhint %}

### फ़ोल्डरों की सूची

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
workspace = rf.workspace()

folders = workspace.list_folders()
for folder in folders.get("data", []):
    print(folder["id"], folder["name"])

```

### एक फ़ोल्डर बनाएं

```python
folder = workspace.create_folder(
    name="Training Data",
    parent_id=None,                              # नेस्टिंग के लिए वैकल्पिक
    project_ids=["my-detector", "other-project"], # निर्माण के समय भरने के लिए वैकल्पिक
)
print(folder["id"])

```

#### पैरामीटर

* `name` (str) - web app में दिखाई देने वाला folder name.
* `parent_id` (str, वैकल्पिक) - किसी मौजूदा folder का id जिसके अंतर्गत नेस्ट करना है। top level folder के लिए छोड़ दें।
* `project_ids` (list\[str], वैकल्पिक) - निर्माण के समय folder में स्थानांतरित किए जाने वाले project ids।

### एक folder प्राप्त करें

```python
from roboflow.adapters import rfapi

folder = rfapi.get_folder("YOUR_API_KEY", workspace.url, "<folder-id>")
print(folder)
```

### फ़ोल्डर का नाम बदलें या उसे अपडेट करें

```python
from roboflow.adapters import rfapi

rfapi.update_folder(
    "YOUR_API_KEY",
    workspace.url,
    "<folder-id>",
    name="New Name",
)
```

### एक फ़ोल्डर हटाएँ

```python
from roboflow.adapters import rfapi

rfapi.delete_folder("YOUR_API_KEY", workspace.url, "<folder-id>")
```

फ़ोल्डर हटाने से उसके projects वापस top level पर चले जाते हैं - projects स्वयं हटाए नहीं जाते।

## CLI

आप command line से workspace folders बना, सूचीबद्ध, अपडेट, और हटा सकते हैं।

### फ़ोल्डरों की सूची

```bash
roboflow folder list
```

JSON आउटपुट के साथ:

```bash
roboflow folder list --json
```

### फ़ोल्डर विवरण प्राप्त करें

```bash
roboflow folder get <folder-id>
```

```bash
roboflow folder get <folder-id> --json
```

### एक फ़ोल्डर बनाएं

```bash
roboflow folder create "Training Data"
```

#### विकल्प

| ध्वज         | विवरण                                            |
| ------------ | ------------------------------------------------ |
| `--parent`   | Parent folder ID (नेस्टिंग के लिए)               |
| `--projects` | शामिल करने के लिए कॉमा से अलग किए गए project IDs |

projects के साथ उदाहरण:

```bash
roboflow folder create "Q2 Models" --projects my-project,other-project
```

### फ़ोल्डर अपडेट करें

एक फ़ोल्डर का नाम बदलें:

```bash
roboflow folder update <folder-id> --name "New Name"
```

### एक फ़ोल्डर हटाएँ

```bash
roboflow folder delete <folder-id>
```

### JSON आउटपुट

सभी folder commands समर्थन करते हैं `--json` संरचित आउटपुट के लिए:

```bash
roboflow folder list --json | jq '.[].name'
roboflow folder create "My Folder" --json
```

एग्ज़िट कोड: 0 = सफलता, 1 = त्रुटि, 2 = प्रमाणीकरण त्रुटि, 3 = नहीं मिला।
