Go Tutor

Go Tutor · GPT-Aktionen

Open Source Insights API

API for accessing Open Source Insights data.

  • GET /systems/{packageKey.system}/packages/{packageKey.name}GetPackage

    Returns information about a package.

  • GET /systems/{versionKey.system}/packages/{versionKey.name}/versions/{versionKey.version}:dependenciesGetDependencies

    GetDependencies returns a resolved dependency graph for the given package version.

  • GET /projects/{projectKey.id}GetProject

    GetProject returns information about projects hosted by GitHub, GitLab, or BitBucket.

Ursprüngliches API-Schema
{
  "openapi": "3.0.0",
  "info": {
    "title": "Open Source Insights API",
    "version": "1.0.0",
    "description": "API for accessing Open Source Insights data."
  },
  "servers": [
    {
      "url": "https://api.deps.dev/v3alpha"
    }
  ],
  "paths": {
    "/systems/{packageKey.system}/packages/{packageKey.name}": {
      "get": {
        "summary": "GetPackage",
        "description": "Returns information about a package.",
        "operationId": "getPackageInfo",
        "parameters": [
          {
            "name": "packageKey.system",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "go",
                "npm",
                "cargo",
                "maven",
                "pypi",
                "nuget"
              ]
            }
          },
          {
            "name": "packageKey.name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "packageKey": {
                      "type": "object",
                      "properties": {
                        "system": {
                          "type": "string"
                        },
                        "name": {
                          "type": "string"
                        }
                      }
                    },
                    "versions": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "versionKey": {
                            "type": "object",
                            "properties": {
                              "system": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "version": {
                                "type": "string"
                              }
                            }
                          },
                          "isDefault": {
                            "type": "boolean"
                          },
                          "publishedAt": {
                            "type": "string",
                            "format": "date-time"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/systems/{versionKey.system}/packages/{versionKey.name}/versions/{versionKey.version}:dependencies": {
      "get": {
        "summary": "GetDependencies",
        "description": "GetDependencies returns a resolved dependency graph for the given package version.",
        "operationId": "getPDependencies",
        "parameters": [
          {
            "name": "versionKey.system",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "go",
                "npm",
                "cargo",
                "maven",
                "pypi",
                "nuget"
              ]
            }
          },
          {
            "name": "versionKey.name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "versionKey.version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "nodes": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "versionKey": {
                            "type": "object",
                            "properties": {
                              "system": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "version": {
                                "type": "string"
                              }
                            }
                          },
                          "bundled": {
                            "type": "boolean"
                          },
                          "relation": {
                            "type": "string",
                            "enum": [
                              "SELF",
                              "DIRECT",
                              "INDIRECT"
                            ]
                          },
                          "errors": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        }
                      }
                    },
                    "edges": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "fromNode": {
                            "type": "number"
                          },
                          "toNode": {
                            "type": "number"
                          },
                          "requirement": {
                            "type": "string"
                          }
                        }
                      }
                    },
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectKey.id}": {
      "get": {
        "summary": "GetProject",
        "description": "GetProject returns information about projects hosted by GitHub, GitLab, or BitBucket.",
        "operationId": "getProject",
        "parameters": [
          {
            "name": "projectKey.id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "description": "A project identifier of the form github.com/user/repo, gitlab.com/user/repo, or bitbucket.org/user/repo."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "projectKey": {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "string"
                        }
                      }
                    },
                    "openIssuesCount": {
                      "type": "number"
                    },
                    "starsCount": {
                      "type": "number"
                    },
                    "forksCount": {
                      "type": "number"
                    },
                    "license": {
                      "type": "string"
                    },
                    "description": {
                      "type": "string"
                    },
                    "homepage": {
                      "type": "string"
                    },
                    "scorecard": {
                      "type": "object",
                      "properties": {
                        "date": {
                          "type": "string"
                        },
                        "repository": {
                          "type": "object",
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "commit": {
                              "type": "string"
                            }
                          }
                        },
                        "scorecard": {
                          "type": "object",
                          "properties": {
                            "version": {
                              "type": "string"
                            },
                            "commit": {
                              "type": "string"
                            }
                          }
                        },
                        "checks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "documentation": {
                                "type": "object",
                                "properties": {
                                  "shortDescription": {
                                    "type": "string"
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                }
                              },
                              "score": {
                                "type": "number"
                              },
                              "reason": {
                                "type": "string"
                              },
                              "details": {
                                "type": "array",
                                "items": {
                                  "type": "string"
                                }
                              }
                            }
                          }
                        },
                        "overallScore": {
                          "type": "number"
                        },
                        "metadata": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}