{
  "openapi" : "3.1.0",
  "info" : {
    "title" : "Dataverse Hub API",
    "description" : "API for Dataverse Hub",
    "contact" : {
      "name" : "Dataverse Hub",
      "url" : "https://dataverse.org",
      "email" : "support@dataverse.harvard.edu"
    },
    "license" : {
      "name" : "Apache 2.0",
      "url" : "http://www.apache.org/licenses/LICENSE-2.0"
    },
    "version" : "1.0.1"
  },
  "servers" : [ {
    "url" : "https://hub.dataverse.org",
    "description" : "Generated server url"
  } ],
  "security" : [ {
    "api_key" : [ ]
  } ],
  "tags" : [ {
    "name" : "installations",
    "description" : "Installation status and information"
  }, {
    "name" : "dev-metrics",
    "description" : "Dev metrics operations"
  }, {
    "name" : "development-metrics",
    "description" : "Metrics related to development and code repositories."
  }, {
    "name" : "installation-metrics",
    "description" : "Metrics related to Dataverse Installations."
  }, {
    "name" : "dv-metrics",
    "description" : "Dataverse metrics operations"
  } ],
  "paths" : {
    "/api/installations" : {
      "get" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Get all installations",
        "description" : "Returns a list of all registered Dataverse installations",
        "operationId" : "getInstallations",
        "responses" : {
          "200" : {
            "description" : "Installation list success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Installation"
                },
                "example" : [ {
                  "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                  "name" : "Harvard Dataverse",
                  "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                  "latitude" : 42.375646,
                  "longitude" : -71.113212,
                  "hostname" : "dataverse.harvard.edu",
                  "country" : "USA",
                  "continent" : "North America",
                  "launchYear" : 2008,
                  "gdccMember" : true,
                  "doiAuthority" : "10.791",
                  "contactEmail" : "support@dataverse.harvard.edu",
                  "isActive" : true
                } ]
              }
            }
          },
          "400" : {
            "description" : "Bad Request on installation list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error on installation list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Create Installation",
        "description" : "Create a new Dataverse installation",
        "operationId" : "createInstallation",
        "requestBody" : {
          "description" : "Dataverse installation to be created",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Installation"
              },
              "example" : {
                "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                "name" : "Harvard Dataverse",
                "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                "latitude" : 42.375646,
                "longitude" : -71.113212,
                "hostname" : "dataverse.harvard.edu",
                "country" : "USA",
                "continent" : "North America",
                "launchYear" : 2008,
                "gdccMember" : true,
                "doiAuthority" : "10.791",
                "contactEmail" : "support@dataverse.harvard.edu",
                "isActive" : true
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Installation creation success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Installation"
                },
                "example" : {
                  "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                  "name" : "Harvard Dataverse",
                  "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                  "latitude" : 42.375646,
                  "longitude" : -71.113212,
                  "hostname" : "dataverse.harvard.edu",
                  "country" : "USA",
                  "continent" : "North America",
                  "launchYear" : 2008,
                  "gdccMember" : true,
                  "doiAuthority" : "10.791",
                  "contactEmail" : "support@dataverse.harvard.edu",
                  "isActive" : true
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error on installation creation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request on installation creation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          }
        },
        "security" : [ {
          "api_key" : [ ]
        } ]
      }
    },
    "/api/installations/status" : {
      "get" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Get installations status",
        "description" : "Returns a list of the most recent status of all registered Dataverse installations",
        "operationId" : "geInstallationsStatus",
        "responses" : {
          "500" : {
            "description" : "Internal Server Error on installation status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          },
          "200" : {
            "description" : "Installations Status list success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InstallationVersionInfo"
                  }
                },
                "example" : [ {
                  "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                  "name" : "Harvard Dataverse",
                  "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                  "latitude" : 42.375646,
                  "longitude" : -71.113212,
                  "hostname" : "dataverse.harvard.edu",
                  "country" : "USA",
                  "continent" : "North America",
                  "launchYear" : 2008,
                  "gdccMember" : true,
                  "doiAuthority" : "10.791",
                  "contactEmail" : "support@dataverse.harvard.edu",
                  "isActive" : true
                } ]
              }
            }
          },
          "400" : {
            "description" : "Bad Request on installation status",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          }
        }
      }
    },
    "/api/installations/metrics" : {
      "get" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Get the metrics of the registered installations",
        "description" : "Returns a set of metrics for each one of the registered dataverse installations",
        "operationId" : "getInstallationsMetrics",
        "parameters" : [ {
          "name" : "dvHubId",
          "in" : "query",
          "description" : "Dataverse installation id",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "dvh-0001-2018"
        }, {
          "name" : "installationName",
          "in" : "query",
          "description" : "Name of the installation",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "Harvard Dataverse"
        }, {
          "name" : "country",
          "in" : "query",
          "description" : "Country of the installation",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "USA"
        }, {
          "name" : "continent",
          "in" : "query",
          "description" : "Continent of the installation",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "North America"
        }, {
          "name" : "launchYear",
          "in" : "query",
          "description" : "Year of the installation launch",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 2020
        }, {
          "name" : "gdccMember",
          "in" : "query",
          "description" : "GDCC member status of the installation",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "maxFiles",
          "in" : "query",
          "description" : "Maximum number of files in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100000
        }, {
          "name" : "minFiles",
          "in" : "query",
          "description" : "Minimum number of files in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxDatasets",
          "in" : "query",
          "description" : "Maximum number of datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 10000
        }, {
          "name" : "minDatasets",
          "in" : "query",
          "description" : "Minimum number of datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxDataverses",
          "in" : "query",
          "description" : "Maximum number of dataverses in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "minDataverses",
          "in" : "query",
          "description" : "Minimum number of dataverses in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 10
        }, {
          "name" : "maxHarvested",
          "in" : "query",
          "description" : "Maximum number of harvested datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 1000
        }, {
          "name" : "minHarvested",
          "in" : "query",
          "description" : "Minimum number of harvested datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "minLocalDatasets",
          "in" : "query",
          "description" : "Minimum number of local datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxLocalDatasets",
          "in" : "query",
          "description" : "Maximum number of local datasets in the installation",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 1000
        } ],
        "responses" : {
          "200" : {
            "description" : "Registered installations metrics success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InstallationMetrics"
                  }
                },
                "example" : [ {
                  "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                  "name" : "Harvard Dataverse",
                  "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                  "latitude" : 42.375646,
                  "longitude" : -71.113212,
                  "hostname" : "dataverse.harvard.edu",
                  "country" : "USA",
                  "continent" : "North America",
                  "launchYear" : 2008,
                  "gdccMember" : true,
                  "doiAuthority" : "10.791",
                  "contactEmail" : "support@dataverse.harvard.edu",
                  "isActive" : true
                } ]
              }
            }
          },
          "400" : {
            "description" : "Bad Request on registered installations metrics list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error on registered installations metrics",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          }
        }
      }
    },
    "/api/installations/metrics/monthly" : {
      "get" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Get the metrics by month of the registered installations",
        "description" : "Returns a set of monthly metrics for each one of the registered dataverse installations",
        "operationId" : "getMonthlyInstallationsMetrics",
        "parameters" : [ {
          "name" : "dvHubId",
          "in" : "query",
          "description" : "Dataverse installation id for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "dvh-0001-2018"
        }, {
          "name" : "installationName",
          "in" : "query",
          "description" : "Name of the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "Harvard Dataverse"
        }, {
          "name" : "country",
          "in" : "query",
          "description" : "Country of the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "USA"
        }, {
          "name" : "continent",
          "in" : "query",
          "description" : "Continent of the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "North America"
        }, {
          "name" : "launchYear",
          "in" : "query",
          "description" : "Year of the installation launch for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 2020
        }, {
          "name" : "gdccMember",
          "in" : "query",
          "description" : "GDCC member status of the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "boolean"
          },
          "example" : true
        }, {
          "name" : "maxFiles",
          "in" : "query",
          "description" : "Maximum number of files in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100000
        }, {
          "name" : "minFiles",
          "in" : "query",
          "description" : "Minimum number of files in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxDatasets",
          "in" : "query",
          "description" : "Maximum number of datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 10000
        }, {
          "name" : "minDatasets",
          "in" : "query",
          "description" : "Minimum number of datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxDataverses",
          "in" : "query",
          "description" : "Maximum number of dataverses in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "minDataverses",
          "in" : "query",
          "description" : "Minimum number of dataverses in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 10
        }, {
          "name" : "maxHarvested",
          "in" : "query",
          "description" : "Maximum number of harvested datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 1000
        }, {
          "name" : "minHarvested",
          "in" : "query",
          "description" : "Minimum number of harvested datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "minLocalDatasets",
          "in" : "query",
          "description" : "Minimum number of local datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 100
        }, {
          "name" : "maxLocalDatasets",
          "in" : "query",
          "description" : "Maximum number of local datasets in the installation for monthly metrics search",
          "required" : false,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          },
          "example" : 1000
        }, {
          "name" : "fromDate",
          "in" : "query",
          "description" : "Specified year and month to begin the search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-12"
        }, {
          "name" : "toDate",
          "in" : "query",
          "description" : "Specified year and month to limit the search",
          "required" : false,
          "schema" : {
            "type" : "string"
          },
          "example" : "2020-12"
        } ],
        "responses" : {
          "500" : {
            "description" : "Internal Server Error on registered installations metrics by month",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request on registered installations metrics by month list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          },
          "200" : {
            "description" : "Registered installations metrics by month success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InstallationMetrics"
                  }
                },
                "example" : [ {
                  "dvHubId" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73",
                  "name" : "Harvard Dataverse",
                  "description" : "Share, archive, and get credit for your data. Find and cite data across all research fields.",
                  "latitude" : 42.375646,
                  "longitude" : -71.113212,
                  "hostname" : "dataverse.harvard.edu",
                  "country" : "USA",
                  "continent" : "North America",
                  "launchYear" : 2008,
                  "gdccMember" : true,
                  "doiAuthority" : "10.791",
                  "contactEmail" : "support@dataverse.harvard.edu",
                  "metrics" : [ {
                    "recordDate" : "2024-12-19T21:24:55.074",
                    "files" : 2231976,
                    "downloads" : 81390914,
                    "datasets" : 98708,
                    "harvestedDatasets" : 85667,
                    "localDatasets" : 98708,
                    "dataverses" : 7001
                  }, {
                    "recordDate" : "2025-01-16T15:05:16.108276",
                    "files" : 2234299,
                    "downloads" : 83029336,
                    "datasets" : 99492,
                    "harvestedDatasets" : 85670,
                    "localDatasets" : 99492,
                    "dataverses" : 7059
                  } ]
                } ]
              }
            }
          }
        }
      }
    },
    "/api/installations/country" : {
      "get" : {
        "tags" : [ "dv-metrics" ],
        "summary" : "Get a count of the installations by country",
        "description" : "Returns a count of the number of registered Dataverse installations by country",
        "operationId" : "getInstallationsByCountry",
        "responses" : {
          "200" : {
            "description" : "Installation by country count success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/InstallationsByCountry"
                  }
                },
                "example" : [ {
                  "country" : "USA",
                  "count" : 17,
                  "recordDate" : "2024-11-14T21:01:03.401+00:00"
                } ]
              }
            }
          },
          "400" : {
            "description" : "Bad Request on Installation by country count list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          },
          "500" : {
            "description" : "Internal Server Error on Installation by country count",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          }
        }
      }
    },
    "/api/dev" : {
      "get" : {
        "tags" : [ "dev-metrics" ],
        "summary" : "Get all metrics from tracked repositories",
        "description" : "Returns the latest metrics from all tracked repositories",
        "operationId" : "getDevMetrics",
        "responses" : {
          "500" : {
            "description" : "Internal Server Error on idev-metricst",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          },
          "400" : {
            "description" : "Bad Request on dev-metrics",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          },
          "200" : {
            "description" : "Dev metrics success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Installation"
                },
                "example" : {
                  "watchers" : 882,
                  "forks" : 493,
                  "open_issues" : 810,
                  "subscribers_count" : 68,
                  "name" : "dataverse"
                }
              }
            }
          }
        }
      }
    },
    "/api/dev/releases" : {
      "get" : {
        "tags" : [ "dev-metrics" ],
        "summary" : "Get all releases information",
        "description" : "Returns a list with the information from the releases",
        "operationId" : "getMethodName",
        "responses" : {
          "500" : {
            "description" : "Internal Server Error on dev-releases list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:42:40.470+00:00",
                  "code" : 500,
                  "status" : "Internal Server Error",
                  "message" : "Not implemented",
                  "stackTrace" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:54)"
                }
              }
            }
          },
          "200" : {
            "description" : "Releases list success",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Installation"
                },
                "example" : [ {
                  "repoName" : "dataverse",
                  "tag_name" : "v6.4",
                  "published_at" : "2024-09-30T16:30:02.000+00:00"
                } ]
              }
            }
          },
          "400" : {
            "description" : "Bad Request on dev-releases list",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ServerMessageResponse"
                },
                "example" : {
                  "timestamp" : "2024-11-01T19:39:15.953+00:00",
                  "code" : 400,
                  "status" : "Not Found",
                  "message" : "No static resource api/unknown.",
                  "stackTrace" : "org.springframework.web.servlet.resource.ResourceHttpRequestHandler.handleRequest(ResourceHttpRequestHandler.java:585)"
                }
              }
            }
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "Installation" : {
        "type" : "object",
        "description" : "Dataverse installation",
        "properties" : {
          "dvHubId" : {
            "type" : "string",
            "description" : "Unique identifier for the Dataverse installation",
            "example" : "57B6E0DD-B371-4AFE-A0C0-FB22621DDD73"
          },
          "name" : {
            "type" : "string",
            "description" : "Name of the Dataverse installation",
            "example" : "Harvard Dataverse"
          },
          "description" : {
            "type" : "string",
            "description" : "Description of the Dataverse installation",
            "example" : "Share, archive, and get credit for your data. Find and cite data across all research fields"
          },
          "latitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "Latitude of the Dataverse installation",
            "example" : 42.375646
          },
          "longitude" : {
            "type" : "number",
            "format" : "double",
            "description" : "Longitude of the Dataverse installation",
            "example" : -71.113212
          },
          "hostname" : {
            "type" : "string",
            "description" : "Host address of the Dataverse installation",
            "example" : "dataverse.harvard.edu"
          },
          "country" : {
            "type" : "string",
            "description" : "Country of the Dataverse installation",
            "example" : "United States"
          },
          "continent" : {
            "type" : "string",
            "description" : "Continent of the Dataverse installation",
            "example" : "North America"
          },
          "launchYear" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Year of launch of the Dataverse installation",
            "example" : 2008
          },
          "gdccMember" : {
            "type" : "boolean",
            "description" : "Whether the Dataverse installation is a member of the Global Dataverse Community Consortium",
            "example" : true
          },
          "doiAuthority" : {
            "type" : "string",
            "description" : "DOI authority of the Dataverse installation",
            "example" : "\\u2415"
          },
          "contactEmail" : {
            "type" : "string",
            "description" : "Contact email of the admin of the Dataverse installation",
            "example" : "support@dataverse.harvard.edu"
          },
          "isActive" : {
            "type" : "boolean",
            "description" : "Whether the Dataverse installation is active",
            "example" : true
          }
        }
      },
      "ServerMessageResponse" : {
        "type" : "object",
        "description" : "A representation of the server message response",
        "properties" : {
          "timestamp" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Timestamp of the error",
            "example" : "2024-10-31T20:13:03.422+00:00"
          },
          "code" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "HTTP status code",
            "example" : 500
          },
          "status" : {
            "type" : "string",
            "description" : "HTTP status message",
            "example" : "Internal Server Error"
          },
          "message" : {
            "type" : "string",
            "description" : "Error message",
            "example" : "Not implemented"
          },
          "stackTrace" : {
            "type" : "string",
            "description" : "Stack trace",
            "example" : "edu.harvard.iq.dataverse_hub.controller.api.InstallationController.getInstallationsAPIController(InstallationController.java:42)"
          }
        }
      },
      "InstallationVersionInfo" : {
        "type" : "object",
        "description" : "A representation of the version of a Dataverse installation",
        "properties" : {
          "recordId" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Unique identifier for the version record",
            "example" : 1
          },
          "installation" : {
            "$ref" : "#/components/schemas/Installation"
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the Dataverse installation",
            "example" : "ServiceUnavailable"
          },
          "version" : {
            "type" : "string",
            "description" : "Version of the Dataverse installation",
            "example" : "6.4.0"
          },
          "build" : {
            "type" : "string",
            "description" : "Build of the Dataverse installation",
            "example" : "1609-906f87"
          },
          "recordDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date when the version information was captured",
            "example" : "2024-10-31T20:13:03.422+00:00"
          }
        }
      },
      "InstallationMetrics" : {
        "type" : "object",
        "description" : "Dataverse installation metrics",
        "properties" : {
          "installation" : {
            "$ref" : "#/components/schemas/Installation"
          },
          "recordDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date when the metrics were captured",
            "example" : "2024-10-31T20:13:03.422+00:00"
          },
          "files" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of files in the Dataverse installation",
            "example" : 100000
          },
          "downloads" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of downloads from the Dataverse installation",
            "example" : 1000000
          },
          "datasets" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of datasets in the Dataverse installation",
            "example" : 10000
          },
          "harvestedDatasets" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of harvested datasets in the Dataverse installation",
            "example" : 1000
          },
          "localDatasets" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of local datasets in the Dataverse installation",
            "example" : 9001
          },
          "dataverses" : {
            "type" : "integer",
            "format" : "int32",
            "description" : "Number of dataverses in the Dataverse installation",
            "example" : 100
          }
        }
      },
      "InstallationsByCountry" : {
        "type" : "object",
        "description" : "A representation of the number of Dataverse installations by country",
        "properties" : {
          "country" : {
            "type" : "string",
            "description" : "Country that has at least 1 Dataverse installation",
            "example" : "United States"
          },
          "count" : {
            "type" : "integer",
            "format" : "int64",
            "description" : "Number of Dataverse installations in the country",
            "example" : 3
          },
          "recordDate" : {
            "type" : "string",
            "format" : "date-time",
            "description" : "Date when the information was captured",
            "example" : "2024-10-31T20:13:03.422+00:00"
          }
        }
      }
    },
    "securitySchemes" : {
      "api_key" : {
        "type" : "http",
        "description" : "Key for accessing the Dataverse Hub API",
        "scheme" : "bearer"
      }
    }
  }
}