These endpoints are under development and are not ready for production use due to limited functionality. The package endpoints are used by Debian package clients such as dput and apt-get, and are generally not meant for manual consumption.

Use this API to manage Debian distributions for groups and projects, and to publish and retrieve Debian packages. The distribution endpoints are behind a feature flag that is disabled by default. To use them, enable the group or project Debian API.

These endpoints do not adhere to the standard API authentication methods. For the supported headers and token types, see the Debian registry documentation. Undocumented authentication methods might be removed in the future.

List all Debian group distributions

GET /api/v4/groups/{id}/-/debian_distributions

Lists all Debian distributions for a specified group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
codename
Query
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
suite
Query
StringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
origin
Query
StringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
label
Query
StringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
version
Query
StringThe Debian Version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 12
description
Query
StringThe Debian Description
Example: My description
valid_time_duration_seconds
Query
IntegerThe duration before the Release file should be considered expired by the client
Example: 604800
components
Query
Array of stringsThe list of Components
Example: ["main"]
architectures
Query
Array of stringsThe list of Architectures
Example: ["amd64"]

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Create a Debian group distribution

POST /api/v4/groups/{id}/-/debian_distributions

Creates a Debian group distribution for a specified group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group

Request body (application/json)

PropertyTypeDescription
architecturesArray of stringsThe list of Architectures
codename
Required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
componentsArray of stringsThe list of Components
descriptionStringThe Debian Description
Example: My description
labelStringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
originStringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
suiteStringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
valid_time_duration_secondsIntegerThe duration before the Release file should be considered expired by the client
Example: 604800

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Retrieve a Debian group distribution

GET /api/v4/groups/{id}/-/debian_distributions/{codename}

Retrieves a specified Debian group distribution for a group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Update a Debian group distribution

PUT /api/v4/groups/{id}/-/debian_distributions/{codename}

Updates a specified Debian group distribution for a group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Request body (application/json)

PropertyTypeDescription
architecturesArray of stringsThe list of Architectures
componentsArray of stringsThe list of Components
descriptionStringThe Debian Description
Example: My description
labelStringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
originStringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
suiteStringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
valid_time_duration_secondsIntegerThe duration before the Release file should be considered expired by the client
Example: 604800

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Delete a Debian group distribution

DELETE /api/v4/groups/{id}/-/debian_distributions/{codename}

Deletes a specified Debian group distribution for a group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
suite
Query
StringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
origin
Query
StringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
label
Query
StringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
version
Query
StringThe Debian Version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 12
description
Query
StringThe Debian Description
Example: My description
valid_time_duration_seconds
Query
IntegerThe duration before the Release file should be considered expired by the client
Example: 604800
components
Query
Array of stringsThe list of Components
Example: ["main"]
architectures
Query
Array of stringsThe list of Architectures
Example: ["amd64"]

Responses

CodeDescriptionSchema
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Retrieve a Debian group distribution key

GET /api/v4/groups/{id}/-/debian_distributions/{codename}/key.asc

Retrieves a specified Debian group distribution key for a group.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the group
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The signed Release file

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/InRelease

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The unsigned Release file

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/Release

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The Release file signature

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/Release.gpg

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The binary files index

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/binary-{architecture}/Packages

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The binary files index by hash

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/binary-{architecture}/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The installer (udeb) binary files index

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/debian-installer/binary-{architecture}/Packages

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The installer (udeb) binary files index by hash

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/debian-installer/binary-{architecture}/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The source files index

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/source/Sources

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The source files index by hash

GET /api/v4/groups/{id}/-/packages/debian/dists/{distribution}/{component}/source/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Download Debian package

GET /api/v4/groups/{id}/-/packages/debian/pool/{distribution}/{project_id}/{letter}/{package_name}/{package_version}/{file_name}

This feature was introduced in GitLab 14.2

Parameters

NameTypeDescription
id
Path, required
String or integerThe group ID or full group path
project_id
Path, required
IntegerThe Project Id
distribution
Path, required
StringThe Debian distribution name
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: my-distro
letter
Path, required
StringThe package name first letter
Example: a
package_name
Path, required
StringThe package name
Pattern: ^[a-z0-9][\-+.a-z0-9]+$
Example: my-pkg
package_version
Path, required
StringThe package version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 1.0.0
file_name
Path, required
StringThe package file name
Example: example_1.0.0~alpha2_amd64.deb

Responses

CodeDescriptionSchema
200OKString (binary) (application/octet-stream)
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

List all Debian project distributions

GET /api/v4/projects/{id}/debian_distributions

Lists all Debian distributions for a specified project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
page
Query
IntegerCurrent page number
Default: 1
Example: 1
per_page
Query
IntegerNumber of items per page
Default: 20
Example: 20
codename
Query
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
suite
Query
StringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
origin
Query
StringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
label
Query
StringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
version
Query
StringThe Debian Version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 12
description
Query
StringThe Debian Description
Example: My description
valid_time_duration_seconds
Query
IntegerThe duration before the Release file should be considered expired by the client
Example: 604800
components
Query
Array of stringsThe list of Components
Example: ["main"]
architectures
Query
Array of stringsThe list of Architectures
Example: ["amd64"]

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Create a Debian project distribution

POST /api/v4/projects/{id}/debian_distributions

Creates a Debian project distribution for a specified project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project

Request body (application/json)

PropertyTypeDescription
architecturesArray of stringsThe list of Architectures
codename
Required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
componentsArray of stringsThe list of Components
descriptionStringThe Debian Description
Example: My description
labelStringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
originStringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
suiteStringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
valid_time_duration_secondsIntegerThe duration before the Release file should be considered expired by the client
Example: 604800

Responses

CodeDescriptionSchema
201CreatedAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Retrieve a Debian project distribution

GET /api/v4/projects/{id}/debian_distributions/{codename}

Retrieves a specified Debian project distribution for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Update a Debian project distribution

PUT /api/v4/projects/{id}/debian_distributions/{codename}

Updates a specified Debian project distribution for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Request body (application/json)

PropertyTypeDescription
architecturesArray of stringsThe list of Architectures
componentsArray of stringsThe list of Components
descriptionStringThe Debian Description
Example: My description
labelStringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
originStringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
suiteStringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
valid_time_duration_secondsIntegerThe duration before the Release file should be considered expired by the client
Example: 604800

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Delete a Debian project distribution

DELETE /api/v4/projects/{id}/debian_distributions/{codename}

Deletes a specified Debian project distribution for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid
suite
Query
StringThe Debian Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: unstable
origin
Query
StringThe Debian Origin
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: Grep
label
Query
StringThe Debian Label
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: grep.be
version
Query
StringThe Debian Version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 12
description
Query
StringThe Debian Description
Example: My description
valid_time_duration_seconds
Query
IntegerThe duration before the Release file should be considered expired by the client
Example: 604800
components
Query
Array of stringsThe list of Components
Example: ["main"]
architectures
Query
Array of stringsThe list of Architectures
Example: ["amd64"]

Responses

CodeDescriptionSchema
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Retrieve a Debian project distribution key

GET /api/v4/projects/{id}/debian_distributions/{codename}/key.asc

Retrieves a specified Debian project distribution key for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
codename
Path, required
StringThe Debian Codename
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: sid

Responses

CodeDescriptionSchema
200OKAPIEntitiesPackagesDebianDistribution
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The signed Release file

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/InRelease

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The unsigned Release file

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/Release

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The Release file signature

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/Release.gpg

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The binary files index

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/binary-{architecture}/Packages

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The binary files index by hash

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/binary-{architecture}/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The installer (udeb) binary files index

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/debian-installer/binary-{architecture}/Packages

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The installer (udeb) binary files index by hash

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/debian-installer/binary-{architecture}/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
architecture
Path, required
StringThe Debian Architecture
Example: binary-amd64
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The source files index

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/source/Sources

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

The source files index by hash

GET /api/v4/projects/{id}/packages/debian/dists/{distribution}/{component}/source/by-hash/SHA256/{file_sha256}

This feature was introduced in GitLab 15.4

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Example: my-distro
component
Path, required
StringThe Debian Component
Example: main
file_sha256
Path, required
StringThe SHA256 checksum of the index file

Responses

CodeDescriptionSchema
200OK—
202Accepted—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Download a Debian package file

GET /api/v4/projects/{id}/packages/debian/pool/{distribution}/{letter}/{package_name}/{package_version}/{file_name}

Downloads a specified Debian package file for a project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
distribution
Path, required
StringThe Debian Codename or Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
Example: my-distro
letter
Path, required
StringThe Debian Classification (first-letter or lib-first-letter)
Example: a
package_name
Path, required
StringThe Debian Source Package Name
Pattern: ^[a-z0-9][\-+.a-z0-9]+$
Example: my-pkg
package_version
Path, required
StringThe Debian Source Package Version
Pattern: (?:^(?:(?:([0-9]{1,9}):)?([0-9][+.0-9A-Za-z~\u017F\u212A]*)(-[+.0-9A-Za-z~\u017F\u212A]+){0,14}(?<!-))$)
Example: 1.0.0
file_name
Path, required
StringThe Debian File Name
Example: example_1.0.0~alpha2_amd64.deb

Responses

CodeDescriptionSchema
200OKString (binary) (application/octet-stream)
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Upload a Debian package file

PUT /api/v4/projects/{id}/packages/debian/{file_name}

Uploads a Debian package file for a specified project.

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
file_name
Path, required
StringThe filename
Pattern: ^(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\n\uD800-\uDFFF])*\.(deb|udeb|ddeb)$
Example: example_1.0.0~alpha2_amd64.deb

Request body (multipart/form-data)

PropertyTypeDescription
component
Required
StringThe Debian Component
Pattern: ^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$
distributionStringThe Debian Codename or Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)
file
Required
String (binary)The package file to be published (generated by Multipart middleware)

Responses

CodeDescriptionSchema
201Created—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Authorize Debian package upload

PUT /api/v4/projects/{id}/packages/debian/{file_name}/authorize

This feature was introduced in GitLab 13.5

Parameters

NameTypeDescription
id
Path, required
String or integerThe ID or URL-encoded path of the project
file_name
Path, required
StringThe filename
Pattern: ^(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\n\uD800-\uDFFF])*\.(deb|udeb|ddeb)$
Example: example_1.0.0~alpha2_amd64.deb

Request body (application/json)

PropertyTypeDescription
component
Required
StringThe Debian Component
Pattern: ^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$
distributionStringThe Debian Codename or Suite
Pattern: (?:^(?:[0-9A-Za-z\u017F\u212A][\x2D.0-9A-Za-z\u017F\u212A]*)$)

Responses

CodeDescriptionSchema
200OK—
400Bad Request—
401Unauthorized—
403Forbidden—
404Not Found—

Schemas

Objects returned by the operations above and objects nested in their request bodies.

APIEntitiesPackagesDebianDistribution

PropertyTypeDescription
architecturesArray of stringsExample: ["amd64"]
codenameStringExample: sid
componentsArray of stringsExample: ["main"]
descriptionStringExample: My description
idInteger (int64)Example: 1
labelStringExample: grep.be
originStringExample: Grep
suiteStringExample: unstable
valid_time_duration_secondsIntegerExample: 604800
versionStringExample: 12