Rpm List
API endpoint that allows RPMs to be viewed.
Documents & examples
Method: GET
URL: /rest_api/v1/rpms/
Query params:
arch
(string)built_for_release
(string)compose
(string)conflicts
(string)epoch
(int)filename
(string)has_no_deps
(bool)linked_release
(string)name
(regular expression)obsoletes
(string)provides
(string)recommends
(string)release
(string)requires
(string)srpm_commit_branch
(string)srpm_commit_hash
(string)srpm_name
(string)srpm_nevra
(string | null)suggests
(string)version
(string)ordering
(string) Comma separated list of fields for ordering results.- To sort by a field in descending order, prefix its name with minus (e.g.
-name
). - Use double underscores for nested field names (e.g.
parent__child
for{"parent": {"child": ...}}
).
- To sort by a field in descending order, prefix its name with minus (e.g.
Following filters can be used to show only specific fields. This can make
response time faster. Format is list or single value
(JSON: {"fields": ["a","b"]}
or {"fields": "a"}
, in URL: ?fields=a&fields=b
).
fields
(list | string) Fields to display (other fields will be hidden).exclude_fields
: (list | string) Fields NOT to display (overrulesfields
).
If the has_no_deps
filter is used, the output will only contain RPMs
which have some or do not have any dependencies.
All the dependency filters use the same data format.
The simpler option is just name of the dependency. In that case it will filter RPMs that depend on that given name.
The other option is an expression NAME OP VERSION
. This will filter
all RPMs that have a dependency on NAME
such that adding this
constraint will not make the package dependencies inconsistent.
For example filtering by python=2.7.0
would include packages with
dependency on python=2.7.0
, python>=2.6.0
, python<3.0.0
and
python
, but exclude python=2.6.0
because it's not possible to use
python-2.6.0 package if the dependency filter specifies that the
package version should be greater or equal 2.6.0.
Another example: Dependency python<3.0.0
satisfies filter
python>=2.7.0
because it's possible to pick any version of python
between 2.7.0 (inclusive) up to 3.0.0 (exclusive) - e.g. python-2.7.0.
If dependency doesn't include version, it is satisfied by any filter.
Only single filter for each dependency type is allowed.
Multiple name
regular expressions which will be OR-ed. Preferably use OR inside the regexp.
Response: a paged list of following objects
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"id (read-only)": "int",
"linked_composes (read-only)": [
"compose_id"
],
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
Method: GET
URL: /rest_api/v1/rpms/{instance_pk}/
Response:
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"id (read-only)": "int",
"linked_composes (read-only)": [
"compose_id"
],
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
Method: POST
URL: /rest_api/v1/rpms/
Data:
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
The srpm_nevra
field should be empty if and only if arch
is src
.
If filename
is not specified, it will default to a name created from
NEVRA.
The format of each dependency is either just name of the package that
the new RPM depends on, or it can have the format NAME OP VERSION
,
where OP
can be any comparison operator. Recognized dependency types
are provides, requires, obsoletes, conflicts, suggests and
recommends
Response:
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"id (read-only)": "int",
"linked_composes (read-only)": [
"compose_id"
],
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
It is possible to create this resource in bulk. To do so, use the same procedure as when creating a single instance, only the request body should contain a list of JSON objects. The response you get back will also contain a list of values which you would obtain by submitting the request data separately.
When using the PUT
method, if an optional field is not specified in the input, it will be erased.
Method: PUT
, PATCH
URL: /rest_api/v1/rpms/{instance_pk}/
Data:
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
If the dependencies
key is omitted on PATCH
request, they will not
be changed. On PUT
request, they will be completely removed. When a
value is specified, it completely replaces existing dependencies.
The format of the dependencies themselves is same as for create.
Response:
{
"arch": "string",
"built_for_release (optional, default=null, nullable)": "Release.release_id",
"dependencies (optional, default={})": {
"conflicts": [
"string"
],
"obsoletes": [
"string"
],
"provides": [
"string"
],
"recommends": [
"string"
],
"requires": [
"string"
],
"suggests": [
"string"
]
},
"epoch": "int",
"filename (optional, default=\"{name}-{version}-{release}.{arch}.rpm\")": "string",
"id (read-only)": "int",
"linked_composes (read-only)": [
"compose_id"
],
"linked_releases (optional, default=[])": [
"Release.release_id"
],
"name": "string",
"release": "string",
"srpm_commit_branch (optional, default=null, nullable)": "string",
"srpm_commit_hash (optional, default=null, nullable)": "string",
"srpm_name": "string",
"srpm_nevra (optional, default=null)": "string",
"version": "string"
}
It is possible to update multiple objects in one request. Use the PUT
or
PATCH
method with the same url as for listing/creating objects. The
request body should contain an object, where keys are identifiers of
objects to be modified and their values use the same format as normal
update.
Browsable GET
GET /rest_api/v1/rpms/?page=2
https://pdc.fedoraproject.org/rest_api/v1/rpms/?page=3", "previous": "https://pdc.fedoraproject.org/rest_api/v1/rpms/", "results": [ { "id": 21, "name": "urw-fonts", "version": "2.4", "epoch": 3, "release": "21.fc23", "arch": "noarch", "srpm_name": "urw-fonts", "srpm_nevra": "urw-fonts-3:2.4-21.fc23.src", "filename": "urw-fonts-2.4-21.fc23.noarch.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 22, "name": "urw-fonts", "version": "2.4", "epoch": 3, "release": "21.fc23", "arch": "src", "srpm_name": "urw-fonts", "srpm_nevra": "urw-fonts-3:2.4-21.fc23.src", "filename": "urw-fonts-2.4-21.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 23, "name": "pdns", "version": "4.0.0", "epoch": 0, "release": "0.2.alpha1.fc24", "arch": "src", "srpm_name": "pdns", "srpm_nevra": "pdns-0:4.0.0-0.2.alpha1.fc24.src", "filename": "pdns-4.0.0-0.2.alpha1.fc24.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 24, "name": "pdns", "version": "4.0.0", "epoch": 0, "release": "0.2.alpha1.fc24", "arch": "x86_64", "srpm_name": "pdns", "srpm_nevra": "pdns-0:4.0.0-0.2.alpha1.fc24.src", "filename": "pdns-4.0.0-0.2.alpha1.fc24.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 25, "name": "pdns-debuginfo", "version": "4.0.0", "epoch": 0, "release": "0.2.alpha1.fc24", "arch": "x86_64", "srpm_name": "pdns", "srpm_nevra": "pdns-0:4.0.0-0.2.alpha1.fc24.src", "filename": "pdns-debuginfo-4.0.0-0.2.alpha1.fc24.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 26, "name": "perl-MIME-Base64-debuginfo", "version": "3.15", "epoch": 0, "release": "348.fc23", "arch": "x86_64", "srpm_name": "perl-MIME-Base64", "srpm_nevra": "perl-MIME-Base64-0:3.15-348.fc23.src", "filename": "perl-MIME-Base64-debuginfo-3.15-348.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 27, "name": "perl-MIME-Base64", "version": "3.15", "epoch": 0, "release": "348.fc23", "arch": "src", "srpm_name": "perl-MIME-Base64", "srpm_nevra": "perl-MIME-Base64-0:3.15-348.fc23.src", "filename": "perl-MIME-Base64-3.15-348.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 28, "name": "perl-MIME-Base64", "version": "3.15", "epoch": 0, "release": "348.fc23", "arch": "x86_64", "srpm_name": "perl-MIME-Base64", "srpm_nevra": "perl-MIME-Base64-0:3.15-348.fc23.src", "filename": "perl-MIME-Base64-3.15-348.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 29, "name": "hicolor-icon-theme", "version": "0.15", "epoch": 0, "release": "2.fc23", "arch": "src", "srpm_name": "hicolor-icon-theme", "srpm_nevra": "hicolor-icon-theme-0:0.15-2.fc23.src", "filename": "hicolor-icon-theme-0.15-2.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 30, "name": "hicolor-icon-theme", "version": "0.15", "epoch": 0, "release": "2.fc23", "arch": "noarch", "srpm_name": "hicolor-icon-theme", "srpm_nevra": "hicolor-icon-theme-0:0.15-2.fc23.src", "filename": "hicolor-icon-theme-0.15-2.fc23.noarch.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 31, "name": "hunspell-sw", "version": "0.20050819", "epoch": 0, "release": "11.fc23", "arch": "src", "srpm_name": "hunspell-sw", "srpm_nevra": "hunspell-sw-0:0.20050819-11.fc23.src", "filename": "hunspell-sw-0.20050819-11.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 32, "name": "hunspell-sw", "version": "0.20050819", "epoch": 0, "release": "11.fc23", "arch": "noarch", "srpm_name": "hunspell-sw", "srpm_nevra": "hunspell-sw-0:0.20050819-11.fc23.src", "filename": "hunspell-sw-0.20050819-11.fc23.noarch.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 33, "name": "perl-Mozilla-LDAP", "version": "1.5.3", "epoch": 0, "release": "17.fc23", "arch": "x86_64", "srpm_name": "perl-Mozilla-LDAP", "srpm_nevra": "perl-Mozilla-LDAP-0:1.5.3-17.fc23.src", "filename": "perl-Mozilla-LDAP-1.5.3-17.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 34, "name": "perl-Mozilla-LDAP", "version": "1.5.3", "epoch": 0, "release": "17.fc23", "arch": "src", "srpm_name": "perl-Mozilla-LDAP", "srpm_nevra": "perl-Mozilla-LDAP-0:1.5.3-17.fc23.src", "filename": "perl-Mozilla-LDAP-1.5.3-17.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 35, "name": "perl-Mozilla-LDAP-debuginfo", "version": "1.5.3", "epoch": 0, "release": "17.fc23", "arch": "x86_64", "srpm_name": "perl-Mozilla-LDAP", "srpm_nevra": "perl-Mozilla-LDAP-0:1.5.3-17.fc23.src", "filename": "perl-Mozilla-LDAP-debuginfo-1.5.3-17.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 36, "name": "aspell-sk", "version": "2.01", "epoch": 0, "release": "11.fc23", "arch": "src", "srpm_name": "aspell-sk", "srpm_nevra": "aspell-sk-0:2.01-11.fc23.src", "filename": "aspell-sk-2.01-11.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 37, "name": "aspell-sk", "version": "2.01", "epoch": 0, "release": "11.fc23", "arch": "x86_64", "srpm_name": "aspell-sk", "srpm_nevra": "aspell-sk-0:2.01-11.fc23.src", "filename": "aspell-sk-2.01-11.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 38, "name": "libXft", "version": "2.3.2", "epoch": 0, "release": "3.fc23", "arch": "x86_64", "srpm_name": "libXft", "srpm_nevra": "libXft-0:2.3.2-3.fc23.src", "filename": "libXft-2.3.2-3.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 39, "name": "libXft-debuginfo", "version": "2.3.2", "epoch": 0, "release": "3.fc23", "arch": "x86_64", "srpm_name": "libXft", "srpm_nevra": "libXft-0:2.3.2-3.fc23.src", "filename": "libXft-debuginfo-2.3.2-3.fc23.x86_64.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null }, { "id": 40, "name": "libXft", "version": "2.3.2", "epoch": 0, "release": "3.fc23", "arch": "src", "srpm_name": "libXft", "srpm_nevra": "libXft-0:2.3.2-3.fc23.src", "filename": "libXft-2.3.2-3.fc23.src.rpm", "linked_releases": [], "linked_composes": [ "Fedora-24-20160202.n.0", "Fedora-24-20160203.n.0", "Fedora-24-20160203.n.1", "Fedora-24-20160204.n.0" ], "dependencies": { "recommends": [], "suggests": [], "obsoletes": [], "provides": [], "conflicts": [], "requires": [] }, "built_for_release": null, "srpm_commit_hash": null, "srpm_commit_branch": null } ] }{ "count": 19404530, "next": "