AI Sommelier

AI Sommelier · GPT 작업

Wine Guide API

An API for getting wine pairing suggestions and info from an AI Sommelier

  • POST /pairingqueryGet Wine Pairing Suggestions

    Accepts search query with name of food or setting that you would like to find a wine pairing for.

  • POST /sommelierinfoGet Sommelier Information

    Accepts query for information about varietals, regions, winemaking, etc.

원본 API 스키마
{
  "openapi": "3.1.0",
  "info": {
    "title": "Wine Guide API",
    "summary": "AI Wine Guide API",
    "description": "An API for getting wine pairing suggestions and info from an AI Sommelier",
    "termsOfService": "https://aiwineguide.com/terms/",
    "contact": {
      "name": "API Support",
      "url": "https://aiwineguide.com/contact/",
      "email": "andrew@pixelprojectstech.com"
    },
    "version": "0.0.1"
  },
  "servers": [
    {
      "url": "https://api.aiwineguide.com"
    }
  ],
  "paths": {
    "/pairingquery": {
      "post": {
        "summary": "Get Wine Pairing Suggestions",
        "description": "Accepts search query with name of food or setting that you would like to find a wine pairing for.",
        "operationId": "pairing_query_post",
        "x-openai-isConsequential": "false",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PairingRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PairingResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/sommelierinfo": {
      "post": {
        "summary": "Get Sommelier Information",
        "description": "Accepts query for information about varietals, regions, winemaking, etc.",
        "operationId": "sommelier_info_post",
        "x-openai-isConsequential": "false",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SommelierRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SommelierResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "HTTPValidationError": {
        "title": "HTTPValidationError",
        "type": "object",
        "properties": {
          "detail": {
            "title": "Detail",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            }
          }
        }
      },
      "PairingRequest": {
        "title": "PairingRequest",
        "required": [
          "query"
        ],
        "type": "object",
        "properties": {
          "locale": {
            "title": "Locale",
            "type": "string",
            "default": "en-US"
          },
          "query": {
            "title": "Query",
            "type": "string"
          },
          "region": {
            "title": "region",
            "type": "string"
          }
        }
      },
      "WineSuggestion": {
        "title": "WineSuggestion",
        "required": [
          "name",
          "description"
        ],
        "type": "object",
        "properties": {
          "name": {
            "title": "Wine Name",
            "type": "string"
          },
          "description": {
            "title": "Wine Description",
            "type": "string"
          },
          "link": {
            "title": "URL Link to Wine Description",
            "type": "string"
          }
        }
      },
      "PairingResponse": {
        "title": "PairingResponse",
        "required": [
          "results",
          "comment"
        ],
        "type": "object",
        "properties": {
          "results": {
            "title": "Results",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/WineSuggestion"
            }
          },
          "comment": {
            "title": "Comment",
            "type": "string"
          }
        }
      },
      "SommelierRequest": {
        "title": "SommelierRequest",
        "required": [
          "query"
        ],
        "type": "object",
        "properties": {
          "locale": {
            "title": "Locale",
            "type": "string",
            "default": "en-US"
          },
          "query": {
            "title": "Query",
            "type": "string"
          }
        }
      },
      "SommelierResponse": {
        "title": "SommelierResponse",
        "required": [
          "result",
          "comment"
        ],
        "type": "object",
        "properties": {
          "result": {
            "title": "Result",
            "type": "string"
          },
          "comment": {
            "title": "Comment",
            "type": "string"
          }
        }
      },
      "ValidationError": {
        "title": "ValidationError",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "type": "object",
        "properties": {
          "loc": {
            "title": "Location",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            }
          },
          "msg": {
            "title": "Message",
            "type": "string"
          },
          "type": {
            "title": "Error Type",
            "type": "string"
          }
        }
      }
    }
  }
}