> 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/workflows/ja/gaido/developer-guide/schema-api.md).

# Workflows スキーマ API

ワークフロー・スキーマ API は、ワークフローの構造、入力、出力を開発者が明確にプログラムで理解できるようにします。これにより、ワークフローの入力要件と出力型をプログラムで特定するという課題に対応します。

## 目的と利点

この API は、以下への構造化されたアクセスを提供します:

1. **入力パラメータ**: 必要なワークフロー入力。
2. **出力構造**: 返されるデータの詳細。
3. **型ヒント**: 入力および出力に期待されるデータ型。
4. **種類のスキーマ**: 複雑なデータ型の詳細なスキーマ。

これにより、開発者は次のことが可能になります:

* 入力をプログラムで検証する
* 出力データ構造を理解する
* ワークフローをより大規模なシステムに統合する
* ワークフロー要件に基づいてドキュメントや UI を生成する

## API の使用

[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/roboflow/inference/blob/main/docs/notebooks/workflow_schema_api.ipynb)

```python
import requests

WORKSPACE_NAME = "workspace-name"
WORKFLOW_ID = "workflow-id"
INFERENCE_SERVER_URL = "https://serverless.roboflow.com"

WORKFLOW_SCHEMA_ENDPOINT = f"{INFERENCE_SERVER_URL}/{WORKSPACE_NAME}/workflows/{WORKFLOW_ID}/describe_interface"
ROBOFLOW_API_KEY = "Your Roboflow API Key"

headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {ROBOFLOW_API_KEY}",
}

res = requests.post(WORKFLOW_SCHEMA_ENDPOINT, headers=headers, json={})

schema = res.json()

inputs = schema["inputs"]
outputs = schema["outputs"]
kinds_schemas = schema["kinds_schemas"]
typing_hints = schema["typing_hints"]
```

## 入力と出力

その `inputs` と `outputs` キーには、ワークフローが実行および返却に必要とするすべての入力と出力が表示されます。

## 型ヒント

その `typing_hints` キーには、入力と出力のデータ型が表示されます。

## 種類スキーマ

その `kinds_schemas` キーは、返されるデータ型とその解析方法について、より詳細な情報を含む OpenAPI 仕様を返します。たとえば、 `object_detection_prediction` には、存在するネストされたデータに関する情報が含まれます。
