This is the API documentation for Debian.
This API is used by the Debian related package clients such as dput and apt-get, and is generally not meant for manual consumption. This API is under development and is not ready for production use due to limited functionality.
For instructions on how to upload and install Debian packages from the GitLab package registry, see the Debian registry documentation.
These endpoints do not adhere to the standard API authentication methods. See the Debian registry documentation for details on which headers and token types are supported. Undocumented authentication methods might be removed in the future.
Enable the Debian APIThe Debian API is behind a feature flag that is disabled by default. GitLab administrators with access to the GitLab Rails console can opt to enable it. To enable it, follow the instructions in Enable the Debian API.
Enable the Debian group APIThe Debian group API is behind a feature flag that is disabled by default. GitLab administrators with access to the GitLab Rails console can opt to enable it. To enable it, follow the instructions in Enable the Debian group API.
Authenticate to the Debian Package RepositoriesSee Authenticate to the Debian Package Repositories.
Upload a package fileHistory
Upload a Debian package file:
PUT projects/:id/packages/debian/:file_name
Attribute Type Required Description id
string yes The ID or full path of the project. file_name
string yes The name of the Debian package file. distribution
string no The distribution codename or suite. Used with component
for upload with explicit distribution and component. component
string no The package file component. Used with distribution
for upload with explicit distribution and component.
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file path/to/mypkg.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/mypkg.deb"
Upload with explicit distribution and component:
curl --request PUT \
--user "<username>:<personal_access_token>" \
--upload-file /path/to/myother.deb \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/myother.deb?distribution=sid&component=main"
Download a package
Download a package file.
GET projects/:id/packages/debian/pool/:distribution/:letter/:package_name/:package_version/:file_name
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. letter
string yes The Debian Classification (first-letter or lib-first-letter). package_name
string yes The source package name. package_version
string yes The source package version. file_name
string yes The filename.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/pool/my-distro/a/my-pkg/1.0.0/example_1.0.0~alpha2_amd64.deb" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Route prefixThe remaining endpoints described are two sets of identical routes that each make requests in different scopes:
The examples in this document all use the project-level prefix.
Project-level/projects/:id/packages/debian
Attribute Type Required Description id
string yes The project ID or full project path. Group-level
/groups/:id/-/packages/debian
Attribute Type Required Description id
string yes The project ID or full group path. Download a distribution Release file
Download a Debian distribution file.
GET <route-prefix>/dists/*distribution/Release
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a signed distribution Release fileDownload a signed Debian distribution file.
GET <route-prefix>/dists/*distribution/InRelease
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/InRelease" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a release file signatureDownload a Debian release file signature.
GET <route-prefix>/dists/*distribution/Release.gpg
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/Release.gpg" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a packages indexDownload a packages index.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/Packages
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name. architecture
string yes The distribution architecture type.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/Packages" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a packages index by hashHistory
Download a packages index by hash.
GET <route-prefix>/dists/*distribution/:component/binary-:architecture/by-hash/SHA256/:file_sha256
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name. architecture
string yes The distribution architecture type.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a Debian Installer packages indexHistory
Download a Debian Installer packages index.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/Packages
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name. architecture
string yes The distribution architecture type.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/Packages" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a Debian Installer packages index by hashHistory
Download a Debian Installer packages index by hash.
GET <route-prefix>/dists/*distribution/:component/debian-installer/binary-:architecture/by-hash/SHA256/:file_sha256
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name. architecture
string yes The distribution architecture type.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/debian-installer/binary-amd64/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a source packages indexHistory
Download a source packages index.
GET <route-prefix>/dists/*distribution/:component/source/Sources
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/Sources" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
Download a source packages index by hashHistory
Download a source packages index by hash.
GET <route-prefix>/dists/*distribution/:component/source/by-hash/SHA256/:file_sha256
Attribute Type Required Description distribution
string yes The codename or suite of the Debian distribution. component
string yes The distribution component name.
curl --header "Private-Token: <personal_access_token>" "https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18"
Write the output to a file:
curl --header "Private-Token: <personal_access_token>" \
"https://gitlab.example.com/api/v4/projects/1/packages/debian/dists/my-distro/main/source/by-hash/SHA256/66a045b452102c59d840ec097d59d9467e13a3f34f6494e539ffd32c1bb35f18" \
--remote-name
This writes the downloaded file using the remote filename in the current directory.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4