> 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/deployment/hi/monitoring-and-analytics/vision-events/use-cases.md).

# Use Cases

## के बारे में

एक Use Case समूह बनाता है [विजन इवेंट्स](/deployment/hi/monitoring-and-analytics/vision-events.md) जो एक सामान्य उद्देश्य और कस्टम मेटाडेटा संरचना साझा करते हैं, और हर event ठीक एक Use Case से संबंधित होता है। events को इस तरह व्यवस्थित करने से उन cameras, devices, और locations के बीच डेटा को फ़िल्टर और तुलना करना आसान हो जाता है जो समान फ़ील्ड रिपोर्ट करते हैं। यह पृष्ठ बताता है कि कब एक Use Case का उपयोग करना है बनाम कई का, और उन्हें कैसे बनाना और प्रबंधित करना है।

## वेब ऐप

### Use Cases

एक Use Case उन Vision Events को समूहित करता है जो एक सामान्य उद्देश्य और कस्टम मेटाडेटा संरचना साझा करते हैं। हर event ठीक एक Use Case से संबंधित होता है। एक ही Use Case के events आमतौर पर समान मेटाडेटा फ़ील्ड साझा करते हैं, जिससे अलग-अलग स्रोतों के बीच डेटा को फ़िल्टर और तुलना करना आसान हो जाता है।

#### एक बनाम अनेक Use Cases कब उपयोग करें

**events को एक ही Use Case में रखें** जब वे समान कस्टम मेटाडेटा फ़ील्ड साझा करते हों, भले ही वे अलग-अलग स्थानों, cameras, या devices से आए हों। उदाहरण के लिए, एक "Defect Detection" Use Case को कई factories से events मिल सकते हैं, लेकिन सभी events में `line_id`, `shift`और `part_number`.

**अलग-अलग Use Cases बनाएं** जब मेटाडेटा संरचना मूल रूप से अलग हो। उदाहरण के लिए:

* **Assembly Line QA** - को ट्रैक करता है `line_id`, `shift`, `part_number`
* **Warehouse Inventory** - को ट्रैक करता है `गलियारा`, `शेल्फ`, `item_type`
* **Construction Site Safety** - को ट्रैक करता है `zone`, `alert_type`, `ठेकेदार`

#### एक Use Case बनाएं

**एजेंट के माध्यम से**

यह [Roboflow Agent](https://docs.roboflow.com/agents/agents/roboflow-agent) Vision Events के साथ कोई Workflow बनाते समय स्वतः Use Cases बनाता है। यह आपके वर्णित use case के आधार पर, यदि कोई मौजूदा Use Case उपयुक्त हो, तो उसे चुनता है, या एक नया बनाता है। आप एजेंट से सीधे एक नया Use Case सेट अप करने के लिए भी कह सकते हैं।

**डैशबोर्ड में**

1. पर जाएँ **विजन इवेंट्स** अपने workspace की बाईं साइडबार में
2. क्लिक करें **+ Use Case बनाएं**
3. Use Case के लिए एक नाम दर्ज करें

<figure><img src="/files/9608b725661582b029ab4420221d8d0712afe35d" alt="" width="375"><figcaption></figcaption></figure>

आप REST API के माध्यम से भी Use Cases बना सकते हैं, देखें [Use Cases को प्रोग्रामेटिक रूप से प्रबंधित करें](#manage-use-cases-programmatically).

#### Use Cases देखें

**डैशबोर्ड में**

Vision Events पृष्ठ आपके सभी Use Cases की एक तालिका दिखाता है, जिसमें शामिल हैं:

* Use Case का नाम
* कुल event संख्या
* अंतिम event timestamp
* प्रयोग में event प्रकार

**API के माध्यम से**

अपने workspace में सभी Use Cases प्राप्त करें:

```bash
curl -X GET "https://api.roboflow.com/vision-events/use-cases" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

देखें [Vision Events API संदर्भ](/deployment/hi/monitoring-and-analytics/vision-events.md#http-api) पूर्ण response format के लिए।

#### Use Cases को प्रोग्रामेटिक रूप से प्रबंधित करें

Dashboard के अलावा, आप REST API के माध्यम से Use Cases बना, उनका नाम बदल, archive, और unarchive कर सकते हैं। इन endpoints के लिए निम्नलिखित वाले API key की आवश्यकता होती है `vision-events:manage` scope (unrestricted workspace API keys को डिफ़ॉल्ट रूप से access होता है)।

**एक Use Case बनाएं**

```bash
curl -X POST "https://api.roboflow.com/vision-events/use-cases" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{ "name": "assembly-line-qa" }'
```

**Use Case का नाम बदलें**

```bash
curl -X PUT "https://api.roboflow.com/vision-events/use-cases/USE_CASE_ID" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{ "name": "assembly-line-qa-v2" }'
```

**एक Use Case को archive या unarchive करें**

```bash
curl -X POST "https://api.roboflow.com/vision-events/use-cases/USE_CASE_ID/archive" \
  -H "Authorization: Bearer YOUR_API_KEY"

curl -X POST "https://api.roboflow.com/vision-events/use-cases/USE_CASE_ID/unarchive" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

#### एक Use Case को archive करें

जब आवश्यकता न हो, Use Cases को dashboard से archive किया जा सकता है। archived Use Cases और उनके events उपलब्ध रहते हैं, लेकिन default view में छिपे रहते हैं। उन्हें देखने के लिए क्लिक करें **archived use cases देखें** Use Cases तालिका के नीचे।\ <br>

<figure><img src="/files/0a03d438148dd59230f0d0ca4d8c24bbb2e9e451" alt=""><figcaption></figcaption></figure>

#### कस्टम Metadata Schema

जब events को किसी Use Case में भेज दिया जाता है, तो सिस्टम देखी गई फ़ील्ड्स और value types के आधार पर एक metadata schema का अनुमान लगाता है। आप किसी Use Case के लिए inferred schema प्राप्त कर सकते हैं ताकि समझ सकें कि कौन से keys और value types उपयोग में हैं:

```bash
curl -X GET "https://api.roboflow.com/vision-events/custom-metadata-schema/assembly-line-qa" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

**उदाहरण response:**

```json
{
  "useCaseId": "assembly-line-qa",
  "fields": {
    "line_id": { "types": ["string"] },
    "shift": { "types": ["string"] },
    "temperature": { "types": ["number"] },
    "is_priority": { "types": ["boolean"] }
  }
}
```

देखें [Vision Events API संदर्भ](/deployment/hi/monitoring-and-analytics/vision-events.md#http-api) पूर्ण विवरण के लिए।

## HTTP API

### एक Use Case बनाएं

अपने workspace में एक नया use case बनाएं। Use cases आपको vision events को deployment context (जैसे, "Manufacturing Line 1", "Warehouse Inventory") के अनुसार व्यवस्थित करने में मदद करते हैं।

**आवश्यक स्कोप:** `vision-events:manage`

{% openapi src="/files/84d8c4861456d267a4e6a39f6a1609041832d8bb" path="/vision-events/use-cases" method="post" %}
[openapi.yaml](https://2297977984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

#### अनुरोध बॉडी पैरामीटर

* **`नाम`** (string, आवश्यक): use case के लिए एक नाम। यह 1 और 256 वर्णों के बीच होना चाहिए। नाम के आरंभ/अंत के whitespace को हटाया जाता है और workspace के भीतर अद्वितीय होना चाहिए।

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

```bash
curl -X POST "https://api.roboflow.com/vision-events/use-cases" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Manufacturing Line 1"
  }'
```

#### उदाहरण प्रतिक्रिया

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

```json
{
  "id": "a1b3c8e1",
  "name": "Manufacturing Line 1"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "इस नाम वाला solution पहले से मौजूद है"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "इस संसाधन के लिए पर्याप्त अनुमतियाँ नहीं हैं."
}
```

{% endtab %}
{% endtabs %}

#### नोट्स

* नए use cases को डिफ़ॉल्ट रूप से `सक्रिय` status के साथ बनाया जाता है।
* Use case के नाम workspace के भीतर अद्वितीय होने चाहिए। किसी मौजूदा use case के समान नाम वाला use case बनाने का प्रयास करने पर एक `400` त्रुटि
* मिलती है। एक use case बनाने के बाद, आप इसके `id` को `useCaseId` को [vision events बनाते समय](/deployment/hi/monitoring-and-analytics/vision-events/create-a-vision-event.md#http-api).

### Use Case अपडेट करें

किसी मौजूदा use case का नाम या status अपडेट करें।

**आवश्यक स्कोप:** `vision-events:manage`

{% openapi src="/files/84d8c4861456d267a4e6a39f6a1609041832d8bb" path="/vision-events/use-cases/{useCaseId}" method="put" %}
[openapi.yaml](https://2297977984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

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

* **`useCaseId`** (string, आवश्यक): अपडेट किए जाने वाले use case का ID।

#### अनुरोध बॉडी पैरामीटर

निम्नलिखित में से कम से कम एक फ़ील्ड प्रदान की जानी चाहिए:

* **`नाम`** (string, वैकल्पिक): use case के लिए एक नया नाम। यह 1 और 256 वर्णों के बीच होना चाहिए। workspace के भीतर अद्वितीय होना चाहिए।
* **`स्थिति`** (string, वैकल्पिक): नया status। इनमें से एक `सक्रिय` या `निष्क्रिय`.

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

```bash
curl -X PUT "https://api.roboflow.com/vision-events/use-cases/a1b3c8e1" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Manufacturing Line 2"
  }'
```

#### उदाहरण प्रतिक्रिया

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

```json
{
  "id": "a1b3c8e1",
  "name": "Manufacturing Line 2"
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "इस नाम वाला solution पहले से मौजूद है"
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "समाधान नहीं मिला"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "इस संसाधन के लिए पर्याप्त अनुमतियाँ नहीं हैं."
}
```

{% endtab %}
{% endtabs %}

### उपयोग केस सूचीबद्ध करें

अपने workspace में उन सभी use cases की सूची बनाएं, जिन्होंने vision events रिकॉर्ड किए हैं। use cases बनाने और प्रबंधित करने के बारे में जानने के लिए, देखें [Use Cases दस्तावेज़](/deployment/hi/monitoring-and-analytics/vision-events/use-cases.md).

**आवश्यक स्कोप:** `vision-events:read` या `device:read`

{% openapi src="/files/84d8c4861456d267a4e6a39f6a1609041832d8bb" path="/vision-events/use-cases" method="get" %}
[openapi.yaml](https://2297977984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

#### क्वेरी पैरामीटर

* **`स्थिति`** (string, वैकल्पिक): use case status के आधार पर फ़िल्टर करें। इनमें से एक `सक्रिय` या `निष्क्रिय`. डिफ़ॉल्ट रूप से `सक्रिय`.

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

```bash
curl "https://api.roboflow.com/vision-events/use-cases" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

#### उदाहरण प्रतिक्रिया

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

```json
{
  "useCases": [
    {
      "id": "a1b3c8e1",
      "name": "Manufacturing Line 1",
      "status": "active",
      "workspaceId": "my-workspace",
      "createdAt": "2024-01-10T08:00:00.000Z",
      "updatedAt": "2024-01-15T10:30:00.000Z"
    },
    {
      "id": "d4e5f6a7",
      "name": "Warehouse Inventory",
      "status": "active",
      "workspaceId": "my-workspace",
      "createdAt": "2024-01-12T14:00:00.000Z",
      "updatedAt": "2024-01-15T09:00:00.000Z"
    }
  ],
  "lookbackDays": 14
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "इस संसाधन के लिए पर्याप्त अनुमतियाँ नहीं हैं."
}
```

{% endtab %}
{% endtabs %}

### एक Use Case को archive करें

इसके status को सेट करके एक use case archive करें `निष्क्रिय`. Archived use cases डिफ़ॉल्ट रूप से सूची में छिपे रहते हैं और नए event ingestion को अस्वीकार करेंगे।

**आवश्यक स्कोप:** `vision-events:manage`

{% openapi src="/files/84d8c4861456d267a4e6a39f6a1609041832d8bb" path="/vision-events/use-cases/{useCaseId}/archive" method="post" %}
[openapi.yaml](https://2297977984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

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

* **`useCaseId`** (string, आवश्यक): archive किए जाने वाले use case का ID।

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

```bash
curl -X POST "https://api.roboflow.com/vision-events/use-cases/a1b3c8e1/archive" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

#### उदाहरण प्रतिक्रिया

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

```json
{
  "success": true
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "समाधान नहीं मिला"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "इस संसाधन के लिए पर्याप्त अनुमतियाँ नहीं हैं."
}
```

{% endtab %}
{% endtabs %}

#### नोट्स

* Archiving एक soft delete है। use case और उसके events संरक्षित रहते हैं, लेकिन सक्रिय सूचियों में छिपे रहते हैं।
* archived use cases देखने के लिए, इसका उपयोग करें [उपयोग केस सूचीबद्ध करें](#http-api) endpoint के साथ `status=inactive`.
* आप archived use case को इसका उपयोग करके पुनर्स्थापित कर सकते हैं [एक Use Case को unarchive करें](#http-api) endpoint के माध्यम से query किया जा सकता है।

### एक Use Case को unarchive करें

पहले archived use case को उसका status वापस बदलकर पुनर्स्थापित करें `सक्रिय`.

**आवश्यक स्कोप:** `vision-events:manage`

{% openapi src="/files/84d8c4861456d267a4e6a39f6a1609041832d8bb" path="/vision-events/use-cases/{useCaseId}/unarchive" method="post" %}
[openapi.yaml](https://2297977984-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoksNmwps1HmYr8TqHDnX%2Fuploads%2Fgit-blob-dfdc1702ad3d1a62ad0a661e9609f6bbe2fc8d4c%2Fopenapi.yaml?alt=media)
{% endopenapi %}

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

* **`useCaseId`** (string, आवश्यक): unarchive किए जाने वाले use case का ID।

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

```bash
curl -X POST "https://api.roboflow.com/vision-events/use-cases/a1b3c8e1/unarchive" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

#### उदाहरण प्रतिक्रिया

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

```json
{
  "success": true
}
```

{% endtab %}

{% tab title="400" %}

```json
{
  "error": "Solution archived नहीं है"
}
```

{% endtab %}

{% tab title="404" %}

```json
{
  "error": "समाधान नहीं मिला"
}
```

{% endtab %}

{% tab title="403" %}

```json
{
  "error": "इस संसाधन के लिए पर्याप्त अनुमतियाँ नहीं हैं."
}
```

{% endtab %}
{% endtabs %}

#### नोट्स

* केवल वे use cases जिनके पास एक `निष्क्रिय` status को unarchive किया जा सकता है। पहले से सक्रिय use case को unarchive करने का प्रयास करने पर एक `400` त्रुटि
* एक बार unarchive होने पर, use case सक्रिय सूचियों में दिखाई देगा और नए event ingestion को फिर से स्वीकार करेगा।

## Python SDK

हर vision event किसी use case से संबद्ध होता है। Python SDK use cases बनाने, सूचीबद्ध करने, नाम बदलने, archive करने, और unarchive करने के लिए methods प्रदान करता है।

### उपयोग केस सूचीबद्ध करें

```python
import roboflow

roboflow.login()

rf = roboflow.Roboflow()
ws = rf.workspace()

result = ws.list_vision_event_use_cases()

for uc in result["useCases"]:
    print(uc["id"], uc["name"], uc.get("status"))
```

आप status के अनुसार फ़िल्टर कर सकते हैं:

```python
# केवल सक्रिय use cases सूचीबद्ध करें
result = ws.list_vision_event_use_cases(status="active")
```

### एक Use Case बनाएं

```python
result = ws.create_vision_event_use_case("manufacturing-qa")
use_case_id = result["id"]
print(f"बनाया गया use case: {use_case_id}")
```

### Use Case का नाम बदलें

```python
ws.rename_vision_event_use_case("a1b3c8e1", "updated-name")
```

### एक Use Case को archive करें

```python
ws.archive_vision_event_use_case("a1b3c8e1")
```

### एक Use Case को unarchive करें

```python
ws.unarchive_vision_event_use_case("a1b3c8e1")
```

use case management के बारे में अधिक विवरण के लिए, देखें [REST API reference](#http-api).
