{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenAPI Video Support API",
    "description": "API for managing video request links and videos in the Video Support platform.",
    "license": {
      "name": "MIT"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://app.videosupport.io"
    }
  ],
  "security": [
    {
      "accessToken": []
    }
  ],
  "paths": {
    "/api/v1/video_request_links": {
      "post": {
        "summary": "Create Video Request Link",
        "description": "Generates a unique video request link with an empty request body or external parameters",
        "requestBody": {
          "description": "Empty request body to create a video request link",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Video request link successfully created",
            "content": {
              "application/json": {
                "example": {
                  "video_request_link": {
                    "url": "https://app.videosupport.io/r/abd-def-ghi",
                    "external_key": "abc-def-ghi",
                    "external_parameters": {},
                    "id": "f98a1fae-6a4c-43c3-bf16-example12345"
                  },
                  "api_version": "v1"
                }
              }
            }
          },
          "442": {
            "description": "Validation errors",
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    "Error message 1",
                    "Error message 2"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/video_request_links/{id}": {
      "delete": {
        "summary": "Destroy Video Request Link",
        "description": "Delete a specific video request link by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the video request link to delete."
          }
        ],
        "responses": {
          "200": {
            "description": "Video request link successfully deleted"
          },
          "404": {
            "description": "Video request link not found",
            "content": {
              "application/json": {
                "example": {
                  "error": "VideoRequestLink not found"
                }
              }
            }
          }
        }
      },
      "get": {
        "summary": "Show Video Request Link",
        "description": "Retrieve details about a specific video request link by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the video request link to retrieve."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved video request link",
            "content": {}
          },
          "404": {
            "description": "Video request link not found",
            "content": {
              "application/json": {
                "example": {
                  "error": "VideoRequestLink not found"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/videos/{id}": {
      "get": {
        "summary": "Show Video",
        "description": "Retrieve a unique video request link for a specific video by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the video to retrieve the request link for."
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved video request link",
            "content": {
              "application/json": {
                "example": {
                  "video_request_link": {
                    "url": "https://app.videosupport.io/r/abd-def-ghi",
                    "external_key": "abc-def-ghi",
                    "external_parameters": {},
                    "id": "f98a1fae-6a4c-43c3-bf16-example12345"
                  },
                  "api_version": "v1"
                }
              }
            }
          },
          "422": {
            "description": "Validation errors",
            "content": {
              "application/json": {
                "example": {
                  "errors": [
                    "Error message 1",
                    "Error message 2"
                  ]
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "Destroy Video",
        "description": "Delete a specific video by ID.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "The ID of the video to delete."
          }
        ],
        "responses": {
          "200": {
            "description": "Video successfully deleted"
          },
          "404": {
            "description": "Video not found",
            "content": {
              "application/json": {
                "example": {
                  "error": "VideoRequestLink not found"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "accessToken": {
        "type": "apiKey",
        "in": "header",
        "name": "Access-Token"
      }
    }
  }
}