{
  "openapi": "3.0.3",
  "info": {
    "title": "Actual AI public API",
    "description": "Public, read-only endpoints for Actual AI. For the CLI, AI skill, and the Architecture Agent MCP, see the developer portal at https://actual.ai/developers.",
    "version": "1.0.0",
    "contact": {
      "name": "Actual AI developer resources",
      "url": "https://actual.ai/developers"
    }
  },
  "servers": [
    {
      "url": "https://actual.ai",
      "description": "Production"
    }
  ],
  "tags": [
    {
      "name": "Status",
      "description": "Service availability."
    }
  ],
  "paths": {
    "/api/status": {
      "get": {
        "operationId": "getStatus",
        "summary": "Service status",
        "description": "Returns the current operational status of Actual AI's public surfaces. No authentication required.",
        "tags": ["Status"],
        "responses": {
          "200": {
            "description": "Current service status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StatusResponse"
                },
                "example": {
                  "status": "operational",
                  "components": [
                    { "name": "website", "status": "operational" },
                    { "name": "app", "status": "operational" },
                    { "name": "api", "status": "operational" }
                  ],
                  "version": "1.0.0",
                  "updatedAt": "2026-06-11T00:00:00.000Z"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ComponentStatus": {
        "type": "string",
        "description": "Health of a single surface.",
        "enum": ["operational", "degraded", "down"]
      },
      "Component": {
        "type": "object",
        "required": ["name", "status"],
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the surface, e.g. website, app, api.",
            "example": "website"
          },
          "status": {
            "$ref": "#/components/schemas/ComponentStatus"
          }
        }
      },
      "StatusResponse": {
        "type": "object",
        "required": ["status", "components", "version", "updatedAt"],
        "properties": {
          "status": {
            "allOf": [{ "$ref": "#/components/schemas/ComponentStatus" }],
            "description": "Overall status, rolled up from the worst component."
          },
          "components": {
            "type": "array",
            "description": "Per-surface status.",
            "items": { "$ref": "#/components/schemas/Component" }
          },
          "version": {
            "type": "string",
            "description": "Schema version of this response.",
            "example": "1.0.0"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When this status was generated (ISO 8601)."
          }
        }
      }
    }
  }
}
