openapi: 3.2.0 info: title: CollectOSS REST Experimental API version: 0.60.0 host: example.com basePath: /api/unstable/ tags: - name: Experimental paths: /repo-groups/:repo_group_id/aggregate-summary: get: description: Returns the current count of watchers, stars, and forks and the counts of all commits, committers, and pull requests merged between a given beginning and end date (default between now and 365 days ago). operationId: AggregateSummary(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: commit_count: description: 'Example: 7890143' type: integer committer_count: description: 'Example: 8553' type: integer fork_count: description: 'Example: 226841' type: integer merged_count: description: 'Example: 3883' type: integer star_count: description: 'Example: 460447' type: integer watcher_count: description: 'Example: 69106' type: integer type: array tags: - Experimental summary: Aggregate summary (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Aggregate Summary (Repo Group) /repos/:repo_id/aggregate-summary: get: description: Returns the current count of watchers, stars, and forks and the counts of all commits, committers, and pull requests merged between a given beginning and end date (default between now and 365 days ago). operationId: AggregateSummary(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: commit_count: description: 'Example: 133' type: integer committer_count: description: 'Example: 5' type: integer fork_count: description: 'Example: 449' type: integer merged_count: description: 'Example: 0' type: integer star_count: description: 'Example: 581' type: integer watcher_count: description: 'Example: 83' type: integer type: array tags: - Experimental summary: Aggregate summary (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Aggregate Summary (Repo) /repo-groups/:repo_group_id/annual-commit-count-ranked-by-new-repo-in-repo-group: get: description: Annual commit count ranked by new repos in a repo group. operationId: AnnualCommitCountRankedByNewRepoInRepoGroup(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: Periodicity specification. in: path name: period schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: commits: description: 'Example: 289' type: integer net: description: 'Example: 21996' type: integer repo_id: description: 'Example: 21000' type: integer repo_name: description: 'Example: rails' type: string year: description: 'Example: 2004' type: integer type: array tags: - Experimental summary: Annual commit count ranked by new repo in repo group (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Commit Count Ranked by New Repo in Repo Group (Repo Group) /repo-groups/:repo_id/annual-commit-count-ranked-by-new-repo-in-repo-group: get: description: Annual commit count ranked by new repos. operationId: AnnualCommitCountRankedRepos(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: Periodicity specification. in: path name: period schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: commits: description: 'Example: 289' type: integer net: description: 'Example: 21996' type: integer repo_id: description: 'Example: 21000' type: integer repo_name: description: 'Example: rails' type: string year: description: 'Example: 2004' type: integer type: array tags: - Experimental summary: Annual commit count ranked repos (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Commit Count Ranked repos (Repo) /repo-groups/:repo_group_id/annual-commit-count-ranked-by-repo-in-repo-group: get: description: Annual commit count ranked by repos in a repo group. operationId: AnnualCommitCountRankedByRepoInRepoGroup(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: name: description: 'Example: twemoji' type: string net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual commit count ranked by repo in repo group (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Commit Count Ranked by Repo in Repo Group (Repo Group) /repo-groups/:repo_id/annual-commit-count-ranked-by-repo-in-repo-group: get: description: This is a CollectOSS-specific metric. We are currently working to define these more formally. operationId: AnnualCommitCountRankedByRepoInRepoGroup(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: name: description: 'Example: twemoji' type: string net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual commit count ranked by repo in repo group (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Commit Count Ranked by Repo in Repo Group (Repo) /repo-groups/:repo_group_id/annual-lines-of-code-count-ranked-by-new-repo-in-repo-group: get: description: This is a CollectOSS-specific metric. We are currently working to define these more formally. operationId: AnnualLinesOfCodeRankedByNewRepoInRepoGroup(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repo_name: description: 'Example: twemoji' type: string repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual lines of code ranked by new repo in repo group (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Lines of Code Ranked by New Repo in Repo Group (Repo Group) /repo-groups/:repo_id/annual-lines-of-code-count-ranked-by-new-repo-in-repo-group: get: description: This is a CollectOSS-specific metric. We are currently working to define these more formally. operationId: AnnualLinesOfCodeRankedByNewRepoInRepoGroup(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repo_name: description: 'Example: twemoji' type: string repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual lines of code ranked by new repo in repo group (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Lines of Code Ranked by New Repo in Repo Group (Repo) /repo-groups/:repo_group_id/annual-lines-of-code-count-ranked-by-repo-in-repo-group: get: description: This is a CollectOSS-specific metric. We are currently working to define these more formally. operationId: AnnualLinesOfCodeRankedByRepoInRepoGroup(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: name: description: 'Example: twemoji' type: string net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual lines of code ranked by repo in repo group (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Lines of Code Ranked by Repo in Repo Group (Repo Group) /repo-groups/:repo_id/annual-lines-of-code-count-ranked-by-repo-in-repo-group: get: description: This is a CollectOSS-specific metric. We are currently working to define these more formally. operationId: AnnualLinesOfCodeRankedByRepoInRepoGroup(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: Base64 version of the URL of the GitHub repository as it appears in the Facade DB in: path name: repo_url_base schema: type: String type: String responses: '200': description: OK schema: items: properties: name: description: 'Example: twemoji' type: string net: description: 'Example: 2479124' type: integer patches: description: 'Example: 1' type: integer repos_id: description: 'Example: 1' type: integer type: array tags: - Experimental summary: Annual lines of code ranked by repo in repo group (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Annual Lines of Code Ranked by Repo in Repo Group (Repo) /repo-groups/:repo_group_id/issue-comments-mean: get: description: Mean(Average) of issue comments per day. operationId: IssueCommentsMean(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: 'Allows for results to be grouped by day, week, month, or year. E.g. values: year, day, month' in: path name: group_by schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2018-01-01T00:00:00.000Z' type: string mean: description: 'Example: 0.6191780822' type: string repo_id: description: 'Example: 21326' type: integer type: array tags: - Experimental summary: Issue comments mean (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Issue Comments Mean (Repo Group) /repos/:repo_id/issue-comments-mean: get: description: Mean(Average) of issue comments per day. operationId: IssueCommentsMean(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2018-01-01T00:00:00.000Z' type: string mean: description: 'Example: 0.6191780822' type: string repo_id: description: 'Example: 21326' type: integer type: array tags: - Experimental summary: Issue comments mean (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Issue Comments Mean (Repo) /repo-groups/:repo_group_id/issue-comments-mean-std: get: description: Mean(Average) and Standard Deviation of issue comments per day. operationId: IssueCommentsMeanStd(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: 'Allows for results to be grouped by day, week, month, or year. E.g. values: year, day, month' in: path name: group_by schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2018-01-01T00:00:00.000Z' type: string mean: description: 'Example: 0.6191780822' type: string repo_id: description: 'Example: 21326' type: integer type: array tags: - Experimental summary: Issue comments mean std (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Issue Comments Mean Std (Repo Group) /repos/:repo_id/issue-comments-mean-std: get: description: Mean(Average) and Standard Deviation of issue comments per day. operationId: IssueCommentsMeanStd(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string responses: '200': description: OK schema: items: properties: average: description: 'Example: 2.5' type: string date: description: 'Example: 2011-01-01T00:00:00.000Z' type: string repo_id: description: 'Example: 21000' type: integer standard_deviation: description: 'Example: 1.7159383568' type: string type: array tags: - Experimental summary: Issue comments mean std (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Issue Comments Mean Std (Repo) /repo-groups/:repo_group_id/pull-request-acceptance-rate: get: description: Timeseries of pull request acceptance rate (expressed as the ratio of pull requests merged on a date to the count of pull requests opened on a date) operationId: PullRequestAcceptanceRate(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string - description: 'Allows for results to be grouped by day, week, month, or year. E.g. values: year, day, month' in: path name: group_by schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2019-02-11T00:00:00.000Z' type: string rate: description: 'Example: 120.5' type: string type: array tags: - Experimental summary: Pull request acceptance rate (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Request Acceptance Rate (Repo Group) /repos/:repo_id/pull-request-acceptance-rate: get: description: Timeseries of pull request acceptance rate (expressed as the ratio of pull requests merged on a date to the count of pull requests opened on a date) operationId: PullRequestAcceptanceRate(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2019-01-01T00:00:00.000Z' type: string rate: description: 'Example: 5.3333333333' type: string type: array tags: - Experimental summary: Pull request acceptance rate (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Request Acceptance Rate (Repo) /repo-groups/:repo_group_id/pull-requests-new: get: description: Returns a time series of the number of new Pull Requests opened during a certain period for a specific repository group. operationId: PullRequestsNew(RepoGroup) parameters: - name: repo_group_id in: path description: The repository group's id. required: true schema: type: string - name: period in: query description: Sets the periodicity to 'day', 'week', 'month', or 'year'. schema: type: string - name: begin_date in: query description: Specifies the begin date. schema: type: string - name: end_date in: query description: Specifies the end date. schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: created_date: type: string description: Date in the format 'YYYY-MM-DD'. new_pull_requests: type: integer description: The number of new pull requests opened on the date. tags: - Experimental summary: Pull requests new (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Requests New (Repo Group) /repo-groups/:repo_id/pull-requests-new: get: description: Returns a time series of the number of new Pull Requests opened during a certain period for a specific repository. operationId: PullRequestsNew(Repo) parameters: - name: repo_id in: path description: The repository's id. required: true schema: type: string - name: period in: query description: Sets the periodicity to 'day', 'week', 'month', or 'year'. schema: type: string - name: begin_date in: query description: Specifies the begin date. schema: type: string - name: end_date in: query description: Specifies the end date. schema: type: string responses: '200': description: OK content: application/json: schema: type: object properties: created_date: type: string description: Date in the format 'YYYY-MM-DD'. new_pull_requests: type: integer description: The number of new pull requests opened on the date. tags: - Experimental summary: Pull requests new (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Requests New (Repo) /repo-groups/:repo_group_id/pull-requests-closed-no-merge: get: description: Timeseries of pull request which were closed but not merged operationId: PullRequestClosedButNotMerged(RepoGroup) parameters: - description: Repository Group ID. in: path name: repo_group_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2019-01-01T00:00:00.000Z' type: string pr_count: description: 'Example: 3' type: integer type: array tags: - Experimental summary: Pull request closed but not merged (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Request Closed but Not Merged (Repo Group) /repos/:repo_id/pull-requests-closed-no-merge: get: description: '' operationId: PullRequestClosedButNotMerged(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: 'Beginning date specification. E.g. values: 2018, 2018-05, 2019-05-01' in: path name: begin_date schema: type: string type: string - description: 'Ending date specification. E.g. values: 2018, 2018-05, 2019-05-01 ___' in: path name: end_date schema: type: string type: string responses: '200': description: OK schema: items: properties: date: description: 'Example: 2019-01-01T00:00:00.000Z' type: string pr_count: description: 'Example: 3' type: integer type: array tags: - Experimental summary: Pull request closed but not merged (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Pull Request Closed but Not Merged (Repo) /repo-groups/:repo_group_id/top-committers: get: description: Returns a list of contributors contributing N% of all commits. operationId: TopCommitters(RepoGroup) parameters: - description: Repository Group ID in: path name: repo_group_id schema: type: string type: string - description: 'Specify the year to return the results for. Default value: current year' in: path name: year schema: type: string type: string - description: Specify N%. Accepts a value between 0 & 1 where 0 specifies 0% and 1 specifies 100%. in: path name: threshold schema: type: string type: string responses: '200': description: OK schema: items: properties: commits: description: 'Example: 502' type: integer email: description: 'Example: kamipo@gmail.com' type: string repo_group_id: description: 'Example: 20' type: integer repo_group_name: description: 'Example: Rails' type: string type: array tags: - Experimental summary: Top committers (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Top Committers (Repo Group) /repos/:repo_id/top-committers: get: description: Returns a list of contributors contributing N% of all commits. operationId: TopCommitters(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string - description: 'Specify the year to return the results for. Default value: current year' in: path name: year schema: type: string type: string - description: Specify N%. Accepts a value between 0 & 1 where 0 specifies 0% and 1 specifies 100%. in: path name: threshold schema: type: string type: string responses: '200': description: OK schema: items: properties: commits: description: 'Example: 4' type: integer email: description: 'Example: caniszczyk@gmail.com' type: string repo_id: description: 'Example: 21334' type: integer repo_name: description: 'Example: graphql' type: string type: array tags: - Experimental summary: Top committers (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Top Committers (Repo) /repo-groups/:repo_group_id/abandoned-issues: get: description: List of abandoned issues (last updated >= 1 year ago) operationId: AbandonedIssues(RepoGroup) parameters: - description: Repository Group ID in: path name: repo_group_id schema: type: string type: string responses: '200': description: OK schema: items: properties: issue_id: description: 'Example: 125071' type: integer repo_id: description: 'Example: 22004' type: integer updated_at: description: 'Example: 2017-10-30T06:52:19.000Z' type: string type: array tags: - Experimental summary: Abandoned issues (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Abandoned Issues (Repo Group) /repo-groups/:repo_id/abandoned-issues: get: description: List of abandoned issues (last updated >= 1 year ago) operationId: AbandonedIssues(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string responses: '200': description: OK schema: items: properties: issue_id: description: 'Example: 125071' type: integer repo_id: description: 'Example: 22004' type: integer updated_at: description: 'Example: 2017-10-30T06:52:19.000Z' type: string type: array tags: - Experimental summary: Abandoned issues (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Abandoned Issues (Repo) /repo-groups/:repo_group_id/lines-changed-by-author: get: description: Code Changes Lines measures the sum of lines added and removed in all source code changes during a specified period by an author. externalDocs: description: CHAOSS Metric Definition url: https://chaoss.community/kb/metric-code-changes-lines/ operationId: LinesChangedByAuthor(RepoGroup) parameters: - description: Repository Group ID in: path name: repo_group_id schema: type: string type: string responses: '200': description: OK schema: items: properties: additions: description: 'Example: 25611' type: integer affiliation: description: 'Example: NULL' type: string cmt_author_date: description: 'Example: 2004-11-24' type: string cmt_author_email: description: 'Example: david@loudthinking.com' type: string deletions: description: 'Example: 296' type: integer whitespace: description: 'Example: 5279' type: integer type: array tags: - Experimental summary: Lines changed by author (repo group) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Lines Changed by Author (Repo Group) /repo-groups/:repo_id/lines-changed-by-author: get: description: Code Changes Lines measures the sum of lines added and removed in all source code changes during a specified period by an author. externalDocs: description: CHAOSS Metric Definition url: https://chaoss.community/kb/metric-code-changes-lines/ operationId: LinesChangedByAuthor(Repo) parameters: - description: Repository ID. in: path name: repo_id schema: type: string type: string responses: '200': description: OK schema: items: properties: additions: description: 'Example: 25611' type: integer affiliation: description: 'Example: NULL' type: string cmt_author_date: description: 'Example: 2004-11-24' type: string cmt_author_email: description: 'Example: david@loudthinking.com' type: string deletions: description: 'Example: 296' type: integer whitespace: description: 'Example: 5279' type: integer type: array tags: - Experimental summary: Lines changed by author (repo) x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Lines Changed by Author (Repo) externalDocs: description: CHAOSS Metric Definitions url: https://chaoss.community/kb-metrics-and-metrics-models/