{
  "openapi": "3.0.1",
  "info": {
    "title": "Mintlify External API",
    "description": "An API for Mintlify documentation management and resource access.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.mintlify.com/v1"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/project/update/{projectId}": {
      "post": {
        "summary": "Trigger an update",
        "description": "Trigger an update after updating your OpenAPI document by calling this endpoint in a CI check.",
        "parameters": [
          {
            "name": "projectId",
            "in": "path",
            "description": "The ID of the project to trigger an update on. Can be retrieved from your dashboard.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "description": "A successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "statusId": {
                      "type": "string",
                      "description": "The status id of the triggered updated."
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/project/update-status/{statusId}": {
      "get": {
        "summary": "Get the status of an update",
        "parameters": [
          {
            "name": "statusId",
            "in": "path",
            "description": "The status ID of a triggered update.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "A successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "_id": {
                      "type": "string",
                      "description": "The status id of the triggered updated."
                    },
                    "projectId": {
                      "type": "string",
                      "description": "The documentation project ID."
                    },
                    "createdAt": {
                      "type": "string",
                      "description": "An ISODate with the specified datetime in UTC"
                    },
                    "endedAt": {
                      "type": "string",
                      "description": "An ISODate with the specified datetime in UTC"
                    },
                    "status": {
                      "type": "string",
                      "enum": ["queued", "in_progress", "success", "failure"],
                      "description": "The status of the update."
                    },
                    "summary": {
                      "type": "string",
                      "description": "Summary of the status of the update"
                    },
                    "logs": {
                      "type": "array",
                      "description": "An array of logs.",
                      "items": {
                        "type": "string"
                      }
                    },
                    "subdomain": {
                      "type": "string",
                      "description": "The subdomain of the docs being updated."
                    },
                    "screenshot": {
                      "type": "string",
                      "description": "A screenshot of the docs."
                    },
                    "screenshotLight": {
                      "type": "string",
                      "description": "A screenshot of the docs."
                    },
                    "screenshotDark": {
                      "type": "string",
                      "description": "A screenshot of the docs in dark mode."
                    },
                    "author": {
                      "type": "string",
                      "description": "The author of the update."
                    },
                    "commit": {
                      "type": "object",
                      "description": "The commit details",
                      "properties": {
                        "sha": {
                          "type": "string",
                          "description": "The SHA of the commit."
                        },
                        "ref": {
                          "type": "string",
                          "description": "The ref of the commit."
                        },
                        "message": {
                          "type": "string",
                          "description": "The commit message."
                        },
                        "filesChanged": {
                          "type": "object",
                          "description": "Details on the changed files.",
                          "properties": {
                            "added": {
                              "type": "array",
                              "description": "New files added.",
                              "items": {
                                "type": "string"
                              }
                            },
                            "modified": {
                              "type": "array",
                              "description": "Existing files that were modified.",
                              "items": {
                                "type": "string"
                              }
                            },
                            "removed": {
                              "type": "array",
                              "description": "Files that were removed.",
                              "items": {
                                "type": "string"
                              }
                            }
                          }
                        }
                      }
                    },
                    "source": {
                      "type": "string",
                      "description": "The source of the update trigger.",
                      "enum": [
                        "internal",
                        "github-app-installation",
                        "api",
                        "github",
                        "dashboard"
                      ]
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
