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
- OpenAPI
- Specification ↗
- Spec updated
- 2021-08-02
Endpoints
| Method | Path | What it does |
|---|---|---|
| GET | /about | Get information about API. |
| GET | /architectures | List all known architectures. |
| GET | /architectures/{architecture_name} | Show one architecture. |
| GET | /attribute | List 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}/_meta | Show attribute namespace. |
| POST | /attribute/{namespace}/_meta | Change attribute namespace. Create an attribute namespace if it doesn't exist. |
| PUT | /attribute/{namespace}/_meta | Change attribute namespace. Create an attribute namespace if it doesn't exist. |
| DELETE | /attribute/{namespace}/_meta | Delete 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}/_meta | Shows attribute. |
| POST | /attribute/{namespace}/{attribute_name}/_meta | Change attribute data. Create an attribute if it doesn't exist. |
| PUT | /attribute/{namespace}/{attribute_name}/_meta | Change attribute data. Create an attribute if it doesn't exist. |
| DELETE | /attribute/{namespace}/{attribute_name}/_meta | Delete an attribute and all its values in projects or packages. |
| GET | /build | Get 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}/_result | Get 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}/_buildconfig | Show the build configuration for the specified repository. |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/_builddepinfo | Show the build dependencies of packages that are part of the project. |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/_repository | List 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}/_buildinfo | This endpoint returns information about some specific artifact |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_history | This endpoint returns the build history for a specific artifact |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_jobstatus | Show the build status of a currently running build job. |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_log | This endpoint returns the last log file for a specific build artifact |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_reason | Show the reason for the lastly triggered build. |
| GET | /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_status | This 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=fileinfo | This endpoint returns details about an specific artifact |
| GET | /configuration | Display the configuration of this Open Build Service instance |
| PUT | /configuration | Update the configuration of this Open Build Service instance |
| GET | /distributions | List all distributions. |
| POST | /distributions | Create a distribution. |
| PUT | /distributions/bulk_replace | Bulk replace all distributions. |
| GET | /distributions/include_remotes | List 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 | /group | List 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_trackers | Get the list of issue trackers. |
| POST | /issue_trackers | Create 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 | /person | List all people. |
| POST | /person | Executes a command on the person endpoint. |
| POST | /person/register | Registers 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}/group | List the groups of a person |
| GET | /person/{login}/token | List the authentication tokens of a person. |
| POST | /person/{login}/token | Create a new authentication token for a person. |
| DELETE | /person/{login}/token/{id} | Delete a token of a person. |
| GET | /published | List 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=ymp | Generate a ymp pattern that includes the needed repositories to install the given binary. |
| GET | /published/{project_name}/{repository_name}?view=status | Present information about the last publication of the pair project and repository. |
| GET | /request | Get a simple directory listing of all requests |
| POST | /request | Create 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=diff | Get the diff for all packages affected by the request. |
| GET | /request?view=collection | Get a collection of requests for a specified target |
| GET | /worker/status | Lists status of workers, jobs, backend services and general statistics. |
| GET | /worker/{architecture_name}:{worker_id} | Lists capabilites of a worker. |
| POST | /worker?cmd=checkconstraints | Lists 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.
Similar development APIs
Compare alternatives →Cloudflare
DevelopmentManage DNS, CDN, Workers and other services; documented with an official OpenAPI 3.0 spec
Azure DevOps
DevelopmentThe Azure DevOps basic components of a REST API request/response pair
IPify
DevelopmentA simple IP Address API
App Store Connect API
DevelopmentThe data structure that represents an app store connect api resource.
StackExchange
DevelopmentQ&A forum for developers
IPinfo
DevelopmentAnother simple IP Address API
Listed from APIs.guru (CC0).