Codecov Commits API
The Commits API from Codecov — 3 operation(s) for commits.
The Commits API from Codecov — 3 operation(s) for commits.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/codecov:codecov-commits-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Codecov Commits API
version: 2.0.0
description: Public Codecov API
servers:
- url: https://api.codecov.io/api/v2/
tags:
- name: Commits
paths:
/{service}/{owner_username}/repos/{repo_name}/commits/:
get:
operationId: repos_commits_list
description: 'Returns a paginated list of commits for the specified repository
Optionally filterable by:
* a `branch` name'
summary: Commit list
parameters:
- in: query
name: branch
schema:
type: string
description: branch name
- in: path
name: owner_username
schema:
type: string
description: username from service provider
required: true
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: path
name: repo_name
schema:
type: string
description: repository name
required: true
- in: path
name: service
schema:
type: string
enum:
- bitbucket
- bitbucket_server
- github
- github_enterprise
- gitlab
- gitlab_enterprise
description: Git hosting service provider
required: true
tags:
- Commits
security:
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCommitList'
description: ''
/{service}/{owner_username}/repos/{repo_name}/commits/{commitid}/:
get:
operationId: repos_commits_retrieve
description: Returns a single commit by commitid (SHA)
summary: Commit detail
parameters:
- in: path
name: commitid
schema:
type: string
description: commit SHA
required: true
- in: path
name: owner_username
schema:
type: string
description: username from service provider
required: true
- in: path
name: repo_name
schema:
type: string
description: repository name
required: true
- in: path
name: service
schema:
type: string
enum:
- bitbucket
- bitbucket_server
- github
- github_enterprise
- gitlab
- gitlab_enterprise
description: Git hosting service provider
required: true
tags:
- Commits
security:
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/CommitDetail'
description: ''
/{service}/{owner_username}/repos/{repo_name}/commits/{commitid}/uploads/:
get:
operationId: repos_commits_uploads_list
description: Returns a paginated list of uploads for a single commit by commitid (SHA)
summary: Commit uploads
parameters:
- in: path
name: commitid
schema:
type: string
description: commit SHA
required: true
- in: path
name: owner_username
schema:
type: string
description: username from service provider
required: true
- name: page
required: false
in: query
description: A page number within the paginated result set.
schema:
type: integer
- name: page_size
required: false
in: query
description: Number of results to return per page.
schema:
type: integer
- in: path
name: repo_name
schema:
type: string
description: repository name
required: true
- in: path
name: service
schema:
type: string
enum:
- bitbucket
- bitbucket_server
- github
- github_enterprise
- gitlab
- gitlab_enterprise
description: Git hosting service provider
required: true
tags:
- Commits
security:
- tokenAuth: []
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedCommitUploadsList'
description: ''
components:
schemas:
Owner:
type: object
properties:
service:
allOf:
- $ref: '#/components/schemas/ServiceEnum'
readOnly: true
username:
type:
- string
- 'null'
readOnly: true
name:
type:
- string
- 'null'
readOnly: true
required:
- name
- service
- username
PaginatedCommitList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/Commit'
PaginatedCommitUploadsList:
type: object
required:
- count
- results
properties:
count:
type: integer
example: 123
next:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=4
previous:
type:
- string
- 'null'
format: uri
example: http://api.example.org/accounts/?page=2
results:
type: array
items:
$ref: '#/components/schemas/CommitUploads'
StateB73Enum:
enum:
- complete
- pending
- error
- skipped
type: string
description: '* `complete` - Complete
* `pending` - Pending
* `error` - Error
* `skipped` - Skipped'
ServiceEnum:
enum:
- github
- gitlab
- bitbucket
- github_enterprise
- gitlab_enterprise
- bitbucket_server
type: string
description: '* `github` - Github
* `gitlab` - Gitlab
* `bitbucket` - Bitbucket
* `github_enterprise` - Github Enterprise
* `gitlab_enterprise` - Gitlab Enterprise
* `bitbucket_server` - Bitbucket Server'
ReportTotals:
type: object
properties:
files:
type: integer
lines:
type: integer
hits:
type: integer
misses:
type: integer
partials:
type: integer
coverage:
type: number
format: double
readOnly: true
branches:
type: integer
methods:
type: integer
messages:
type: integer
sessions:
type: integer
complexity:
type: number
format: double
complexity_total:
type: number
format: double
complexity_ratio:
type: number
format: double
readOnly: true
diff: {}
required:
- branches
- complexity
- complexity_ratio
- complexity_total
- coverage
- diff
- files
- hits
- lines
- messages
- methods
- misses
- partials
- sessions
StateNameEnum:
enum:
- UPLOADED
- PROCESSED
- ERROR
- FULLY_OVERWRITTEN
- PARTIALLY_OVERWRITTEN
- MERGED
type: string
description: '* `UPLOADED` - UPLOADED
* `PROCESSED` - PROCESSED
* `ERROR` - ERROR
* `FULLY_OVERWRITTEN` - FULLY_OVERWRITTEN
* `PARTIALLY_OVERWRITTEN` - PARTIALLY_OVERWRITTEN
* `MERGED` - MERGED'
NullEnum:
enum:
- null
Report:
type: object
properties:
totals:
allOf:
- $ref: '#/components/schemas/ReportTotals'
title: coverage totals
files:
allOf:
- $ref: '#/components/schemas/ReportFile'
readOnly: true
title: file specific coverage totals
required:
- files
- totals
Commit:
type: object
properties:
commitid:
type: string
title: commit SHA
message:
type: string
title: commit message
timestamp:
type: string
format: date-time
title: timestamp when commit was made
ci_passed:
type: boolean
title: indicates whether the CI process passed for this commit
author:
allOf:
- $ref: '#/components/schemas/Owner'
title: author of the commit
branch:
type: string
title: branch name on which this commit currently lives
totals:
allOf:
- $ref: '#/components/schemas/CommitTotals'
title: coverage totals
state:
allOf:
- $ref: '#/components/schemas/StateB73Enum'
title: Codecov processing state for this commit
parent:
type: string
title: commit SHA of first ancestor commit with coverage
required:
- author
- branch
- ci_passed
- commitid
- message
- parent
- state
- timestamp
- totals
CommitTotals:
type: object
properties:
files:
type: integer
lines:
type: integer
hits:
type: integer
misses:
type: integer
partials:
type: integer
coverage:
type: number
format: double
readOnly: true
branches:
type: integer
methods:
type: integer
sessions:
type: integer
complexity:
type: number
format: double
complexity_total:
type: number
format: double
complexity_ratio:
type: number
format: double
readOnly: true
diff:
type: integer
readOnly: true
title: 'Deprecated: this will always return 0. Please use comparison endpoint for diff totals instead.'
required:
- branches
- complexity
- complexity_ratio
- complexity_total
- coverage
- diff
- files
- hits
- lines
- methods
- misses
- partials
- sessions
CommitUploads:
type: object
properties:
created_at:
type: string
updated_at:
type: string
storage_path:
type: string
flags:
type: array
items:
type: string
provider:
type: string
build_code:
type: string
name:
type: string
job_code:
type: string
build_url:
type: string
state:
type: string
state_id:
type:
- integer
- 'null'
state_name:
readOnly: true
oneOf:
- $ref: '#/components/schemas/StateNameEnum'
- $ref: '#/components/schemas/NullEnum'
env: {}
upload_type:
type: string
upload_extras: {}
totals:
$ref: '#/components/schemas/UploadTotals'
required:
- build_code
- build_url
- created_at
- env
- flags
- job_code
- name
- provider
- state
- state_id
- state_name
- storage_path
- totals
- updated_at
- upload_extras
- upload_type
UploadTotals:
type: object
properties:
files:
type: integer
lines:
type: integer
hits:
type: integer
misses:
type: integer
partials:
type: integer
coverage:
type: number
format: double
readOnly: true
branches:
type: integer
methods:
type: integer
required:
- branches
- coverage
- files
- hits
- lines
- methods
- misses
- partials
ReportFile:
type: object
properties:
name:
type: string
title: file path
totals:
allOf:
- $ref: '#/components/schemas/ReportTotals'
title: coverage totals
line_coverage:
type: array
items: {}
readOnly: true
title: line-by-line coverage values
required:
- line_coverage
- name
- totals
CommitDetail:
type: object
properties:
commitid:
type: string
title: commit SHA
message:
type: string
title: commit message
timestamp:
type: string
format: date-time
title: timestamp when commit was made
ci_passed:
type: boolean
title: indicates whether the CI process passed for this commit
author:
allOf:
- $ref: '#/components/schemas/Owner'
title: author of the commit
branch:
type: string
title: branch name on which this commit currently lives
totals:
allOf:
- $ref: '#/components/schemas/CommitTotals'
title: coverage totals
state:
allOf:
- $ref: '#/components/schemas/StateB73Enum'
title: Codecov processing state for this commit
parent:
type: string
title: commit SHA of first ancestor commit with coverage
report:
allOf:
- $ref: '#/components/schemas/Report'
title: coverage report
required:
- author
- branch
- ci_passed
- commitid
- message
- parent
- report
- state
- timestamp
- totals
securitySchemes:
tokenAuth:
type: http
scheme: bearer
x-provenance:
method: searched
source: https://docs.codecov.com/reference
harvested: '2026-10-26'
tool: harvest-readme-openapi.py
note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored.
assembled_from:
- https://docs.codecov.com/reference/repos_branches_list.md
- https://docs.codecov.com/reference/repos_branches_retrieve.md
- https://docs.codecov.com/reference/repos_commits_list.md
- https://docs.codecov.com/reference/repos_commits_retrieve.md
- https://docs.codecov.com/reference/repos_commits_uploads_list.md
- https://docs.codecov.com/reference/repos_compare_components_retrieve.md
- https://docs.codecov.com/reference/repos_compare_file_retrieve.md
- https://docs.codecov.com/reference/repos_compare_flags_retrieve.md
- https://docs.codecov.com/reference/repos_compare_impacted_files_retrieve.md
- https://docs.codecov.com/reference/repos_compare_retrieve.md
- https://docs.codecov.com/reference/repos_compare_segments_retrieve.md
- https://docs.codecov.com/reference/repos_components_list.md
- https://docs.codecov.com/reference/repos_config_retrieve.md
- https://docs.codecov.com/reference/repos_coverage_list.md
- https://docs.codecov.com/reference/repos_evals_compare_retrieve-1.md
- https://docs.codecov.com/reference/repos_evals_summary_retrieve-1.md
- https://docs.codecov.com/reference/repos_file_report_retrieve.md
- https://docs.codecov.com/reference/repos_flags_coverage_list.md
- https://docs.codecov.com/reference/repos_flags_list.md
- https://docs.codecov.com/reference/repos_list.md
- https://docs.codecov.com/reference/repos_pulls_list.md
- https://docs.codecov.com/reference/repos_pulls_retrieve.md
- https://docs.codecov.com/reference/repos_report_retrieve.md
- https://docs.codecov.com/reference/repos_report_tree_retrieve.md
- https://docs.codecov.com/reference/repos_retrieve.md
- https://docs.codecov.com/reference/repos_test_analytics_list-1.md
- https://docs.codecov.com/reference/repos_test_results_list.md
- https://docs.codecov.com/reference/repos_test_results_retrieve.md
- https://docs.codecov.com/reference/repos_totals_retrieve.md
- https://docs.codecov.com/reference/root_list.md
- https://docs.codecov.com/reference/root_retrieve.md
- https://docs.codecov.com/reference/user_sessions_list.md
- https://docs.codecov.com/reference/users_list.md
- https://docs.codecov.com/reference/users_partial_update.md
- https://docs.codecov.com/reference/users_retrieve.md
merge:
pages: 35
deduped: 98
conflicts_kept_first: 0