Forgejo package API
The package API from Forgejo — 5 operation(s) for package.
The package API from Forgejo — 5 operation(s) for package.
swagger: '2.0'
info:
description: This documentation describes the Forgejo API.
title: Forgejo activitypub package API
license:
name: This file is distributed under the MIT license for the purpose of interoperability
url: http://opensource.org/licenses/MIT
version: 16.0.0-dev-465-4b83448b7d+gitea-1.22.0
basePath: /api/v1
schemes:
- https
- http
consumes:
- application/json
- text/plain
produces:
- application/json
- text/html
security:
- BasicAuth: []
- AuthorizationHeaderToken: []
- SudoParam: []
- SudoHeader: []
- TOTPHeader: []
tags:
- name: package
paths:
/packages/{owner}:
get:
produces:
- application/json
tags:
- package
summary: Gets all packages of an owner
operationId: listPackages
parameters:
- type: string
description: owner of the packages
name: owner
in: path
required: true
- type: integer
description: page number of results to return (1-based)
name: page
in: query
- type: integer
description: page size of results
name: limit
in: query
- enum:
- alpine
- cargo
- chef
- composer
- conan
- conda
- container
- cran
- debian
- generic
- go
- helm
- maven
- npm
- nuget
- pub
- pypi
- rpm
- rubygems
- swift
- vagrant
type: string
description: package type filter
name: type
in: query
- type: string
description: name filter
name: q
in: query
responses:
'200':
$ref: '#/responses/PackageList'
'404':
$ref: '#/responses/notFound'
/packages/{owner}/{type}/{name}/-/link/{repo_name}:
post:
tags:
- package
summary: Link a package to a repository
operationId: linkPackage
parameters:
- type: string
description: owner of the package
name: owner
in: path
required: true
- type: string
description: type of the package
name: type
in: path
required: true
- type: string
description: name of the package
name: name
in: path
required: true
- type: string
description: name of the repository to link.
name: repo_name
in: path
required: true
responses:
'201':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
/packages/{owner}/{type}/{name}/-/unlink:
post:
tags:
- package
summary: Unlink a package from a repository
operationId: unlinkPackage
parameters:
- type: string
description: owner of the package
name: owner
in: path
required: true
- type: string
description: type of the package
name: type
in: path
required: true
- type: string
description: name of the package
name: name
in: path
required: true
responses:
'201':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
/packages/{owner}/{type}/{name}/{version}:
get:
produces:
- application/json
tags:
- package
summary: Gets a package
operationId: getPackage
parameters:
- type: string
description: owner of the package
name: owner
in: path
required: true
- type: string
description: type of the package
name: type
in: path
required: true
- type: string
description: name of the package
name: name
in: path
required: true
- type: string
description: version of the package
name: version
in: path
required: true
responses:
'200':
$ref: '#/responses/Package'
'404':
$ref: '#/responses/notFound'
delete:
tags:
- package
summary: Delete a package
operationId: deletePackage
parameters:
- type: string
description: owner of the package
name: owner
in: path
required: true
- type: string
description: type of the package
name: type
in: path
required: true
- type: string
description: name of the package
name: name
in: path
required: true
- type: string
description: version of the package
name: version
in: path
required: true
responses:
'204':
$ref: '#/responses/empty'
'404':
$ref: '#/responses/notFound'
/packages/{owner}/{type}/{name}/{version}/files:
get:
produces:
- application/json
tags:
- package
summary: Gets all files of a package
operationId: listPackageFiles
parameters:
- type: string
description: owner of the package
name: owner
in: path
required: true
- type: string
description: type of the package
name: type
in: path
required: true
- type: string
description: name of the package
name: name
in: path
required: true
- type: string
description: version of the package
name: version
in: path
required: true
responses:
'200':
$ref: '#/responses/PackageFileList'
'404':
$ref: '#/responses/notFound'
definitions:
Team:
description: Team represents a team in an organization
type: object
properties:
can_create_org_repo:
type: boolean
x-go-name: CanCreateOrgRepo
description:
type: string
x-go-name: Description
id:
type: integer
format: int64
x-go-name: ID
includes_all_repositories:
type: boolean
x-go-name: IncludesAllRepositories
name:
type: string
x-go-name: Name
organization:
$ref: '#/definitions/Organization'
permission:
type: string
enum:
- none
- read
- write
- admin
- owner
x-go-name: Permission
units:
type: array
items:
type: string
x-go-name: Units
example:
- repo.code
- repo.issues
- repo.ext_issues
- repo.wiki
- repo.pulls
- repo.releases
- repo.projects
- repo.ext_wiki
units_map:
type: object
additionalProperties:
type: string
x-go-name: UnitsMap
example:
repo.actions: none
repo.code: read
repo.ext_issues: none
repo.ext_wiki: none
repo.issues: write
repo.packages: none
repo.projects: none
repo.pulls: owner
repo.releases: none
repo.wiki: admin
x-go-package: forgejo.org/modules/structs
Organization:
description: Organization represents an organization
type: object
properties:
avatar_url:
type: string
x-go-name: AvatarURL
created:
type: string
format: date-time
x-go-name: Created
description:
type: string
x-go-name: Description
email:
type: string
x-go-name: Email
full_name:
type: string
x-go-name: FullName
id:
type: integer
format: int64
x-go-name: ID
location:
type: string
x-go-name: Location
name:
type: string
x-go-name: Name
repo_admin_change_team_access:
type: boolean
x-go-name: RepoAdminChangeTeamAccess
username:
description: deprecated
type: string
x-go-name: UserName
visibility:
type: string
x-go-name: Visibility
website:
type: string
x-go-name: Website
x-go-package: forgejo.org/modules/structs
ExternalWiki:
description: ExternalWiki represents setting for external wiki
type: object
properties:
external_wiki_url:
description: URL of external wiki.
type: string
x-go-name: ExternalWikiURL
x-go-package: forgejo.org/modules/structs
Package:
description: Package represents a package
type: object
properties:
created_at:
type: string
format: date-time
x-go-name: CreatedAt
creator:
$ref: '#/definitions/User'
html_url:
type: string
x-go-name: HTMLURL
id:
type: integer
format: int64
x-go-name: ID
name:
type: string
x-go-name: Name
owner:
$ref: '#/definitions/User'
repository:
$ref: '#/definitions/Repository'
type:
type: string
x-go-name: Type
version:
type: string
x-go-name: Version
x-go-package: forgejo.org/modules/structs
User:
description: User represents a user
type: object
properties:
active:
description: Is user active
type: boolean
x-go-name: IsActive
avatar_url:
description: URL to the user's avatar
type: string
x-go-name: AvatarURL
created:
type: string
format: date-time
x-go-name: Created
description:
description: the user's description
type: string
x-go-name: Description
email:
type: string
format: email
x-go-name: Email
followers_count:
description: user counts
type: integer
format: int64
x-go-name: Followers
following_count:
type: integer
format: int64
x-go-name: Following
full_name:
description: the user's full name
type: string
x-go-name: FullName
html_url:
description: URL to the user's profile page
type: string
x-go-name: HTMLURL
id:
description: the user's id
type: integer
format: int64
x-go-name: ID
is_admin:
description: Is the user an administrator
type: boolean
x-go-name: IsAdmin
language:
description: User locale
type: string
x-go-name: Language
last_login:
type: string
format: date-time
x-go-name: LastLogin
location:
description: the user's location
type: string
x-go-name: Location
login:
description: the user's username
type: string
x-go-name: UserName
login_name:
description: the user's authentication sign-in name.
type: string
default: empty
x-go-name: LoginName
prohibit_login:
description: Is user login prohibited
type: boolean
x-go-name: ProhibitLogin
pronouns:
description: the user's pronouns
type: string
x-go-name: Pronouns
restricted:
description: Is user restricted
type: boolean
x-go-name: Restricted
source_id:
description: The ID of the user's Authentication Source
type: integer
format: int64
x-go-name: SourceID
starred_repos_count:
type: integer
format: int64
x-go-name: StarredRepos
visibility:
description: 'User visibility level option: public, limited, private'
type: string
x-go-name: Visibility
website:
description: the user's website
type: string
x-go-name: Website
x-go-package: forgejo.org/modules/structs
PackageFile:
description: PackageFile represents a package file
type: object
properties:
Size:
type: integer
format: int64
id:
type: integer
format: int64
x-go-name: ID
md5:
type: string
x-go-name: HashMD5
name:
type: string
x-go-name: Name
sha1:
type: string
x-go-name: HashSHA1
sha256:
type: string
x-go-name: HashSHA256
sha512:
type: string
x-go-name: HashSHA512
x-go-package: forgejo.org/modules/structs
Permission:
description: Permission represents a set of permissions
type: object
properties:
admin:
type: boolean
x-go-name: Admin
pull:
type: boolean
x-go-name: Pull
push:
type: boolean
x-go-name: Push
x-go-package: forgejo.org/modules/structs
APINotFound:
type: object
properties:
errors:
type: array
items:
type: string
x-go-name: Errors
message:
type: string
x-go-name: Message
url:
type: string
x-go-name: URL
x-go-package: forgejo.org/services/context
ExternalTracker:
description: ExternalTracker represents settings for external tracker
type: object
properties:
external_tracker_format:
description: External Issue Tracker URL Format. Use the placeholders {user}, {repo} and {index} for the username, repository name and issue index.
type: string
x-go-name: ExternalTrackerFormat
external_tracker_regexp_pattern:
description: External Issue Tracker issue regular expression
type: string
x-go-name: ExternalTrackerRegexpPattern
external_tracker_style:
description: External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`
type: string
x-go-name: ExternalTrackerStyle
external_tracker_url:
description: URL of external issue tracker.
type: string
x-go-name: ExternalTrackerURL
x-go-package: forgejo.org/modules/structs
Repository:
description: Repository represents a repository
type: object
properties:
allow_fast_forward_only_merge:
type: boolean
x-go-name: AllowFastForwardOnly
allow_merge_commits:
type: boolean
x-go-name: AllowMerge
allow_rebase:
type: boolean
x-go-name: AllowRebase
allow_rebase_explicit:
type: boolean
x-go-name: AllowRebaseMerge
allow_rebase_update:
type: boolean
x-go-name: AllowRebaseUpdate
allow_squash_merge:
type: boolean
x-go-name: AllowSquash
archived:
type: boolean
x-go-name: Archived
archived_at:
type: string
format: date-time
x-go-name: ArchivedAt
avatar_url:
type: string
x-go-name: AvatarURL
clone_url:
type: string
x-go-name: CloneURL
created_at:
type: string
format: date-time
x-go-name: Created
default_allow_maintainer_edit:
type: boolean
x-go-name: DefaultAllowMaintainerEdit
default_branch:
type: string
x-go-name: DefaultBranch
default_delete_branch_after_merge:
type: boolean
x-go-name: DefaultDeleteBranchAfterMerge
default_merge_style:
type: string
x-go-name: DefaultMergeStyle
default_update_style:
type: string
x-go-name: DefaultUpdateStyle
description:
type: string
x-go-name: Description
empty:
type: boolean
x-go-name: Empty
external_tracker:
$ref: '#/definitions/ExternalTracker'
external_wiki:
$ref: '#/definitions/ExternalWiki'
fork:
type: boolean
x-go-name: Fork
forks_count:
type: integer
format: int64
x-go-name: Forks
full_name:
type: string
x-go-name: FullName
globally_editable_wiki:
type: boolean
x-go-name: GloballyEditableWiki
has_actions:
type: boolean
x-go-name: HasActions
has_issues:
type: boolean
x-go-name: HasIssues
has_packages:
type: boolean
x-go-name: HasPackages
has_projects:
type: boolean
x-go-name: HasProjects
has_pull_requests:
type: boolean
x-go-name: HasPullRequests
has_releases:
type: boolean
x-go-name: HasReleases
has_wiki:
description: is the wiki enabled
type: boolean
x-go-name: HasWiki
has_wiki_contents:
description: have wiki pages ever been created
type: boolean
x-go-name: HasWikiContents
html_url:
type: string
x-go-name: HTMLURL
id:
type: integer
format: int64
x-go-name: ID
ignore_whitespace_conflicts:
type: boolean
x-go-name: IgnoreWhitespaceConflicts
internal:
type: boolean
x-go-name: Internal
internal_tracker:
$ref: '#/definitions/InternalTracker'
language:
type: string
x-go-name: Language
languages_url:
type: string
x-go-name: LanguagesURL
link:
type: string
x-go-name: Link
mirror:
type: boolean
x-go-name: Mirror
mirror_interval:
type: string
x-go-name: MirrorInterval
mirror_updated:
type: string
format: date-time
x-go-name: MirrorUpdated
name:
type: string
x-go-name: Name
object_format_name:
description: ObjectFormatName of the underlying git repository
type: string
enum:
- sha1
- sha256
x-go-name: ObjectFormatName
open_issues_count:
type: integer
format: int64
x-go-name: OpenIssues
open_pr_counter:
type: integer
format: int64
x-go-name: OpenPulls
original_url:
type: string
x-go-name: OriginalURL
owner:
$ref: '#/definitions/User'
parent:
$ref: '#/definitions/Repository'
permissions:
$ref: '#/definitions/Permission'
private:
type: boolean
x-go-name: Private
release_counter:
type: integer
format: int64
x-go-name: Releases
repo_transfer:
$ref: '#/definitions/RepoTransfer'
size:
type: integer
format: int64
x-go-name: Size
ssh_url:
type: string
x-go-name: SSHURL
stars_count:
type: integer
format: int64
x-go-name: Stars
template:
type: boolean
x-go-name: Template
topics:
type: array
items:
type: string
x-go-name: Topics
updated_at:
type: string
format: date-time
x-go-name: Updated
url:
type: string
x-go-name: URL
watchers_count:
type: integer
format: int64
x-go-name: Watchers
website:
type: string
x-go-name: Website
wiki_branch:
type: string
x-go-name: WikiBranch
wiki_clone_url:
type: string
x-go-name: WikiCloneURL
wiki_ssh_url:
type: string
x-go-name: WikiSSHURL
x-go-package: forgejo.org/modules/structs
InternalTracker:
description: InternalTracker represents settings for internal tracker
type: object
properties:
allow_only_contributors_to_track_time:
description: Let only contributors track time (Built-in issue tracker)
type: boolean
x-go-name: AllowOnlyContributorsToTrackTime
enable_issue_dependencies:
description: Enable dependencies for issues and pull requests (Built-in issue tracker)
type: boolean
x-go-name: EnableIssueDependencies
enable_time_tracker:
description: Enable time tracking (Built-in issue tracker)
type: boolean
x-go-name: EnableTimeTracker
x-go-package: forgejo.org/modules/structs
RepoTransfer:
description: RepoTransfer represents a pending repo transfer
type: object
properties:
doer:
$ref: '#/definitions/User'
recipient:
$ref: '#/definitions/User'
teams:
type: array
items:
$ref: '#/definitions/Team'
x-go-name: Teams
x-go-package: forgejo.org/modules/structs
responses:
notFound:
description: APINotFound is a not found error response
schema:
$ref: '#/definitions/APINotFound'
PackageList:
description: PackageList
schema:
type: array
items:
$ref: '#/definitions/Package'
headers:
X-Total-Count:
type: integer
format: int64
description: The total number of packages
Package:
description: Package
schema:
$ref: '#/definitions/Package'
empty:
description: APIEmpty is an empty response
PackageFileList:
description: PackageFileList
schema:
type: array
items:
$ref: '#/definitions/PackageFile'
securityDefinitions:
AuthorizationHeaderToken:
description: API tokens must be prepended with "token" followed by a space.
type: apiKey
name: Authorization
in: header
BasicAuth:
type: basic
SudoHeader:
description: Sudo API request as the user provided as the key. Admin privileges are required.
type: apiKey
name: Sudo
in: header
SudoParam:
description: Sudo API request as the user provided as the key. Admin privileges are required.
type: apiKey
name: sudo
in: query
TOTPHeader:
description: Must be used in combination with BasicAuth if two-factor authentication is enabled.
type: apiKey
name: X-FORGEJO-OTP
in: header