# Codecov Documentation > Codecov provides highly integrated tools to group, merge, archive and compare coverage reports. Whether your team is comparing changes in a pull request or reviewing a single commit, Codecov will improve the code review workflow and quality. ## Guides - [Quick Start](https://docs.codecov.com/docs/quick-start.md): A quick start guide for those that are brand new to Codecov. - [GitHub Tutorial](https://docs.codecov.com/docs/github-tutorial.md) - [2 - Getting a Codecov account and uploading coverage](https://docs.codecov.com/docs/github-2-getting-a-codecov-account-and-uploading-coverage.md) - [3 - Customizing Codecov](https://docs.codecov.com/docs/github-3-customizing-codecov.md) - [4a - Merging reports](https://docs.codecov.com/docs/github-4a-merging-reports.md) - [4b - Filtering Coverage by Directory](https://docs.codecov.com/docs/github-4b-getting-aggregate-coverage.md) - [5a - Writing a frontend](https://docs.codecov.com/docs/github-5a-writing-a-frontend.md) - [5b - Setting coverage standards with Flags](https://docs.codecov.com/docs/github-5b-setting-coverage-standards-with-flags.md) - [6 - Test what you change with Carryforward Flags](https://docs.codecov.com/docs/github-6-carryforward-flags.md) - [GitLab Tutorial](https://docs.codecov.com/docs/gitlab-tutorial.md) - [0 - Setting up the demo repository](https://docs.codecov.com/docs/gitlab-0-setting-up-the-demo-repository.md) - [1 - Setting and getting code coverage](https://docs.codecov.com/docs/gitlab-1-setting-and-getting-code-coverage.md) - [2 - Getting a Codecov account and uploading coverage](https://docs.codecov.com/docs/gitlab-2-getting-a-codecov-account-and-uploading-coverage.md) - [3 - Customizing Codecov](https://docs.codecov.com/docs/gitlab-3-customizing-codecov.md) - [4a - Merging reports](https://docs.codecov.com/docs/gitlab-4a-merging-reports.md) - [Bitbucket Tutorial](https://docs.codecov.com/docs/bitbucket-tutorial.md) - [0 - Setting up the demo repository](https://docs.codecov.com/docs/bitbucket-0-setting-up-the-demo-repository.md) - [2 - Getting a Codecov account and uploading coverage](https://docs.codecov.com/docs/bitbucket-2-getting-a-codecov-account-and-uploading-coverage.md) - [3 - Customizing Codecov](https://docs.codecov.com/docs/bitbucket-step-3-customizing-codecov.md) - [Common Configurations](https://docs.codecov.com/docs/common-recipe-list.md): A list of common tasks and configurations - [About Code Coverage](https://docs.codecov.com/docs/about-code-coverage.md) - [Frequently Asked Questions](https://docs.codecov.com/docs/frequently-asked-questions.md) - [Legacy Sentry integrations removed from Codecov](https://docs.codecov.com/docs/legacy-sentry-integrations-removed.md): What changed after Codecov removed legacy Sentry login and Sentry GitHub App integrations, who is affected, and how to restore access, PR comments, and status checks. - [Language Specific Guides](https://docs.codecov.com/docs/language-specific-guides.md) - [Code coverage with Python](https://docs.codecov.com/docs/code-coverage-with-python.md): Trying to use Codecov with your Python project? Start here. - [Uploading Reports to Codecov using the Codecov CLI](https://docs.codecov.com/docs/codecov-uploader.md) - [Github App or Team Bot](https://docs.codecov.com/docs/team-bot.md): Choose a user account that will consume Bitbucket or GitLab API in Codecov's build jobs. - [Merging Reports](https://docs.codecov.com/docs/merging-reports.md): No setup required. Automatic report merging for all CI and languages into a single report. - [Comparing Coverage Across Commits](https://docs.codecov.com/docs/comparing-commits.md): This is how Codecov determines the code coverage reports to compare and display the amount of coverage change from commit to commit on the Git tree. - [Fixing Reports](https://docs.codecov.com/docs/fixing-reports.md) - [Unexpected Coverage Changes](https://docs.codecov.com/docs/unexpected-coverage-changes.md) - [Viewing Source Code](https://docs.codecov.com/docs/viewing-source-code.md) - [Graphs](https://docs.codecov.com/docs/graphs.md) - [Codecov Tokens](https://docs.codecov.com/docs/codecov-tokens.md): All about authenticating your uploads with Codecov. - [File search](https://docs.codecov.com/docs/file-search.md) - [Status Badges](https://docs.codecov.com/docs/status-badges.md) - [Components](https://docs.codecov.com/docs/components.md): Components allow you to isolate and categorize coverage data from your project with virtual filters. - [Flags](https://docs.codecov.com/docs/flags.md): Group coverage reports based on type of tests or sub-projects/teams. - [Carryforward Flags](https://docs.codecov.com/docs/carryforward-flags.md): Reference of past coverage for tests that are not run on current commit. - [Pull Request Comments](https://docs.codecov.com/docs/pull-request-comments.md): Detailed report commented directly into your pull request - [Status Checks](https://docs.codecov.com/docs/commit-status.md): Useful for blocking Pull Requests that don't meet a particular coverage threshold. - [Removed Code Behavior](https://docs.codecov.com/docs/removed-code-behavior.md): How Codecov handles status checks when you remove code. - [GitHub Checks](https://docs.codecov.com/docs/github-checks.md) - [Path Fixing](https://docs.codecov.com/docs/fixing-paths.md) - [Path Regexp](https://docs.codecov.com/docs/path-regexp.md): Outlining our regular expression technique used - [Ignoring Paths](https://docs.codecov.com/docs/ignoring-paths.md) - [Notifications](https://docs.codecov.com/docs/notifications.md) - [Organization Analytics](https://docs.codecov.com/docs/organization-analytics.md): Org-level or cross-repo analytics is available to see at codecov.io - [Codecov CLI](https://docs.codecov.com/docs/the-codecov-cli.md): Codecov CLI is a new way for users to interact with Codecov directly from the user’s terminal or CI platform. Many Codecov features that require the user’s interference can be done via the CLI, it saves commits, creates reports, uploads coverage, and enables access to Codecov's most advanced features. - [CLI Options](https://docs.codecov.com/docs/cli-options.md): All of the ways you can customize your Codecov experience via CLI - [Contributing to the CLI](https://docs.codecov.com/docs/contributing-to-the-cli.md): Our CLI is fully open source and you're more than welcome to make new contributions - [Slack Integration](https://docs.codecov.com/docs/slack-integration.md) - [VSCode Extension](https://docs.codecov.com/docs/vscode-extension.md): A Codecov VS Code extention which shows you coverage and helps configure new repositories. - [Codecov Browser Extension](https://docs.codecov.com/docs/the-codecov-browser-extension.md): Line coverage on commits and Pull Requests, directly on GitHub - [Test Analytics](https://docs.codecov.com/docs/test-analytics.md): Have feedback? Drop us a line on Github at https://github.com/codecov/feedback/issues/637 - [Supported Languages](https://docs.codecov.com/docs/supported-languages.md): The repositories listed below provide additional information about language-specific support. One of Codecov’s strengths is its capability to be virtually language agnostic. Since Codecov works by ingesting your coverage reports from the testing tools, the key component needed for the integration is the ability to upload a [coverage report](doc:codecov-uploader) (ideally from your CI provider) to Codecov. - [Supported Coverage Report Formats](https://docs.codecov.com/docs/supported-report-formats.md) - [Codecov Custom Coverage Format](https://docs.codecov.com/docs/codecov-custom-coverage-format.md) - [Testing with Docker](https://docs.codecov.com/docs/testing-with-docker.md): Worthwhile to mention that the docker run command should also set the "CI" environment variable to "true". On the CI service, e.g. GitHub Actions, it is set, but if you don't explicitly set it in the docker run call it won't be set and then Codecov won't detect GitHub Actions, at least not in Ruby (see https://github.com/codecov/codecov-ruby/blob/484767f1c3d7992a9d7fedd6dc72d35a80d04f70/lib/codecov.rb#L68-L69) - [Error Reference](https://docs.codecov.com/docs/error-reference.md) - [Adding the Codecov token](https://docs.codecov.com/docs/adding-the-codecov-token.md) - [Codecov YAML](https://docs.codecov.com/docs/codecov-yaml.md): All about configuring Codecov. - [codecov.yml Reference](https://docs.codecov.com/docs/codecovyml-reference.md) - [Securing access to Codecov UI with Okta](https://docs.codecov.com/docs/securing-access-to-codecov-ui-with-okta.md) - [Overview - Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis.md) - [Bundle Names](https://docs.codecov.com/docs/bundle-names.md): An overview as to why we require bundle names, and the meanings for text we append to the defined bundle names. - [Supported Build Environments](https://docs.codecov.com/docs/supported-build-environments.md): The various build environments that the plugins will attempt to grab the required values for. - [Environment Specific Requirements](https://docs.codecov.com/docs/environment-specific-requirements.md) - [FAQ - Bundle Analysis](https://docs.codecov.com/docs/bundle-analysis-faq.md): Frequently asked questions around Codecov's Bundle Analysis product - [Tokenless - Bundle Analysis](https://docs.codecov.com/docs/tokenless-bundle-analysis.md): Similar to our Codecov Action we provide support for tokenless uploads on forked upstream pull requests in public repos. - [GitHub OIDC - Bundle Analysis](https://docs.codecov.com/docs/github-oidc-bundle-analysis.md): Similar to our Codecov Action we provide support for OIDC authenticated uploads on while running in GitHub Actions. - [Astro Quick Start](https://docs.codecov.com/docs/astro-quick-start.md) - [NextJS (Webpack) Quick Start](https://docs.codecov.com/docs/nextjs-webpack-quick-start.md): Quick start guide for Codecov Bundle Analysis and NextJS (Webpack). - [Nuxt Quick Start](https://docs.codecov.com/docs/nuxt-quick-start.md): Quick start guide for Codecov Bundle Analysis and Nuxt. - [Remix (Vite) Quick Start](https://docs.codecov.com/docs/remix-vite-quick-start.md): Quick start guide for Codecov Bundle Analysis and Remix. - [Rollup Quick Start](https://docs.codecov.com/docs/rollup-quick-start.md): Quick start guide for Codecov Bundle Analysis and Rollup. - [SvelteKit Quick Start](https://docs.codecov.com/docs/sveltekit-quick-start.md): Quick start guide for Codecov Bundle Analysis and SvelteKit. - [SolidStart Quick Start](https://docs.codecov.com/docs/solidstart-quick-start.md): Quick start guide for Codecov Bundle Analysis and SolidStart. - [Vite Quick Start (React, Vue, Svelte, SolidJS, etc.)](https://docs.codecov.com/docs/vite-quick-start.md): Quick start guide for Codecov Bundle Analysis and Vite. - [Webpack 5 Quick Start (Angular, CRACO)](https://docs.codecov.com/docs/webpack-quick-start.md): Quick start guide for Codecov Bundle Analysis and Webpack. - [Bundle Analyzer Quick Start](https://docs.codecov.com/docs/bundle-analyzer-quick-start.md) - [Dedicated Enterprise Cloud Guide](https://docs.codecov.com/docs/codecov-dedicated-enterprise-cloud-install-steps.md) - [Set Up Oauth Login (Self-Hosted)](https://docs.codecov.com/docs/set-up-oauth-login.md): Via Github, Gitlab, or Bitbucket - [Frequently Asked Questions - Self-Hosted](https://docs.codecov.com/docs/frequently-asked-questions-1.md) ## API Reference - [Getting Started](https://docs.codecov.com/reference/overview.md) - [Service owners](https://docs.codecov.com/reference/root_list.md): Returns all owners to which the currently authenticated user has access - [Owner detail](https://docs.codecov.com/reference/root_retrieve.md): Returns a single owner by name - [User session list](https://docs.codecov.com/reference/user_sessions_list.md): Returns a paginated list of users' login session for the specified owner (org) Note: Requires the caller to be an admin of the requested organization - [User list](https://docs.codecov.com/reference/users_list.md): Returns a paginated list of users for the specified owner (org) - [User detail](https://docs.codecov.com/reference/users_retrieve.md): Returns a user for the specified owner_username or ownerid - [Update a user](https://docs.codecov.com/reference/users_partial_update.md): Updates a user for the specified owner_username or ownerid Allowed fields - activated: boolean value to activate or deactivate the user - [Repository list](https://docs.codecov.com/reference/repos_list.md): Returns a paginated list of repositories for the specified provider service and owner username Optionally filterable by: * a list of repository `name`s * a `search` term which matches against the name * whether the repository is `active` or not - [Repository detail](https://docs.codecov.com/reference/repos_retrieve.md): Returns a single repository by name - [Repository config](https://docs.codecov.com/reference/repos_config_retrieve.md) - [Branch list](https://docs.codecov.com/reference/repos_branches_list.md): Returns a paginated list of branches for the specified repository - [Branch detail](https://docs.codecov.com/reference/repos_branches_retrieve.md): Returns a single branch by name. Includes head commit information embedded in the response. - [Commit list](https://docs.codecov.com/reference/repos_commits_list.md): Returns a paginated list of commits for the specified repository Optionally filterable by: * a `branch` name - [Commit detail](https://docs.codecov.com/reference/repos_commits_retrieve.md): Returns a single commit by commitid (SHA) - [Commit uploads](https://docs.codecov.com/reference/repos_commits_uploads_list.md): Returns a paginated list of uploads for a single commit by commitid (SHA) - [Comparison](https://docs.codecov.com/reference/repos_compare_retrieve.md): Returns a comparison for either a pair of commits or a pull - [Component comparison](https://docs.codecov.com/reference/repos_compare_components_retrieve.md) - [File comparison](https://docs.codecov.com/reference/repos_compare_file_retrieve.md): Returns a comparison for a specific file path - [Flag comparison](https://docs.codecov.com/reference/repos_compare_flags_retrieve.md): Returns flag comparisons - [Impacted files comparison](https://docs.codecov.com/reference/repos_compare_impacted_files_retrieve.md): Returns a comparison for either a pair of commits or a pull Will only return pre-computed impacted files comparisons if available If unavailable `files` will be empty, however once the computation is ready the files will appear on subsequent calls `state: "processed"` means `files` are finished computing and returned `state: "pending"` means `files` are still computing, poll again later - [Segmented file comparison](https://docs.codecov.com/reference/repos_compare_segments_retrieve.md): Returns a comparison for a specific file path only showing the segments of the file that are impacted instead of all lines in file - [Component list](https://docs.codecov.com/reference/repos_components_list.md): Returns a list of components for the specified repository - [Coverage trend](https://docs.codecov.com/reference/repos_coverage_list.md): Returns a paginated list of timeseries measurements aggregated by the specified `interval`. If there are no measurements on `start_date` then the response will include 1 measurement older than `start_date` so that the coverage value can be carried forward if necessary. Optionally filterable by: * `branch` * `start_date` * `end_date` - [File coverage report](https://docs.codecov.com/reference/repos_file_report_retrieve.md): Similar to the coverage report endpoint but only returns coverage info for a single file specified by `path`. By default that commit is the head of the default branch but can also be specified explictily by: * `sha` - return report for the commit with the given SHA * `branch` - return report for the head commit of the branch with the given name - [Commit coverage report](https://docs.codecov.com/reference/repos_report_retrieve.md): Similar to the coverage totals endpoint but also returns line-by-line coverage info (hit=0/miss=1/partial=2). By default that commit is the head of the default branch but can also be specified explictily by: * `sha` - return report for the commit with the given SHA * `branch` - return report for the head commit of the branch with the given name The report can be optionally filtered by specifying: * `path` - only show report info for pathnames that start with this value * `flag` - only show report info that applies to the specified flag name * `component_id` - only show report info that applies to the specified component - [Coverage report tree](https://docs.codecov.com/reference/repos_report_tree_retrieve.md): Returns a hierarchical view of the report that matches the file structure of the covered files with coverage info rollups at each level. Returns only top-level data by default but the depth of the traversal can be controlled via the `depth` parameter. * `depth` - how deep in the tree to traverse (default=1) * `path` - path in the tree from which to start the traversal (default is the root) - [Commit coverage totals](https://docs.codecov.com/reference/repos_totals_retrieve.md): Returns the coverage totals for a given commit and the coverage totals broken down by file. By default that commit is the head of the default branch but can also be specified explictily by: * `sha` - return totals for the commit with the given SHA * `branch` - return totals for the head commit of the branch with the given name The totals can be optionally filtered by specifying: * `path` - only show totals for pathnames that start with this value * `flag` - only show totals that applies to the specified flag name * `component_id` - only show totals that applies to the specified component - [Flag list](https://docs.codecov.com/reference/repos_flags_list.md): Returns a paginated list of flags for the specified repository - [Coverage trend](https://docs.codecov.com/reference/repos_flags_coverage_list.md): Returns a paginated list of timeseries measurements aggregated by the specified `interval`. If there are no measurements on `start_date` then the response will include 1 measurement older than `start_date` so that the coverage value can be carried forward if necessary. Optionally filterable by: * `branch` * `start_date` * `end_date` - [Pull list](https://docs.codecov.com/reference/repos_pulls_list.md): Returns a paginated list of pulls for the specified repository Optionally filterable by: * `state` * `start_date` Orderable by: * `pullid` - [Pull detail](https://docs.codecov.com/reference/repos_pulls_retrieve.md): Returns a single pull by ID - [Test results list](https://docs.codecov.com/reference/repos_test_results_list.md): Returns a list of test results for the specified repository and commit - [Test results detail](https://docs.codecov.com/reference/repos_test_results_retrieve.md): Returns a single test result by ID - [Evaluation compare](https://docs.codecov.com/reference/repos_evals_compare_retrieve-1.md): Returns a comparison of evaluations between two commits - [Evaluation summary](https://docs.codecov.com/reference/repos_evals_summary_retrieve-1.md): Returns a summary of evaluations for the specified repository and commit - [Test analytics list](https://docs.codecov.com/reference/repos_test_analytics_list-1.md): Returns a list of test analytics for the specified repository ## Changelog - [Changelog update -- v23.xx.x and later](https://docs.codecov.com/changelog/changelog-update-v23xxx-and-later.md) - [Release notes for Codecov v5.0.1](https://docs.codecov.com/changelog/release-notes-for-codecov-v501.md) - [[Major] Release Notes for Codecov v5.0](https://docs.codecov.com/changelog/major-release-notes-for-codecov-v50.md) - [Release notes for Codecov v4.6.6](https://docs.codecov.com/changelog/release-notes-for-codecov-v466.md) - [Release notes for Codecov v4.6.5](https://docs.codecov.com/changelog/release-notes-for-codecov-v465.md) - [Release notes for Codecov v4.6.4](https://docs.codecov.com/changelog/release-notes-for-codecov-v464.md) - [[Skip version] Release notes for Codecov v4.6.3](https://docs.codecov.com/changelog/release-notes-for-codecov-v463.md) - [Release notes for Codecov v4.6.2](https://docs.codecov.com/changelog/release-notes-for-codecov-v462.md) - [Release notes for Codecov v4.6.1](https://docs.codecov.com/changelog/release-notes-for-codecov-v461.md) - [Release notes for Codecov v4.6.0](https://docs.codecov.com/changelog/release-notes-for-v460.md)