{
  "openapi": "3.0.1",
  "info": {
    "title": "BOXIL ChatGPT API",
    "description": "Help Japanese companies find the best system to enhance their productivity.",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://boxil.jp"
    }
  ],
  "paths": {
    "/api/v2/chatgpt_plugins/categories": {
      "get": {
        "operationId": "categories",
        "summary": "category_search用のカテゴリ名一覧を取得",
        "responses": {
          "200": {
            "$ref": "#/components/responses/CategoriesShowResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    },
    "/api/v2/chatgpt_plugins/category_search": {
      "get": {
        "operationId": "category_search",
        "summary": "検索したカテゴリのSaaSサービスの一覧が見られるページのリンクを取得。加えて、そのカテゴリに属するSaaSサービス資料を一括でダウンロードできるリンクも取得可能。もし、カテゴリページが空の場合は、カテゴリ一覧を取得し、その中から検索キーワードを選んでください。",
        "parameters": [
          {
            "in": "query",
            "name": "category_name",
            "schema": {
              "type": "string"
            },
            "required": true,
            "description": "カテゴリ検索キーワードとしてカテゴリ名を入れる。カテゴリ名はcategoriesから取得できる。日本語のみ対応。",
            "example": "ウェビナーツール"
          }
        ],
        "responses": {
          "200": {
            "$ref": "#/components/responses/CategoryPageSearchResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        }
      }
    }
  },
  "components": {
    "responses": {
      "CategoriesShowResponse": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "categories": {
                  "$ref": "#/components/schemas/Categories"
                }
              }
            }
          }
        }
      },
      "CategoryPageSearchResponse": {
        "description": "OK",
        "content": {
          "application/json": {
            "schema": {
              "properties": {
                "category_pages": {
                  "$ref": "#/components/schemas/CategoryPages"
                },
                "searched_condition": {
                  "$ref": "#/components/schemas/SearchedCondition"
                }
              }
            }
          }
        }
      },
      "InternalServerError": {
        "description": "その他予期せぬエラーです",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "schemas": {
      "Categories": {
        "description": "カテゴリ情報の配列",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Category"
        }
      },
      "Category": {
        "description": "カテゴリ情報",
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "カテゴリ名",
            "example": "ウェビナーツール"
          }
        }
      },
      "CategoryPages": {
        "description": "カテゴリページの配列",
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/CategoryPage"
        }
      },
      "CategoryPage": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "カテゴリに関連するサービス一覧が確認できるURL",
            "example": "https://boxil.jp/sc-webinar_tool/?sort=total_review&_via=sef-resultLink-main"
          },
          "name": {
            "type": "string",
            "description": "カテゴリ名",
            "example": "ウェビナーツール"
          },
          "description": {
            "type": "string",
            "description": "カテゴリの詳細な説明",
            "example": "ウェビナー（Webinar）ツールとはWebセミナーやオンラインセミナーとも呼ばれ、ネット上でセミナーのライブ配信や資料の共有ができるツールです。"
          },
          "documents_download_url": {
            "type": "string",
            "description": "カテゴリに関連するサービスの資料を一括ダウンロードできる画面のURL",
            "example": "https://boxil.jp/downloads/confirm/?type=category&ids%5B%5D=114"
          }
        }
      },
      "SearchedCondition": {
        "type": "object",
        "properties": {
          "category_name": {
            "type": "string",
            "description": "検索に使用されたカテゴリ名",
            "example": "ウェビナーツール"
          }
        }
      },
      "Error": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string"
          }
        },
        "required": [
          "message"
        ]
      }
    }
  }
}