GPT-Vetting

GPT-Vetting · Acciones GPT

GPT-Vetting

  • GET /api/v1/chat/idGenerate chat ID
  • POST /api/v1/vettingsCreate vetting and return code
  • GET /api/v1/vettingsList my vettings
Esquema original API
{
  "openapi": "3.0.0",
  "info": {
    "title": "GPT-Vetting",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://gpt-vetting.gamesmania.io"
    }
  ],
  "components": {
    "schemas": {
      "Vetting": {
        "type": "object",
        "properties": {
          "UserID": {
            "type": "string",
            "example": "4c566532-f3b1-4265-aeb3-7639a2df2fbd"
          },
          "UserEmail": {
            "type": "string",
            "example": "sespolo@gmail.com"
          },
          "Code": {
            "type": "string",
            "example": "i1jIo04g5N"
          },
          "Position": {
            "type": "string",
            "example": "Fullstack developer"
          },
          "WithCodingExercise": {
            "type": "boolean",
            "example": true
          },
          "Skills": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Name": {
                  "type": "string",
                  "example": "NodeJS"
                },
                "Level": {
                  "type": "string",
                  "example": "Senior"
                }
              }
            },
            "example": [
              {
                "Name": "NodeJS",
                "Level": "Senior"
              },
              {
                "Name": "React",
                "Level": "Senior"
              }
            ]
          }
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "result": {
            "type": "string",
            "example": "bad content"
          }
        }
      },
      "ChatIdResponse": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "4c566532-f3b1-4265-aeb3-7639a2df2fbd"
          }
        }
      },
      "CreateVettingResponse": {
        "type": "object",
        "properties": {
          "Code": {
            "type": "string",
            "example": "i1jIo04g5N"
          }
        }
      },
      "CreateVettingRequest": {
        "type": "object",
        "properties": {
          "UserID": {
            "type": "string",
            "example": "4c566532-f3b1-4265-aeb3-7639a2df2fbd"
          },
          "UserEmail": {
            "type": "string",
            "example": "sespolo@gmail.com"
          },
          "Position": {
            "type": "string",
            "example": "Fullstack developer"
          },
          "WithCodingExercise": {
            "type": "boolean",
            "example": true
          },
          "Skills": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Name": {
                  "type": "string",
                  "example": "NodeJS"
                },
                "Level": {
                  "type": "string",
                  "example": "Senior"
                }
              }
            },
            "example": [
              {
                "Name": "NodeJS",
                "Level": "Senior"
              },
              {
                "Name": "React",
                "Level": "Senior"
              }
            ]
          }
        }
      },
      "ListMyVettingsRequest": {
        "type": "array",
        "items": {
          "$ref": "#/components/schemas/Vetting"
        }
      }
    },
    "securitySchemes": {
      "apikeyAuth": {
        "type": "apiKey",
        "in": "header",
        "name": "apikey"
      }
    }
  },
  "paths": {
    "/api/v1/chat/id": {
      "get": {
        "tags": [
          "default"
        ],
        "summary": "Generate chat ID",
        "operationId": "getChatId",
        "security": [
          {
            "apikeyAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChatIdResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/vettings": {
      "post": {
        "tags": [
          "default"
        ],
        "summary": "Create vetting and return code",
        "operationId": "createVetting",
        "security": [
          {
            "apikeyAuth": []
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVettingRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateVettingResponse"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "default"
        ],
        "summary": "List my vettings",
        "operationId": "listMyVettings",
        "security": [
          {
            "apikeyAuth": []
          }
        ],
        "parameters": [
          {
            "in": "query",
            "name": "user",
            "description": "User identifier to filter the vettings",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListMyVettingsRequest"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  }
}