Gitea · Capability
Gitea API — package
Gitea API — package. 9 operations. Lead operation: Gets All Packages of an Owner. Self-contained Naftiko capability covering one Gitea business surface.
What You Can Do
GET
Listpackages
— Gets All Packages of an Owner
/v1/packages/{owner}
GET
Listpackageversions
— Gets All Versions of a Package
/v1/packages/{owner}/{type}/{name}
DELETE
Deletepackage
— Delete a Package
/v1/packages/{owner}/{type}/{name}
GET
Getlatestpackageversion
— Gets the Latest Version of a Package
/v1/packages/{owner}/{type}/{name}//latest
POST
Linkpackage
— Link a Package to a Repository
/v1/packages/{owner}/{type}/{name}//link/{repo-name}
POST
Unlinkpackage
— Unlink a Package from a Repository
/v1/packages/{owner}/{type}/{name}//unlink
GET
Getpackage
— Gets a Package
/v1/packages/{owner}/{type}/{name}/{version}
DELETE
Deletepackageversion
— Delete a Package Version
/v1/packages/{owner}/{type}/{name}/{version}
GET
Listpackagefiles
— Gets All Files of a Package
/v1/packages/{owner}/{type}/{name}/{version}/files
MCP Tools
gets-all-packages-owner
Gets All Packages of an Owner
read-only
idempotent
gets-all-versions-package
Gets All Versions of a Package
read-only
idempotent
delete-package
Delete a Package
idempotent
gets-latest-version-package
Gets the Latest Version of a Package
read-only
idempotent
link-package-repository
Link a Package to a Repository
unlink-package-repository
Unlink a Package from a Repository
gets-package
Gets a Package
read-only
idempotent
delete-package-version
Delete a Package Version
idempotent
gets-all-files-package
Gets All Files of a Package
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Gitea API — package
description: 'Gitea API — package. 9 operations. Lead operation: Gets All Packages of an Owner. Self-contained Naftiko capability
covering one Gitea business surface.'
tags:
- Gitea
- package
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GITEA_API_KEY: GITEA_API_KEY
capability:
consumes:
- type: http
namespace: rest-package
baseUri: https://gitea.com/api/v1
description: Gitea API — package business capability. Self-contained, no shared references.
resources:
- name: packages-owner
path: /packages/{owner}
operations:
- name: listpackages
method: GET
description: Gets All Packages of an Owner
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the packages
required: true
- name: page
in: query
type: integer
description: page number of results to return (1-based)
- name: limit
in: query
type: integer
description: page size of results
- name: type
in: query
type: string
description: package type filter
- name: q
in: query
type: string
description: name filter
- name: packages-owner-type-name
path: /packages/{owner}/{type}/{name}
operations:
- name: listpackageversions
method: GET
description: Gets All Versions of a Package
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: page
in: query
type: integer
description: page number of results to return (1-based)
- name: limit
in: query
type: integer
description: page size of results
- name: deletepackage
method: DELETE
description: Delete a Package
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: packages-owner-type-name---latest
path: /packages/{owner}/{type}/{name}/-/latest
operations:
- name: getlatestpackageversion
method: GET
description: Gets the Latest Version of a Package
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: packages-owner-type-name---link-repo_name
path: /packages/{owner}/{type}/{name}/-/link/{repo_name}
operations:
- name: linkpackage
method: POST
description: Link a Package to a Repository
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: repo_name
in: path
type: string
description: name of the repository to link.
required: true
- name: packages-owner-type-name---unlink
path: /packages/{owner}/{type}/{name}/-/unlink
operations:
- name: unlinkpackage
method: POST
description: Unlink a Package from a Repository
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: packages-owner-type-name-version
path: /packages/{owner}/{type}/{name}/{version}
operations:
- name: getpackage
method: GET
description: Gets a Package
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: version
in: path
type: string
description: version of the package
required: true
- name: deletepackageversion
method: DELETE
description: Delete a Package Version
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: version
in: path
type: string
description: version of the package
required: true
- name: packages-owner-type-name-version-files
path: /packages/{owner}/{type}/{name}/{version}/files
operations:
- name: listpackagefiles
method: GET
description: Gets All Files of a Package
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: owner
in: path
type: string
description: owner of the package
required: true
- name: type
in: path
type: string
description: type of the package
required: true
- name: name
in: path
type: string
description: name of the package
required: true
- name: version
in: path
type: string
description: version of the package
required: true
authentication:
type: apikey
key: access_token
value: '{{env.GITEA_API_KEY}}'
placement: query
exposes:
- type: rest
namespace: rest-package-rest
port: 8080
description: REST adapter for Gitea API — package. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/packages/{owner}
name: packages-owner
description: REST surface for packages-owner.
operations:
- method: GET
name: listpackages
description: Gets All Packages of an Owner
call: rest-package.listpackages
with:
owner: rest.owner
page: rest.page
limit: rest.limit
type: rest.type
q: rest.q
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}
name: packages-owner-type-name
description: REST surface for packages-owner-type-name.
operations:
- method: GET
name: listpackageversions
description: Gets All Versions of a Package
call: rest-package.listpackageversions
with:
owner: rest.owner
type: rest.type
name: rest.name
page: rest.page
limit: rest.limit
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletepackage
description: Delete a Package
call: rest-package.deletepackage
with:
owner: rest.owner
type: rest.type
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}//latest
name: packages-owner-type-name-latest
description: REST surface for packages-owner-type-name---latest.
operations:
- method: GET
name: getlatestpackageversion
description: Gets the Latest Version of a Package
call: rest-package.getlatestpackageversion
with:
owner: rest.owner
type: rest.type
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}//link/{repo-name}
name: packages-owner-type-name-link-repo-name
description: REST surface for packages-owner-type-name---link-repo_name.
operations:
- method: POST
name: linkpackage
description: Link a Package to a Repository
call: rest-package.linkpackage
with:
owner: rest.owner
type: rest.type
name: rest.name
repo_name: rest.repo_name
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}//unlink
name: packages-owner-type-name-unlink
description: REST surface for packages-owner-type-name---unlink.
operations:
- method: POST
name: unlinkpackage
description: Unlink a Package from a Repository
call: rest-package.unlinkpackage
with:
owner: rest.owner
type: rest.type
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}/{version}
name: packages-owner-type-name-version
description: REST surface for packages-owner-type-name-version.
operations:
- method: GET
name: getpackage
description: Gets a Package
call: rest-package.getpackage
with:
owner: rest.owner
type: rest.type
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletepackageversion
description: Delete a Package Version
call: rest-package.deletepackageversion
with:
owner: rest.owner
type: rest.type
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- path: /v1/packages/{owner}/{type}/{name}/{version}/files
name: packages-owner-type-name-version-files
description: REST surface for packages-owner-type-name-version-files.
operations:
- method: GET
name: listpackagefiles
description: Gets All Files of a Package
call: rest-package.listpackagefiles
with:
owner: rest.owner
type: rest.type
name: rest.name
version: rest.version
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: rest-package-mcp
port: 9090
transport: http
description: MCP adapter for Gitea API — package. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: gets-all-packages-owner
description: Gets All Packages of an Owner
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-package.listpackages
with:
owner: tools.owner
page: tools.page
limit: tools.limit
type: tools.type
q: tools.q
outputParameters:
- type: object
mapping: $.
- name: gets-all-versions-package
description: Gets All Versions of a Package
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-package.listpackageversions
with:
owner: tools.owner
type: tools.type
name: tools.name
page: tools.page
limit: tools.limit
outputParameters:
- type: object
mapping: $.
- name: delete-package
description: Delete a Package
hints:
readOnly: false
destructive: true
idempotent: true
call: rest-package.deletepackage
with:
owner: tools.owner
type: tools.type
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: gets-latest-version-package
description: Gets the Latest Version of a Package
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-package.getlatestpackageversion
with:
owner: tools.owner
type: tools.type
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: link-package-repository
description: Link a Package to a Repository
hints:
readOnly: false
destructive: false
idempotent: false
call: rest-package.linkpackage
with:
owner: tools.owner
type: tools.type
name: tools.name
repo_name: tools.repo_name
outputParameters:
- type: object
mapping: $.
- name: unlink-package-repository
description: Unlink a Package from a Repository
hints:
readOnly: false
destructive: false
idempotent: false
call: rest-package.unlinkpackage
with:
owner: tools.owner
type: tools.type
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: gets-package
description: Gets a Package
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-package.getpackage
with:
owner: tools.owner
type: tools.type
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: delete-package-version
description: Delete a Package Version
hints:
readOnly: false
destructive: true
idempotent: true
call: rest-package.deletepackageversion
with:
owner: tools.owner
type: tools.type
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.
- name: gets-all-files-package
description: Gets All Files of a Package
hints:
readOnly: true
destructive: false
idempotent: true
call: rest-package.listpackagefiles
with:
owner: tools.owner
type: tools.type
name: tools.name
version: tools.version
outputParameters:
- type: object
mapping: $.