Endpoints

Based on the users we identified, we have identified the endpoints our scripts and services are actually using.

/rest_api/v1/global-components/?name={{name}}

{
  "dist_git_path": null, # dont use these
  "dist_git_web_url": "https://src.fedoraproject.org/cgit/rpms/gnupg2.git", # generated from name
  "id": 20,
  "labels": [], # we don't use these
  "name": "gnupg2",
  "upstream": null # we don't use this
}

/rest_api/v1/component-branches/

{
  "active": true, # I don't know where do we store this?
  "critical_path": false,
  "global_component": "0ad",
  "id": 501964,
  "name": "f34",
  "slas": [
      {
          "eol": "2022-03-08",
          "id": 1003101,
          "sla": "security_fixes"
      },
      {
          "eol": "2022-03-08",
          "id": 1003102,
          "sla": "bug_fixes"
      }
  ],
  "type": "rpm" #   | rpm  | container | zip | iso | composite | module | flatpak

}

rest_api/v1/component-branch-slas/

Couldn’t find the shape without authenticating

rest_api/v1/compose-images/

stores composeinfo.json and image-manifest.json gives ability to retrieve list of images in specified compose

{
    "header": {
        "type": "productmd.images",
        "version": "1.2"
    },
    "payload": {
        "compose": {
            "date": "20160416",
            "id": "Fedora-Rawhide-20160416.n.0",
            "respin": 0,
            "type": "nightly"
        },
        "images": {
            "Workstation": {
                "x86_64": [
                    {
                        "arch": "x86_64",
                        "bootable": true,
                        "checksums": {
                            "sha256": "a7cbd69cc5c96dbf0e0f39d29b09c27844af677a602f512672527a5f7a91000c"
                        },
                        "disc_count": 1,
                        "disc_number": 1,
                        "format": "iso",
                        "implant_md5": "ea67ef79f3374d91735008148de4146e",
                        "mtime": 1460789082,
                        "path": "Workstation/x86_64/iso/Fedora-Workstation-netinst-x86_64-Rawhide-20160416.n.0.iso",
                        "size": 426770432,
                        "subvariant": "Workstation",
                        "type": "boot",
                        "volume_id": "Fedora-WS-dvd-x86_64-rawh"
                    }
                ]
            }
        }
    }
}

/rest_api/v1/releases

{
            "active": false,
            "allow_buildroot_push": false,
            "allowed_debuginfo_services": [],
            "allowed_push_targets": [],
            "base_product": null,
            "bugzilla": null,
            "compose_set": [],
            "dist_git": {
                "branch": "f25"
            },
            "integrated_with": null,
            "name": "Fedora Updates",
            "product_version": "fedora-25",
            "release_id": "fedora-25-updates",
            "release_type": "updates",
            "short": "fedora",
            "sigkey": null,
            "version": "25"
        },

rest_api/v1/rpms

{
    "count": 12473109,
    "next": "https://pdc.fedoraproject.org/rest_api/v1/rpms/?page=2",
    "previous": null,
    "results": [
{
            "arch": "x86_64",
            "built_for_release": null,
            "dependencies": {
                "conflicts": [],
                "obsoletes": [],
                "provides": [],
                "recommends": [],
                "requires": [],
                "suggests": []
            },
            "epoch": 0,
            "filename": "readline-6.3-7.fc24.x86_64.rpm",
            "id": 20,
            "linked_composes": [
                "Fedora-24-20160202.n.0",
                "Fedora-24-20160203.n.0",
                "Fedora-24-20160203.n.1",
                "Fedora-24-20160204.n.0"
            ],
            "linked_releases": [],
            "name": "readline",
            "release": "7.fc24",
            "srpm_commit_branch": null,
            "srpm_commit_hash": null,
            "srpm_name": "readline",
            "srpm_nevra": "readline-0:6.3-7.fc24.src",
            "version": "6.3"
        } ] }

/rest_api/v1/product-versions

{
    "active": true,
    "allowed_push_targets": [],
    "name": "fedora 34",
    "product": "fedora",
    "product_version_id": "fedora-34",
    "releases": [
        "fedora-34"
    ],
    "short": "fedora",
    "version": "34"
},
{
    "active": true,
    "allowed_push_targets": [],
    "name": "fedora rawhide",
    "product": "fedora",
    "product_version_id": "fedora-rawhide",
    "releases": [
        "fedora-Rawhide",
        "fedora-modular-Rawhide"
    ],
    "short": "fedora",
    "version": "rawhide"
}