Skip to content

Open Build Service API API

by opensuse.org

HTTP BasicHTTPSDevelopment
Open documentation ↗

Overview

The _Open Build Service API_ is a XML API. To authenticate, use [HTTP basic authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) by passing the _Authorization_ header in the form of `Authorization: Basic <credentials>`. There is no API versioning as there is no need for it right now. Only rudimentary rate limiting is implemented, so please be gentle when using the API concurrently, especially with potentially expensive operations. In case of abuse, we will limit/remove your access. For command-line users, we recommend using [osc](https://github.com/openSUSE/osc) with its _api_ command to interact with the API. It's as simple as this example: `osc api /about` (_about_ is one of the endpoints documented below)

Open Build Service API is a development API from opensuse.org. Requests are authenticated with HTTP Basic auth. It is served over HTTPS. Its OpenAPI description documents 81 endpoints.

At a glance

Authentication
HTTP Basic
HTTPS
Yes
CORS
Unknown
Category
Development
Version
2.10.50
Endpoints
81
Spec updated
2021-08-02

Endpoints

MethodPathWhat it does
GET/aboutGet information about API.
GET/architecturesList all known architectures.
GET/architectures/{architecture_name}Show one architecture.
GET/attributeList all attribute namespaces.
GET/attribute/{namespace}List all attributes below a namespace.
DELETE/attribute/{namespace}Delete an attribute namespace and all attributes below.
GET/attribute/{namespace}/_metaShow attribute namespace.
POST/attribute/{namespace}/_metaChange attribute namespace. Create an attribute namespace if it doesn't exist.
PUT/attribute/{namespace}/_metaChange attribute namespace. Create an attribute namespace if it doesn't exist.
DELETE/attribute/{namespace}/_metaDelete an attribute namespace and all attributes below.
DELETE/attribute/{namespace}/{attribute_name}Delete an attribute and all its values in projects or packages.
GET/attribute/{namespace}/{attribute_name}/_metaShows attribute.
POST/attribute/{namespace}/{attribute_name}/_metaChange attribute data. Create an attribute if it doesn't exist.
PUT/attribute/{namespace}/{attribute_name}/_metaChange attribute data. Create an attribute if it doesn't exist.
DELETE/attribute/{namespace}/{attribute_name}/_metaDelete an attribute and all its values in projects or packages.
GET/buildGet a simple directory listing of all projects
GET/build/{project_name}Get a simple directory listing of all repositories for the specified project
POST/build/{project_name}Apply different actions on builds/build processes of the specified project
GET/build/{project_name}/_resultGet the build results for packages, architectures and repositories of the specified project.
GET/build/{project_name}/{repository_name}List of all architectures the specified project builds against a given repository.
GET/build/{project_name}/{repository_name}/_buildconfigShow the build configuration for the specified repository.
GET/build/{project_name}/{repository_name}/{architecture_name}/_builddepinfoShow the build dependencies of packages that are part of the project.
GET/build/{project_name}/{repository_name}/{architecture_name}/_repositoryList all binaries (produced by all packages of the given project).
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}List binaries built by the sources of the specified package.
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_buildinfoThis endpoint returns information about some specific artifact
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_historyThis endpoint returns the build history for a specific artifact
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_jobstatusShow the build status of a currently running build job.
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_logThis endpoint returns the last log file for a specific build artifact
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_reasonShow the reason for the lastly triggered build.
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_statusThis endpoint returns the building status for a specific artifact
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/{file_name}Return a specific artifact file contents
PUT/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/{file_name}Update a specific artifact file contents
GET/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/{file_name}?view=fileinfoThis endpoint returns details about an specific artifact
GET/configurationDisplay the configuration of this Open Build Service instance
PUT/configurationUpdate the configuration of this Open Build Service instance
GET/distributionsList all distributions.
POST/distributionsCreate a distribution.
PUT/distributions/bulk_replaceBulk replace all distributions.
GET/distributions/include_remotesList all distributions including remote.
GET/distributions/{distribution_id}Show a distribution.
PUT/distributions/{distribution_id}Update a distribution.
DELETE/distributions/{distribution_id}Delete a distribution.
GET/groupList available groups.
GET/group/{group_title}Read group data.
POST/group/{group_title}Modify group data.
PUT/group/{group_title}Write group data.
DELETE/group/{group_title}Delete a group.
GET/issue_trackersGet the list of issue trackers.
POST/issue_trackersCreate an issue tracker.
GET/issue_trackers/{issue_tracker_name}Show an issue tracker.
PUT/issue_trackers/{issue_tracker_name}Update or create an issue tracker.
DELETE/issue_trackers/{issue_tracker_name}Delete an issue tracker.
GET/issue_trackers/{issue_tracker_name}/issues/{issue_name}Show an issue of an issue tracker.
GET/personList all people.
POST/personExecutes a command on the person endpoint.
POST/person/registerRegisters a new person
GET/person/{login}Get details about a person
POST/person/{login}Perform changes on a registered person
PUT/person/{login}Update person
GET/person/{login}/groupList the groups of a person
GET/person/{login}/tokenList the authentication tokens of a person.
POST/person/{login}/tokenCreate a new authentication token for a person.
DELETE/person/{login}/token/{id}Delete a token of a person.
GET/publishedList all the published projects.
GET/published/{project_name}List the repositories of a project with published binaries
GET/published/{project_name}/{repository_name}List the content of the directory tree where the binaries are published at the level project/repository.
GET/published/{project_name}/{repository_name}/{architecture_name}List the content of the directory tree where the binaries are published at the level project/repository/architecture.
GET/published/{project_name}/{repository_name}/{architecture_name}/{binary_filename}Return the binary file itself.
GET/published/{project_name}/{repository_name}/{architecture_name}/{binary_filename}?view=ympGenerate a ymp pattern that includes the needed repositories to install the given binary.
GET/published/{project_name}/{repository_name}?view=statusPresent information about the last publication of the pair project and repository.
GET/requestGet a simple directory listing of all requests
POST/requestCreate a request
GET/request/{id}Show details about a specified request.
POST/request/{id}Apply certain actions on a specified request.
PUT/request/{id}Modify a given request.
DELETE/request/{id}Delete a given request.
POST/request/{id}?cmd=diffGet the diff for all packages affected by the request.
GET/request?view=collectionGet a collection of requests for a specified target
GET/worker/statusLists status of workers, jobs, backend services and general statistics.
GET/worker/{architecture_name}:{worker_id}Lists capabilites of a worker.
POST/worker?cmd=checkconstraintsLists workers which match a constraints filter.

Questions

Does the Open Build Service API API need an API key?

Yes. The Open Build Service API API uses HTTP Basic authentication; the documentation explains how to get credentials.

Does the Open Build Service API API support HTTPS?

Yes, the Open Build Service API API is served over HTTPS.

How many endpoints does the Open Build Service API API have?

Its OpenAPI description lists 81 endpoints in version 2.10.50. All of them are shown on this page.

What are alternatives to the Open Build Service API API?

Other Development APIs include Cloudflare, Azure DevOps, IPify, App Store Connect API, StackExchange.

Compare alternatives →

Listed from APIs.guru (CC0).