Gitea
Gitea is an open-source, self-hosted Git service and all-in-one DevOps platform written in Go and licensed under the MIT License. It provides Git hosting, code review, team collaboration, an integrated package registry across 24+ formats, issue tracking, project boards, and GitHub-Actions-compatible CI/CD via Gitea Actions. Gitea ships with a comprehensive Swagger 2.0 / OpenAPI-described REST API at /api/v1/ exposing roughly 300 operations across repositories, users, organizations, issues, packages, notifications, admin, and miscellaneous tags. The project is governed by CommitGo, Inc., which also offers Gitea Enterprise (self-managed, with SSO, audit logs and Kubernetes auto-scaling runners) and Gitea Cloud (single-tenant fully-managed hosting in multiple regions).
5 APIs
10 Features
GitSource ControlDevOpsCI/CDCode HostingOpen SourceSelf HostedPackage RegistryIssue TrackingPull Requests
Git Repository Hosting
Self-hosted Git remote with HTTPS and SSH transport, granular repository visibility (public, private, internal), and full repository CRUD over the REST API.
Pull Requests And Code Review
Branch-based pull requests with reviewers, required approvals, status checks, draft state, conflict detection, and inline review comments.
Issue Tracking And Projects
Built-in issue tracker with labels, milestones, assignees, dependencies, and Kanban-style project boards at repo and org scope.
Gitea Actions CI/CD
Native, GitHub-Actions-compatible workflow engine driven by the act_runner agent. Supports matrix builds, secrets, and autoscaling runners on Kubernetes (Enterprise).
Package Registry
Multi-format package registry covering 24 ecosystems including Container (OCI), Maven, npm, NuGet, PyPI, Helm, Cargo, Terraform, and Generic uploads.
Webhooks And Events
Outgoing webhooks for repository, issue, pull request, release, and package events with optional secret signing.
Comprehensive REST API
Approximately 300 endpoints under /api/v1/ described by a Swagger 2.0 specification with multiple authentication schemes.
Authentication And SSO
Supports BasicAuth, personal access tokens, OAuth2 with PKCE, OpenID Connect, LDAP, SMTP, PAM, SAML SSO (Enterprise), and two-factor authentication.
Multi-Database Storage
Pluggable storage backend supporting SQLite, MySQL, PostgreSQL, TiDB, and MS SQL.
Mirroring And Migration
Pull and push mirrors plus one-shot migration import from GitHub, GitLab, Bitbucket, Gitea, and other sources.
aid: gitea
name: Gitea
url: https://raw.githubusercontent.com/api-evangelist/gitea/refs/heads/main/apis.yml
created: '2026-05-06'
modified: '2026-05-19'
type: Index
access: 3rd-Party
position: Consumer
specificationVersion: '0.19'
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
kind: opensource
tags:
- Git
- Source Control
- DevOps
- CI/CD
- Code Hosting
- Open Source
- Self Hosted
- Package Registry
- Issue Tracking
- Pull Requests
description: >-
Gitea is an open-source, self-hosted Git service and all-in-one DevOps platform written in Go and licensed under the
MIT License. It provides Git hosting, code review, team collaboration, an integrated package registry across 24+
formats, issue tracking, project boards, and GitHub-Actions-compatible CI/CD via Gitea Actions. Gitea ships with a
comprehensive Swagger 2.0 / OpenAPI-described REST API at /api/v1/ exposing roughly 300 operations across
repositories, users, organizations, issues, packages, notifications, admin, and miscellaneous tags. The project is
governed by CommitGo, Inc., which also offers Gitea Enterprise (self-managed, with SSO, audit logs and Kubernetes
auto-scaling runners) and Gitea Cloud (single-tenant fully-managed hosting in multiple regions).
apis:
- aid: gitea:gitea-rest-api
name: Gitea REST API
tags:
- REST
- Git
- Code Hosting
- DevOps
humanURL: https://docs.gitea.com/api/
baseURL: https://gitea.com/api/v1
properties:
- url: https://docs.gitea.com/api/
type: Documentation
- url: https://docs.gitea.com/api/1.26/
type: APIReference
- url: https://demo.gitea.com/api/swagger
type: Swagger
- url: https://demo.gitea.com/swagger.v1.json
type: OpenAPI
- url: openapi/gitea-rest-api-openapi-original.yml
type: OpenAPI
- url: openapi/gitea-rest-api-openapi.yml
type: OpenAPI
- url: https://docs.gitea.com/development/api-usage
type: GettingStarted
- url: https://docs.gitea.com/development/oauth2-provider
type: Authentication
- url: json-schema/gitea-rest-api-repository-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-issue-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-pullrequest-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-branch-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-commit-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-release-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-hook-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-organization-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-team-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-user-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-notificationthread-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-package-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-label-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-milestone-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-tag-schema.json
type: JSONSchema
- url: json-schema/gitea-rest-api-comment-schema.json
type: JSONSchema
- url: json-structure/gitea-rest-api-repository-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-issue-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-pullrequest-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-branch-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-commit-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-release-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-hook-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-organization-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-team-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-user-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-notificationthread-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-package-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-label-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-milestone-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-tag-structure.json
type: JSONStructure
- url: json-structure/gitea-rest-api-comment-structure.json
type: JSONStructure
- url: examples/gitea-rest-api-repo-get-example.json
type: CodeExamples
- url: examples/gitea-rest-api-repo-update-example.json
type: CodeExamples
- url: examples/gitea-rest-api-issues-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-issue-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-pulls-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-pull-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-branches-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-commits-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-release-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-webhook-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-org-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-org-repos-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-user-get-example.json
type: CodeExamples
- url: examples/gitea-rest-api-user-repo-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-admin-user-create-example.json
type: CodeExamples
- url: examples/gitea-rest-api-notifications-list-example.json
type: CodeExamples
- url: examples/gitea-rest-api-packages-list-owner-example.json
type: CodeExamples
- url: examples/gitea-rest-api-repository-example.json
type: CodeExamples
- url: examples/gitea-rest-api-issue-example.json
type: CodeExamples
- url: examples/gitea-rest-api-pullrequest-example.json
type: CodeExamples
- url: examples/gitea-rest-api-release-example.json
type: CodeExamples
- url: examples/gitea-rest-api-hook-example.json
type: CodeExamples
- url: examples/gitea-rest-api-package-example.json
type: CodeExamples
description: >-
Swagger 2.0-described REST API exposed by every Gitea instance at /api/v1/. Approximately 300 operations cover
repository, branch, commit, pull request, issue, milestone, label, release, webhook, organization, team, user,
package, notification, admin and miscellaneous functionality. Authentication is supported via BasicAuth, personal
access tokens (Token / AccessToken / AuthorizationHeaderToken), OAuth2 bearer tokens, optional sudo
headers/parameters, and TOTP. The same API surface is shipped with Gitea Enterprise and Gitea Cloud.
- aid: gitea:gitea-actions-api
name: Gitea Actions API
tags:
- CI/CD
- Workflows
- Automation
humanURL: https://docs.gitea.com/usage/actions/overview
baseURL: https://gitea.com/api/v1
properties:
- url: https://docs.gitea.com/usage/actions/overview
type: Documentation
- url: https://docs.gitea.com/usage/actions/quickstart
type: Quickstart
- url: https://docs.gitea.com/usage/actions/comparison
type: APIReference
- url: https://gitea.com/gitea/act_runner
type: GitHubRepository
description: >-
GitHub-Actions-compatible workflow engine embedded in Gitea. The Actions API surface is exposed under the main
REST API (/repos/{owner}/{repo}/actions/* and /admin/actions/*) for managing workflows, runs, jobs, runners, and
secrets. Actions runners are deployed via the Go-based act_runner project.
- aid: gitea:gitea-package-registry
name: Gitea Package Registry
tags:
- Packages
- Registry
- Artifacts
humanURL: https://docs.gitea.com/usage/packages/overview
baseURL: https://gitea.com/api/packages
properties:
- url: https://docs.gitea.com/usage/packages/overview
type: Documentation
- url: https://docs.gitea.com/usage/packages/cargo
type: APIReference
- url: https://docs.gitea.com/usage/packages/container
type: APIReference
- url: https://docs.gitea.com/usage/packages/helm
type: APIReference
description: >-
Multi-format package registry built into Gitea exposing client protocols for 24 ecosystems including Cargo,
Composer, Conan, Conda, Container (OCI), CRAN, Debian, Generic, Go, Helm, Maven, npm, NuGet, Pub, PyPI, RPM,
RubyGems, Swift, Terraform, Vagrant, Alpine, Arch, Chef, and more. Packages are scoped per user or organization
and addressable under /api/packages/{owner}/{type}.
- aid: gitea:gitea-webhooks
name: Gitea Webhooks
tags:
- Webhooks
- Events
- Eventing
humanURL: https://docs.gitea.com/usage/webhooks
properties:
- url: https://docs.gitea.com/usage/webhooks
type: Documentation
- url: https://docs.gitea.com/usage/webhooks#event-information
type: APIReference
description: >-
Outbound HTTP webhook system delivering JSON event payloads for pushes, pull requests, issues, releases, package
events, and more. Webhooks are configurable per repository, organization or instance-wide and are managed through
the REST API.
- aid: gitea:gitea-cloud-management-api
name: Gitea Cloud Management API
tags:
- Cloud
- Management
- Hosted
humanURL: https://about.gitea.com/products/cloud
baseURL: https://cloud.gitea.com
properties:
- url: https://about.gitea.com/products/cloud
type: Documentation
- url: https://about.gitea.com/products/gitea-cloud-pricing/
type: Pricing
- url: https://cloud.gitea.com/
type: Console
description: >-
Gitea Cloud management plane for provisioning and operating single-tenant managed Gitea instances. Each
provisioned instance exposes the same REST API at /api/v1/. The management plane itself does not currently publish
a separate machine-readable OpenAPI definition; provisioning is performed via the cloud.gitea.com web console.
common:
- type: PostmanWorkspace
url: https://www.postman.com/kinlaneapi/gitea/overview
- type: ArazzoWorkflows
url: arazzo/
workflows:
- url: arazzo/gitea-bootstrap-repo-with-tracking-issue-workflow.yml
name: Gitea Bootstrap Repository With Tracking Issue
summary: Create a repository, open a tracking issue in it, and add a kickoff comment.
- url: arazzo/gitea-branch-pull-request-merge-workflow.yml
name: Gitea Feature Branch To Merged Pull Request
summary: Create a feature branch, open a pull request, and merge it.
- url: arazzo/gitea-comment-and-close-issue-workflow.yml
name: Gitea Comment And Close Issue
summary: Post a closing comment on an issue and then close it.
- url: arazzo/gitea-commit-file-and-open-pr-workflow.yml
name: Gitea Commit File On New Branch And Open Pull Request
summary: Create a branch, commit a new file to it, and open a pull request.
- url: arazzo/gitea-create-branch-and-await-workflow.yml
name: Gitea Create Branch And Await Availability
summary: Create a branch and poll until it is retrievable from the repository.
- url: arazzo/gitea-draft-then-publish-release-workflow.yml
name: Gitea Draft Then Publish Release
summary: Create a draft release, attach an asset, then publish the release.
- url: arazzo/gitea-label-create-and-apply-workflow.yml
name: Gitea Create Label And Apply To Issue
summary: Create a repository label and apply it to an existing issue.
- url: arazzo/gitea-milestone-with-issue-workflow.yml
name: Gitea Create Milestone With Tracked Issue
summary: Create a milestone and open an issue assigned to that milestone.
- url: arazzo/gitea-mirror-sync-workflow.yml
name: Gitea Sync Mirror And Confirm Branch
summary: Confirm a repository is a mirror, trigger a sync, and verify a branch.
- url: arazzo/gitea-open-and-triage-pull-request-workflow.yml
name: Gitea Open And Triage Pull Request
summary: Open a pull request and then triage it with assignees and labels.
- url: arazzo/gitea-org-bootstrap-with-label-workflow.yml
name: Gitea Bootstrap Organization With Shared Label
summary: Create an organization, add a repository, and create an org-wide label.
- url: arazzo/gitea-org-repo-with-webhook-workflow.yml
name: Gitea Provision Organization Repository With Webhook
summary: Create an organization, add a repository to it, and register a webhook.
- url: arazzo/gitea-org-with-webhook-workflow.yml
name: Gitea Create Organization With Webhook
summary: Create an organization and register an organization-level webhook.
- url: arazzo/gitea-release-and-verify-by-tag-workflow.yml
name: Gitea Create Release And Verify By Tag
summary: Create a release and confirm it by looking it up by its tag.
- url: arazzo/gitea-release-with-asset-workflow.yml
name: Gitea Publish Release With Asset
summary: Create a release on a tag and upload a binary asset to it.
- url: arazzo/gitea-repo-with-labeled-issue-workflow.yml
name: Gitea Create Repository With A Labeled Issue
summary: Create a repository, create a label in it, and open a pre-labeled issue.
- url: arazzo/gitea-repo-with-webhook-workflow.yml
name: Gitea Create Repository With Webhook
summary: Create a repository for the authenticated user and register a webhook.
- url: arazzo/gitea-report-issue-to-existing-repo-workflow.yml
name: Gitea Report Issue To Existing Repository
summary: Confirm a repository exists, open an issue in it, and comment on it.
- url: arazzo/gitea-sprint-issue-setup-workflow.yml
name: Gitea Sprint Issue Setup
summary: Create a milestone and label, open an issue under them, and apply the label.
- type: Website
url: https://about.gitea.com/
- type: Documentation
url: https://docs.gitea.com/
- type: APIReference
url: https://docs.gitea.com/api/
- type: Blog
url: https://blog.gitea.com/
- type: GitHubOrganization
url: https://github.com/go-gitea
- type: GitHubRepository
url: https://github.com/go-gitea/gitea
- type: SignUp
url: https://cloud.gitea.com/
- type: Pricing
url: https://about.gitea.com/pricing/
- type: Plans
url: plans/gitea-plans-pricing.yml
- type: RateLimits
url: rate-limits/gitea-rate-limits.yml
- type: FinOps
url: finops/gitea-finops.yml
- type: TermsOfService
url: https://about.gitea.com/legal/terms-of-service
- type: PrivacyPolicy
url: https://about.gitea.com/legal/privacy-policy
- type: Support
url: https://forum.gitea.com/
- type: FAQ
url: https://about.gitea.com/about/faq
- type: ReleaseNotes
url: https://blog.gitea.com/
- type: ChangeLog
url: https://github.com/go-gitea/gitea/blob/main/CHANGELOG.md
- type: StatusPage
url: https://status.gitea.com/
- type: Security
url: https://docs.gitea.com/administration/security
- type: Compliance
url: https://about.gitea.com/products/cloud
- type: SDK
url: https://gitea.com/gitea/go-sdk
name: Gitea Go SDK
- type: SDK
url: https://www.npmjs.com/package/gitea-js
name: gitea-js (TypeScript / JavaScript SDK)
- type: SDK
url: https://pypi.org/project/py-gitea/
name: py-gitea (Python SDK)
- type: SDK
url: https://github.com/hypermodeinc/gitea4j
name: Gitea Java Client
- type: CLI
url: https://gitea.com/gitea/tea
name: Tea CLI
- type: CLI
url: https://gitea.com/gitea/runner
name: act_runner (Gitea Actions Runner)
- type: GitHubRepository
url: https://github.com/go-gitea/terraform-provider-gitea
name: Terraform Provider for Gitea
- type: GitHubRepository
url: https://gitea.com/gitea/helm-gitea
name: Helm Chart for Gitea
- type: GitHubRepository
url: https://gitea.com/gitea/helm-actions
name: Helm Chart for Gitea Actions
- type: Resources
url: https://gitea.com/gitea/awesome-gitea
name: Awesome Gitea (curated list)
- type: Hub
url: https://discord.gg/gitea
name: Gitea Discord Community
- type: Forum
url: https://forum.gitea.com/
name: Gitea Community Forum
- type: SpectralRules
url: rules/gitea-rules.yml
- type: JSONLD
url: json-ld/gitea-context.jsonld
- type: Vocabulary
url: vocabulary/gitea-vocabulary.yml
- type: Features
data:
- name: Git Repository Hosting
description: >-
Self-hosted Git remote with HTTPS and SSH transport, granular repository visibility (public, private,
internal), and full repository CRUD over the REST API.
- name: Pull Requests And Code Review
description: >-
Branch-based pull requests with reviewers, required approvals, status checks, draft state, conflict detection,
and inline review comments.
- name: Issue Tracking And Projects
description: >-
Built-in issue tracker with labels, milestones, assignees, dependencies, and Kanban-style project boards at
repo and org scope.
- name: Gitea Actions CI/CD
description: >-
Native, GitHub-Actions-compatible workflow engine driven by the act_runner agent. Supports matrix builds,
secrets, and autoscaling runners on Kubernetes (Enterprise).
- name: Package Registry
description: >-
Multi-format package registry covering 24 ecosystems including Container (OCI), Maven, npm, NuGet, PyPI, Helm,
Cargo, Terraform, and Generic uploads.
- name: Webhooks And Events
description: >-
Outgoing webhooks for repository, issue, pull request, release, and package events with optional secret
signing.
- name: Comprehensive REST API
description: >-
Approximately 300 endpoints under /api/v1/ described by a Swagger 2.0 specification with multiple
authentication schemes.
- name: Authentication And SSO
description: >-
Supports BasicAuth, personal access tokens, OAuth2 with PKCE, OpenID Connect, LDAP, SMTP, PAM, SAML SSO
(Enterprise), and two-factor authentication.
- name: Multi-Database Storage
description: Pluggable storage backend supporting SQLite, MySQL, PostgreSQL, TiDB, and MS SQL.
- name: Mirroring And Migration
description: Pull and push mirrors plus one-shot migration import from GitHub, GitLab, Bitbucket, Gitea, and other sources.
- type: UseCases
data:
- name: Self-Hosted Source Control
description: Run a private Git server inside a corporate or air-gapped network, retaining full data ownership.
- name: Internal Developer Platform
description: >-
Combine Git, Actions, packages, and projects to build an internal developer platform without stitching
together multiple SaaS vendors.
- name: GitHub Actions Compatible CI/CD
description: Reuse existing GitHub Actions workflows on a self-hosted or cloud runner without depending on github.com.
- name: Multi-Format Artifact Registry
description: Use Gitea as a single artifact registry for OCI containers, language packages, and generic binaries.
- name: Regulated And Sovereign Hosting
description: Single-tenant Gitea Cloud regions provide data-residency options for regulated industries and EU customers.
- type: Integrations
data:
- name: Gitea Actions / GitHub Actions Marketplace
description: GitHub-compatible workflow ecosystem; most public Actions run unmodified on Gitea Actions runners.
- name: Drone CI
description: First-class integration with Drone for repository-driven continuous delivery pipelines.
- name: Jenkins
description: Webhooks and credentials make Gitea a drop-in source for Jenkins multibranch pipelines.
- name: Terraform
description: Official Terraform provider (terraform-provider-gitea) and a Terraform module package registry endpoint.
- name: Kubernetes
description: Helm charts and operator-friendly deployment, plus Gitea Enterprise Kubernetes auto-scaling runners.
- name: Argo CD / Flux
description: GitOps controllers can use a Gitea repository as the source of truth for cluster state.
- name: Discord And Slack
description: Outbound webhook templates for Discord, Slack, and Microsoft Teams notifications.
- name: Tea CLI
description: Official command-line client for browsing and managing repositories, issues, pull requests, and releases.
- type: Solutions
data:
- name: Gitea (Open Source)
description: Free, MIT-licensed self-hosted edition with the complete feature set and unlimited users.
- name: Gitea Enterprise
description: >-
Commercial self-hosted edition adding SAML SSO, audit logs, Kubernetes auto-scaling runners, priority SLA
support, and installation/upgrade assistance.
- name: Gitea Cloud
description: >-
Single-tenant fully-managed Gitea hosted by CommitGo with choice of regions (including a Frankfurt EU region),
24x7 availability, and SOC 2 Type 2 certification.
- name: Gitea Actions Runner (act_runner)
description: Stand-alone runner agent for executing Gitea Actions workflows on customer infrastructure.
maintainers:
- FN: Kin Lane
email: kinlane@gmail.com
url: https://kinlane.com