--- openapi: 3.0.0 servers: - url: "/" tags: - name: Announcements - name: Attribute Namespaces - name: Attributes - name: Build - name: Comments - name: Configuration - name: Distributions - name: General Information - name: Groups - name: Issue Trackers - name: Notifications - name: Person - name: Published Binaries - name: Requests - name: Search description: | All endpoints besides the owner search listed in the search group use Xpath expressions. The `match` query parameter is used to pass the Xpath predicate. The individual endpoints refer to different objects like Packages, Projects, Issues and more... Please refer to the documentation of the individual search endpoints to know which attributes can be accessed through the predicate, and which extra query parameters are supported or might be required in order to run the search. These functions can be used with the predicates: `boolean`, `contains`, `not`, `starts_with`, `ends_with`. _Example_: For a list of all projects where the name starts with "OBS:". `/search/project?match=starts_with(@name,'OBS:')` More than one predicate can be combined with the following operators: `eq`, `and`, `or`, `neq`, `gt`, `lt`, `gteq`, `lteq`. _Example_: To receive details about the package "obs-server" that is part of the project "OBS:Server:Unstable". `/search/package?match=@name='obs-server'+and+@project='OBS:Server:Unstable'` - name: Sources - name: Sources - Projects - name: Sources - Packages - name: Sources - Files - name: Staging Workflow - name: Statistics - name: Status Messages - name: Status Project - name: Status Reports - name: Status Reports - Required Checks - name: Trigger - name: Workers info: description: | The _Open Build Service API_ is an XML API. To make sure you are querying the API and not the Web User Interface, provide the `Accept: application/xml; charset=utf-8` header in your API requests. 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 `. There is no API versioning, since 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. Your OBS Admin might have implemented other authentication schemes or stricter rate limiting in front of the application. Check the [site main page](/) for details. 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) In order to make sure that the XML that is send in a requests body is in the expected format, the API validates it. Either against a XML Schema Definition (`.xsd`) or a RELAX NG Schema (`.rng`). The schemas are mentioned in the endpoint documentation. If there is no schema file mentioned, no validation of the XML is done. In case the XML is not valid, a validation error is reported. The legacy API documentation is reachable [here](https://api.opensuse.org/apidocs-old/index). version: 2.10.50 title: Open Build Service API contact: url: https://openbuildservice.org/ name: Open Build Service license: url: https://github.com/openSUSE/open-build-service/blob/master/COPYING name: GNU General Public License v2.0 paths: "/about": get: summary: Get information about API. description: Get generic information about the API. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [about.xsd](../schema/about.xsd) content: application/xml; charset=utf-8: schema: type: object required: - title - description - revision properties: title: type: string example: Open Build Service API description: type: string example: API to the Open Build Service revision: type: string example: 2.11~alpha.20201110T101235.7b5d82e614 last_deployment: type: string example: '2020-11-10 15:07:02 +0000' commit: type: string example: 7b5d82e6143442a8eb8459f35cc94d2fbe263ebe xml: name: about tags: - General Information "/announcements": get: deprecated: true summary: List all announcements. description: List all messages from type announcement. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: status_message: type: array items: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message count: type: integer xml: attribute: true xml: name: status_messages example: count: 2 status_message: - id: 2 message: OBS 3.0 is released! user: Iggy severity: announcement scope: all_users created_at: 2021-10-15 13:28:22 UTC - id: 1 message: Feature number 42 was implemented! user: Iggy severity: announcement scope: all_users created_at: 2021-10-12 11:18:12 UTC '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Announcements post: deprecated: true summary: Create an announcement. description: | Create an announcement. This is only for users with roles "Admin" or "Staff". security: - basic_authentication: [] requestBody: description: Announcement definition. content: application/xml; charset=utf-8: schema: type: object properties: title: type: string content: type: string xml: name: announcement example: title: OBS 3.0 released! content: We are glad to announce that OBS 3.0 is released. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Invalid Announcement. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: message_cant_be_blank: summary: Message can't be blank value: code: invalid_announcement summary: '["Message can''t be blank"]' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Announcements "/announcements/{announcement_id}": get: deprecated: true summary: Show an announcement. description: Show the content of an announcement. security: - basic_authentication: [] parameters: - in: path name: announcement_id schema: type: integer required: true description: The id of the announcement. example: 16 responses: '200': description: OK. The request has succeded. content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message example: id: 16 message: Feature number 42 was implemented! user: Iggy severity: announcement scope: all_users created_at: 2021-10-12 11:18:12 UTC '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find StatusMessage with 'id'=0 [WHERE `status_messages`.`severity` = ?] tags: - Announcements put: deprecated: true summary: Update an announcement. description: | Update the content of an announcement. This is only for users with roles "Admin" or "Staff". security: - basic_authentication: [] parameters: - in: path name: announcement_id schema: type: integer required: true description: The id of the announcement. example: 16 requestBody: description: Announcement definition. content: application/xml; charset=utf-8: schema: type: object properties: title: type: string content: type: string xml: name: announcement examples: update_title: summary: Update only the title value: title: New title! update_title_and_content: summary: Update title and content value: title: New title! content: New content. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Invalid Announcement. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: message_cant_be_blank: summary: Message can't be blank value: code: invalid_announcement summary: '["Message can''t be blank"]' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find StatusMessage with 'id'=0 [WHERE `status_messages`.`severity` = ?] tags: - Announcements delete: deprecated: true summary: Delete an announcement. description: | Delete an announcement. This is only for users with roles "Admin" or "Staff". security: - basic_authentication: [] parameters: - in: path name: announcement_id schema: type: integer required: true description: The id of the announcement. example: 16 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find StatusMessage with 'id'=0 [WHERE `status_messages`.`severity` = ?] tags: - Announcements "/architectures": get: summary: List all known architectures. description: | Get a list of all known architectures known to OBS in general. This is not the list of architectures provided by this instance. Check the schedulers element from the `/configuration` route for this. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '4' entry: - name: aarch64 - name: armv7l - name: s390x - name: x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - General Information "/architectures/{architecture_name}": get: summary: Show one architecture. description: Show information about one architecture. security: - basic_authentication: [] parameters: - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true xml: name: architecture example: name: x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_architecture summary: 'Architecture does not exist: x999' tags: - General Information "/attribute": get: summary: List all attribute namespaces. description: List all attribute namespaces. security: - basic_authentication: [] responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '2' entry: - name: OBS - name: openSUSE '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Attribute Namespaces "/attribute/{namespace}": get: summary: List all attributes below a namespace. description: List all attributes under a given attribute namespace. security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '2' entry: - name: AutoCleanup - name: OwnerRootProject '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find AttribNamespace tags: - Attributes delete: summary: Delete an attribute namespace and all attributes below. description: | Delete an attribute namespace and all attributes below. This operation is the same as the one defined with [DELETE /attribute/{namespace}/_meta](#/Attributes/delete_attribute__namespace___meta). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Attribute Namespaces "/attribute/{namespace}/_meta": get: summary: Show attribute namespace. description: Shows attribute namespace. security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [attribute_namespace_meta.xsd](../schema/attribute_namespace_meta.xsd) content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: namespace '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find AttribNamespace tags: - Attribute Namespaces post: summary: Change attribute namespace. Create an attribute namespace if it doesn't exist. description: | This endpoint can be used for both, creating an attribute namespace and updating it: * If the attribute namespace passed as parameter doesn't exist, it will create the attribute namespace. * If the attribute namespace passed as parameter already exists, it will update the namespace attribute. This operation is the same as the one defined with [PUT](#/Attributes/put_attribute__namespace___meta). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST requestBody: description: | Attribute namespace definition. XML Schema used for body validation: [attribute_namespace_meta.xsd](../schema/attribute_namespace_meta.xsd) required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: namespace responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Validation Failed. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for attribute_namespace_meta summary: Validation Failed (Empty Body) wrong_xml_element: value: code: validation_failed summary: 'attribute_namespace_meta validation error: 1:0: ERROR: Element ''foo'': No matching global declaration available for the validation root.' summary: Validation Failed (Wrong XML Element) '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) user: value: code: not_found summary: Couldn't find User with login = user_login_name summary: Not Found (User) tags: - Attribute Namespaces put: summary: Change attribute namespace. Create an attribute namespace if it doesn't exist. description: | This endpoint can be used for both, creating an attribute namespace and updating it: * If the attribute namespace passed as parameter doesn't exist, it will create the attribute namespace. * If the attribute namespace passed as parameter already exists, it will update the namespace attribute. This operation is the same as the one defined with [POST](#/Attributes/post_attribute__namespace___meta). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST requestBody: description: | Attribute namespace definition. XML Schema used for body validation: [attribute_namespace_meta.xsd](../schema/attribute_namespace_meta.xsd) required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: namespace responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Validation Failed. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for attribute_namespace_meta summary: Validation Failed (Empty Body) wrong_xml_element: value: code: validation_failed summary: 'attribute_namespace_meta validation error: 1:0: ERROR: Element ''foo'': No matching global declaration available for the validation root.' summary: Validation Failed (Wrong XML Element) '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) user: value: code: not_found summary: Couldn't find User with login = user_login_name summary: Not Found (User) tags: - Attribute Namespaces delete: summary: Delete an attribute namespace and all attributes below. description: | Delete an attribute namespace and all attributes below. This operation is the same as the one defined with [DELETE /attribute/{namespace}](#/Attributes/delete_attribute__namespace_). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Attribute Namespaces "/attribute/{namespace}/{attribute_name}": delete: summary: Delete an attribute and all its values in projects or packages. description: | Delete an attribute and all its values in projects or packages. This operation is the same as the one defined with [DELETE /attribute/{namespace}/{attribute_name}/_meta](#/Attributes/delete_attribute__namespace___attribute_name___meta) security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) tags: - Attributes "/attribute/{namespace}/{attribute_name}/_meta": get: summary: Shows attribute. description: Shows attribute. security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true namespace: type: string example: OwnerRootProjectTest xml: attribute: true description: type: string example: An example description for an attribute. allowed: type: object properties: value: type: array items: type: string example: - DisableDevelTest - BugownerOnlyTest count: type: integer example: 0 modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: definition '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) unknown_attribute: value: code: unknown_attribute summary: Unknown attribute 'OBS_TEST':'OwnerRootProjectTest' summary: Unknown Attribute tags: - Attributes post: summary: Change attribute data. Create an attribute if it doesn't exist. description: | This endpoint can be used for both, creating an attribute and updating it: * If the attribute passed as parameter doesn't exist, it will create the attribute. * If the attribute passed as parameter already exists, it will update the attribute. This operation is the same as the one defined with [PUT](#/Attributes/put_attribute__namespace___attribute_name___meta). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest requestBody: description: Attribute definition. required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true namespace: type: string example: OwnerRootProjectTest xml: attribute: true description: type: string example: An example description for an attribute. allowed: type: object properties: value: type: array items: type: string example: - DisableDevelTest - BugownerOnlyTest count: type: integer example: 0 modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: definition responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Validation Failed. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for attrib_type summary: Validation Failed (Empty Body) wrong_xml_element: value: code: validation_failed summary: 'attrib_type validation error: 1:0: ERROR: Element definition failed to validate attributes' summary: Validation Failed (Wrong XML Attributes) illegal_request: value: code: illegal_request summary: 'Illegal request: PUT/POST /attribute/OBS_TEST/OwnerRootProjectTest/_meta: path does not match content' summary: Illegal Request '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) unknown_attribute: value: code: unknown_attribute summary: Unknown attribute 'OBS_TEST':'OwnerRootProjectTest' summary: Unknown Attribute tags: - Attributes put: summary: Change attribute data. Create an attribute if it doesn't exist. description: | This endpoint can be used for both, creating an attribute and updating it: * If the attribute passed as parameter doesn't exist, it will create the attribute. * If the attribute passed as parameter already exists, it will update the attribute. This operation is the same as the one defined with [POST](#/Attributes/post_attribute__namespace___attribute_name___meta). security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest requestBody: description: Attribute definition. required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: OBS_TEST xml: attribute: true namespace: type: string example: OwnerRootProjectTest xml: attribute: true description: type: string example: An example description for an attribute. allowed: type: object properties: value: type: array items: type: string example: - DisableDevelTest - BugownerOnlyTest count: type: integer example: 0 modifiable_by: type: array items: type: object properties: user: type: string example: user_login_name xml: attribute: true xml: name: definition responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Validation Failed. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for attrib_type summary: Validation Failed (Empty Body) wrong_xml_element: value: code: validation_failed summary: 'attrib_type validation error: 1:0: ERROR: Element definition failed to validate attributes' summary: Validation Failed (Wrong XML Attributes) illegal_request: value: code: illegal_request summary: 'Illegal request: PUT/POST /attribute/OBS_TEST/OwnerRootProjectTest/_meta: path does not match content' summary: Illegal Request '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) unknown_attribute: value: code: unknown_attribute summary: Unknown attribute 'OBS_TEST':'OwnerRootProjectTest' summary: Unknown Attribute tags: - Attributes delete: summary: Delete an attribute and all its values in projects or packages. description: | Delete an attribute and all its values in projects or packages. This operation is the same as the one defined with [DELETE /attribute/{namespace}/{attribute_name}](#/Attributes/delete_attribute__namespace___attribute_name_) security: - basic_authentication: [] parameters: - in: path name: namespace schema: type: string required: true description: The namespace example: OBS_TEST - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: namespace: value: code: not_found summary: Couldn't find AttribNamespace summary: Not Found (Namespace) tags: - Attributes "/build": get: summary: Get a simple directory listing of all projects description: Get a simple directory listing of all projects security: - basic_authentication: [] responses: '200': description: | OK XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: openSUSE:Leap:15.1 - name: openSUSE:Leap:15.2 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Build "/build/_workerstatus": get: deprecated: true summary: Lists status of workers, jobs, backend services and general statistics. description: | Lists status of workers, running jobs, waiting jobs, status of the backend services and general statistics. This endpoint is exactly the same as `GET /worker/_status`, please use that one. security: - basic_authentication: [] responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: clients: type: integer xml: attribute: true idle: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true building: type: array items: type: object properties: repository: type: string xml: attribute: true arch: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true starttime: type: string xml: attribute: true workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true down: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true waiting: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true blocked: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true buildavg: type: array items: type: object properties: arch: type: string xml: attribute: true buildavg: type: string xml: attribute: true partition: type: array items: type: object properties: name: type: string xml: attribute: true daemon: type: array items: type: object properties: type: type: string xml: attribute: true state: type: string xml: attribute: true starttime: type: string xml: attribute: true arch: type: string xml: attribute: true queue: type: object properties: high: type: string xml: attribute: true med: type: string xml: attribute: true low: type: string xml: attribute: true next: type: string xml: attribute: true xml: name: workerstatus example: clients: '2' idle: - workerid: 1a1f67b948b6:1 hostarch: x86_64 building: - repository: openSUSE_11.3_Update arch: x86_64 project: home:enzokiel package: android-sdk starttime: '1289838671' workerid: 1a1f67b948b6:2 hostarch: x86_64 down: - workerid: armbuild03:1 hostarch: aarch64 waiting: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' blocked: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' buildavg: - arch: i586 buildavg: '1200' - arch: x86_64 buildavg: '1200' partition: - daemon: - type: srcserver state: running starttime: '1617711138' - type: servicedispatch state: running starttime: '1617711144' - type: service state: running starttime: '1617711144' - type: clouduploadserver state: running starttime: '1617711145' - type: clouduploadworker state: running starttime: '1617711144' - type: scheduler arch: i586 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: scheduler arch: x86_64 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: repserver state: running starttime: '1617711143' - type: dispatcher state: running starttime: '1617711144' - type: publisher state: running starttime: '1617711145' - type: signer state: running starttime: '1617711146' - name: back-main daemon: - type: scheduler arch: aarch64 state: running starttime: '1617148925' queue: high: '0' med: '1' low: '4' next: '22' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Build "/build/{project_name}": get: summary: Get a simple directory listing of all repositories for the specified project description: Get a simple directory listing of all repositories for the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: | OK XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: openSUSE_Tumbleweed - name: openSUSE_Leap_15.3 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build post: summary: Apply different actions on builds/build processes of the specified project description: Apply different actions on builds/build processes of the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: package schema: type: string description: Name of the package. Scope the commands to the specified package. example: firefox - in: query name: arch schema: type: string description: Name of the build architecture. Scope the commands to the specified architectures. example: x86_64 - in: query name: repository schema: type: string description: Name of the repository. Scope the commands to the specified repository. example: openSUSE_Leap_15.2 - in: query name: cmd required: true schema: type: string enum: - wipe - restartbuild - killbuild - abortbuild - rebuild - unpublish - sendsysrq description: | **NOTE**: All commands described below, can be scoped to a package within the project by setting the `package` parameter. * `wipe`: Delete all binaries build by the project. * `restartbuild`: Restart all running build processes inside the project. * `rebuild`: Trigger a rebuild of all packages inside the project. * `abortbuild`: Abort all running build processes for the specified project, marking them as failed. * `killbuild`: Alias for `abortbuild`. * `unpublish`: Delete all published package binaries, for the specified project, from the download repository. * `sendsysrq`: Send a single sysrq character to the kernel of a running build. Character need to be specified through the `sysrq` parameter. Only a subset of debugging requests are supported (eg. 9, t or w). responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Illegal request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Illegal Request: value: code: illegal_request summary: unsupported POST command '' to . '403': description: | Execute command no permission. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Execute cmd no permission: value: code: execute_cmd_no_permission summary: No permission to execute command on package in project '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/_result": get: summary: Get the build results for packages, architectures and repositories of the specified project. description: Get the build results for packages, architectures and repositories of the specified project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: view schema: type: string enum: - status - summary - binarylist default: status description: | Specify which sections should be included in the result list. * `status`: Include detailed infos about the build status. * `summary`: Include the summary of the status values. * `binarylist`: Include a list of generated binary files. - in: query name: package schema: type: string description: Name of the package. Limit results to the specified package. example: obs-server - in: query name: arch schema: type: string description: Name of the build architecture. Limit results to the specified build architecture. example: x86_64 - in: query name: repository schema: type: string description: Name of the repository. Limit results to the specified repository. example: openSUSE_Leap_15.2 - in: query name: lastbuild schema: type: string description: Set to `1` to show the last build result (excludes current building job states). enum: - 0 - 1 default: 0 example: 1 - in: query name: locallink schema: type: string description: Set to `1` to include build results from packages with project local links. enum: - 0 - 1 default: 0 example: 1 - in: query name: multibuild schema: type: string description: Set to `1` to include build results from _multibuild definitions. enum: - 0 - 1 default: 0 example: 1 responses: '200': description: | OK. XML Schema used for body validation: [buildresult.rng](../schema/buildresult.rng) content: application/xml; charset=utf-8: schema: type: object properties: state: type: string example: e096d16554264fa553ca0aa3226cf189 xml: attribute: true result: type: array items: type: object properties: project: type: string example: home:foo xml: attribute: true repository: type: string example: openSUSE_Leap_15.3 xml: attribute: true arch: type: string example: x86_64 xml: attribute: true code: type: string example: published xml: attribute: true state: type: string example: published xml: attribute: true status: type: array items: type: object properties: package: type: string example: ctris xml: attribute: true code: type: string example: succeeded xml: attribute: true details: type: string example: package whitelist binarylist: type: array items: type: object properties: package: type: string example: ctris xml: attribute: true binary: type: array items: type: object properties: filename: type: string example: hello-2.10-3.1.x86_64.rpm xml: attribute: true size: type: string example: '58352' xml: attribute: true mtime: type: string example: '1617270174' xml: attribute: true summary: type: object properties: statuscount: type: array items: type: object properties: code: type: string example: disabled xml: attribute: true count: type: string example: '2' xml: attribute: true xml: name: resultlist '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `multibuild`, for example. value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}": get: summary: List of all architectures the specified project builds against a given repository. description: List of all architectures the specified project builds against a given repository. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed responses: '200': description: | OK XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: x86_64 - name: i586 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 404 summary: project '' has no repository '' details: 404 project '' has no repository '' tags: - Build "/build/{project_name}/{repository_name}/_buildconfig": get: summary: Show the build configuration for the specified repository. description: | Show the build configuration for the specified repository. Includes all base package requirements, mappings and macros. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed responses: '200': description: OK content: text/plain: example: | %define _project home:Admin ### from openSUSE.org:openSUSE:Leap:15.2 %define _repository standard Macros: %vendor obs://build.some.where/home:Admin %_project home:Admin ### from openSUSE.org:openSUSE:Leap:15.2 %_repository standard :Macros Release: . spec:lp152.. %define gcc_version 7 # testing new cycle algorithm BuildFlags: genmetaalgo:1 # abort the build if the log file didn't move in an hour (seen in libreoffice builds) BuildFlags: logidlelimit:3600 PublishFlags: ympdist:openSUSE%20Leap%2015.2 # Help with the switch to the gcc7 provided libs Prefer: -libstdc++6-gcc7 -libtsan0-gcc7 -libgomp1-gcc7 -libgcc_s1-gcc7 -libatomic1-gcc7 -libcilkrts5-gcc7 -libitm1-gcc7 Prefer: -liblsan0-gcc7 -libmpx2-gcc7 -libubsan0-gcc7 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/_builddepinfo": get: summary: Show the build dependencies of packages that are part of the project. description: | Show the build dependencies of packages that are part of the project, for a given repository and architecture. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: query name: package schema: type: string description: Name of the package. Limit results to the specified package. example: obs-server - in: query name: view schema: type: string enum: - pkgnames - revpkgnames - order description: | * `pkgnames`: Show whole package dependencies, instead of individual binaries. * `revpkgnames`: Show which packages depend on the provided project/package for the given repository/architecture, and therefore a rebuild gets triggered on change. * `order`: Show packages ordered by dependencies. responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: package: type: array items: type: object properties: name: type: string example: memcached xml: attribute: true source: type: string example: memcached pkgdep: type: array items: type: string example: - gzip - obs-server subpkg: type: array items: type: string example: - memcached-devel - memcached-debugsource xml: name: builddepinfo '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build post: deprecated: true summary: Show the build dependencies of packages that are part of the project. description: | This endpoint is exactly the same as `GET /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_builddepinfo`, please use that one. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/_jobhistory": get: summary: Get the build log of all finished builds. description: Get the build log of all finished builds, for a given project, repository and architecture. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: query name: code schema: type: string description: 'Filter results by finished build code: `failed`, `succeeded`, `unchanged`.' example: succeeded - in: query name: endtime_end schema: type: integer description: Show builds which finished before given time. example: 1714135617 - in: query name: endtime_start schema: type: integer description: Show builds which finished after given time. example: 1714130617 - in: query name: limit schema: type: integer description: Limit the number of retrieved results elements to the specified number. example: 10 - in: query name: package schema: type: string description: Name of the package. Limit results to the specified package. example: obs-server responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: array items: type: object properties: package: type: string xml: attribute: true rev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true versrel: type: string xml: attribute: true bcnt: type: integer xml: attribute: true readytime: type: integer xml: attribute: true starttime: type: integer xml: attribute: true endtime: type: integer xml: attribute: true code: type: string xml: attribute: true uri: type: string xml: attribute: true workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true reason: type: string xml: attribute: true verifymd5: type: string xml: attribute: true xml: name: jobhist xml: wrapped: true name: jobhistlist example: - package: obs-server rev: 17367 srcmd5: e2fc6b9e014441f3f8a33beb62446215 versrel: 2.11~alpha.20240426T143809.ab0551f7-16803 bcnt: 1 readytime: 1714135430 starttime: 1714135490 endtime: 1714135617 code: succeeded uri: http://192.168.2.130:42344 workerid: i02-ch1d:21 hostarch: x86_64 reason: source change verifymd5: 518a4d1c0e95fe3c04117aafba722a1f - package: obs-server:obs-bundled-gems rev: 17368 srcmd5: feac17ca9cf334d57d719f3ba52a300f versrel: 2.11~alpha.20240426T150958.ca259016-16804 bcnt: 1 readytime: 1714137054 starttime: 1714137078 endtime: 1714137296 code: succeeded uri: http://192.168.2.130:42344 workerid: i04-ch4d:9 hostarch: x86_64 reason: source change verifymd5: f81504abf10aaca978a8acea9eaa5bf5 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/_repository": get: summary: List all binaries (produced by all packages of the given project). description: | List all binaries (produced by all packages of the given project) for the specified repository and architecture. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 responses: '200': description: OK. content: application/xml; charset=utf-8: schema: type: object properties: binary: type: array items: type: object properties: filename: type: string example: hello-2.10-3.1.x86_64.rpm xml: attribute: true size: type: string example: '58352' xml: attribute: true mtime: type: string example: '1617270174' xml: attribute: true xml: name: binarylist '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}": get: summary: List binaries built by the sources of the specified package. description: List binaries built by the sources of the specified package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK. content: application/xml; charset=utf-8: schema: type: object properties: binary: type: array items: type: object properties: filename: type: string example: hello-2.10-3.1.x86_64.rpm xml: attribute: true size: type: string example: '58352' xml: attribute: true mtime: type: string example: '1617270174' xml: attribute: true xml: name: binarylist '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_buildenv": get: summary: Return the environment information for the last performed build. description: Get specifics of the environment information for the last performed build. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: string example: home:Admin xml: attribute: true repository: type: string example: openSUSE_Tumbleweed xml: attribute: true package: type: string example: ctris xml: attribute: true arch: type: string example: i586 srcmd5: type: string example: 6b7c8d9cb5c5d36453c1dc8e102016b1 verifymd5: type: string example: 6b7c8d9cb5c5d36453c1dc8e102016b1 versrel: type: string example: 0.42.1-3 bcnt: type: string example: '2' release: type: string example: '3.2' config: type: string example: | %define _project home:enavarro_suse ### from openSUSE:Factory %define _repository ports Macros: %vendor obs://build.opensuse.org/home:enavarro_suse %_download_url https://download.opensuse.org/repositories %_project home:enavarro_suse bdep: type: object properties: name: type: string example: liblua5_4-5 xml: attribute: true hdrmd5: type: string example: 4f50c1ea427e184620686ded4baa3097 xml: attribute: true project: type: string example: openSUSE:Tumbleweed xml: attribute: true repository: type: string example: dod xml: attribute: true xml: name: buildinfo '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: 1' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_buildinfo": get: summary: Return build information about a build description would produce. description: | Get build information using the default spec file. To use other file than the default spec file, use this same endpoint path with the `POST` action. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris - name: add in: query schema: type: array items: type: string description: Add a list of build dependencies (`BuildRequires`) to the build. example: - less - vim - name: debug in: query schema: type: string description: Set to `1` to add debug information about dependencies. This information is added inside an `expandeddebug` xml element. example: 0 responses: '200': description: Returns the artifact building information. content: application/xml; charset=utf-8: schema: type: object properties: project: type: string example: home:Admin xml: attribute: true repository: type: string example: openSUSE_Tumbleweed xml: attribute: true package: type: string example: ctris xml: attribute: true arch: type: string example: i586 srcmd5: type: string example: 6b7c8d9cb5c5d36453c1dc8e102016b1 verifymd5: type: string example: 6b7c8d9cb5c5d36453c1dc8e102016b1 rev: type: integer example: 3 specfile: type: string example: ctris.spec file: type: string example: ctris.spec versrel: type: string example: 0.42.1-3 bcnt: type: string example: '2' release: type: string example: '3.2' debuginfo: type: integer example: 0 subpack: type: string example: ctris bdep: type: object properties: name: type: string example: liblua5_4-5 xml: attribute: true preinstall: type: string example: '1' xml: attribute: true notmeta: type: string example: '1' xml: attribute: true version: type: string example: 5.4.2 xml: attribute: true release: type: string example: '3.1' xml: attribute: true arch: type: string example: i586 xml: attribute: true project: type: string example: openSUSE.org:openSUSE:Tumbleweed xml: attribute: true repository: type: string example: dod xml: attribute: true path: type: object properties: project: type: string example: home:Admin xml: attribute: true repository: type: string example: openSUSE_Tumbleweed xml: attribute: true url: type: string example: https://download.opensuse.org/repositories/home:/enavarro_suse/openSUSE_Tumbleweed/ xml: attribute: true expanddebug: type: string example: | === meta deps expansion expand args: rpm-build gcc-PIE added rpm-build@openSUSE:Tumbleweed/dod because of (direct):rpm-build added gcc-PIE@openSUSE:Tumbleweed/dod because of (direct):gcc-PIE --- now doing normal dependencies added glibc@openSUSE:Tumbleweed/dod because of rpm-build:libc.so.6(GLIBC_2.34)(64bit) added glibc@openSUSE:Tumbleweed/dod because of rpm-build:libc.so.6(GLIBC_2.4)(64bit) xml: name: buildinfo '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: 1' tags: - Build post: summary: Return build information about a build description would produce. description: | Get build information using the file passed in the request body. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: | Package name. It can take the value `_repository`, if the designated package does not exist yet in the server. This is useful for testing a build locally before committing a package. examples: Normal Package Name: value: ctris No Package Yet: value: _repository - name: add in: query schema: type: array items: type: string description: Add a list of build dependencies (`BuildRequires`) to the build. example: - less - vim - name: debug in: query schema: type: string description: Set to `1` to add debug information about dependencies. This information is added inside an `expandeddebug` xml element. example: 0 requestBody: description: A RPM specfile or a Debian "dsc" file. required: true content: text/plain: schema: type: string example: | Name: hello_world Version: 1 Release: 1 Summary: Most simple RPM package License: CC0-1.0 %build cat > hello_world.sh <.' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_log": get: description: This endpoint returns the last log file for a specific build artifact security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: This endpoint returns the log file content content: text/plain: example: "[ 0s] Memory limit set to 23077696KB\n[ 0s] Using BUILD_ROOT=/var/cache/obs/worker/root_2\n[ \ 0s] Using BUILD_ARCH=i586:i486:i386\n[ 0s] \n[ 0s] \n[ 0s] 5d0262043f4a started \"build ctris.spec\" at Tue Apr 6 12:27:31 UTC 2021.\n[ 0s] \n[ 0s] Building ctris for project 'home:Admin' repository 'openSUSE_Tumbleweed' arch 'i586' srcmd5 '6b7c8d9cb5c5d36453c1dc8e102016b1'\n" '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Error: Not Acceptable XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission to download binaries from package ctris, project home:Admin '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: 1' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_reason": get: summary: Show the reason for the lastly triggered build. description: Details about the reason of the lastly triggered build. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: explain: type: string example: source change time: type: string example: '1617982407' oldsource: type: string example: da9ebc6a12b6da45f9ead3fc2f924889 xml: name: reason '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_statistics": get: summary: Return build statistics from the last performed build. description: Get specifics of build statistics from the last performed build. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: disk: type: object properties: usage: type: object properties: size: type: object properties: unit: type: string xml: attribute: true io_requests: type: string io_sectors: type: string memory: type: object properties: usage: type: object properties: size: type: object properties: unit: type: string xml: attribute: true times: type: object properties: total: type: object properties: time: type: object properties: unit: type: string xml: attribute: true preinstall: type: object properties: time: type: object properties: unit: type: string xml: attribute: true install: type: object properties: time: type: object properties: unit: type: string xml: attribute: true main: type: object properties: time: type: object properties: unit: type: string xml: attribute: true postchecks: type: object properties: time: type: object properties: unit: type: string xml: attribute: true rpmlint: type: object properties: time: type: object properties: unit: type: string xml: attribute: true buildcmp: type: object properties: time: type: object properties: unit: type: string xml: attribute: true deltarpms: type: object properties: time: type: object properties: unit: type: string xml: attribute: true download: type: object properties: time: type: object properties: unit: type: string xml: attribute: true cpusteal: type: object properties: time: type: object properties: unit: type: string xml: attribute: true download: type: object properties: size: type: object properties: unit: type: string xml: attribute: true binaries: type: string cachehits: type: string xml: name: buildstatistics example: disk: usage: size: unit: M io_requests: 7750 io_sectors: 1248010 memory: usage: size: unit: M times: total: time: unit: s preinstall: time: unit: s download: size: unit: k binaries: 5 cachehits: 131 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: 1' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_status": get: description: This endpoint returns the building status for a specific artifact security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: Returns ok when the build status is ok content: application/xml; charset=utf-8: schema: type: object properties: package: type: string example: ctris xml: attribute: true code: type: string example: failed xml: attribute: true xml: name: status '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: 1' tags: - Build post: deprecated: true summary: Return the building status for a specific artifact description: | This endpoint is exactly the same as `GET /build/{project_name}/{repository_name}/{architecture_name}/{package_name}/_status`, please use that one. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/{file_name}": get: summary: Return a specific artifact file contents description: Given a project, repository, architecture and package, retrieve the given file's content. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm responses: '200': description: Returns the artifact's actual file contents content: application/*: schema: type: string format: binary '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: '404' summary: project 'home:Admin' has no repository '4' details: 404 project 'home:Admin' has no repository '4' tags: - Build put: summary: Update a specific artifact file contents description: | Given a project, repository, architecture and package, update the given file's content. This is for Admins only. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - name: package_name in: path schema: type: array items: type: string enum: - _repository required: true description: Package name - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm requestBody: content: plain/text: schema: type: string properties: file: type: string format: binary responses: '200': description: Updates the artifact's file contents content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: No permission to upload binaries for this project content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: upload_binary_no_permission summary: No permission to upload binaries. '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: '404' summary: project 'home:Admin' has no repository '4' details: 404 project 'home:Admin' has no repository '4' tags: - Build delete: summary: Delete an existing repository artifact description: | Given a project, repository and architecture delete the given file in the repository. The user needs to have write permissions into the artifact security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - name: package_name in: path schema: type: array items: type: string enum: - _repository required: true description: Package name. '_repository' is the only posible value. - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Operation is not allowed content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_operation summary: Delete operation of build results is not allowed '403': description: No permission to delete binaries from this project content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: delete_binary_no_permission summary: No permission to delete binaries from project home:Admin. '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: '404' summary: project 'home:Admin' has no repository '4' tags: - Build "/build/{project_name}/{repository_name}/{architecture_name}/{package_name}/{file_name}?view=fileinfo": get: summary: This endpoint returns details about an specific artifact description: Given a project, repository, architecture and package, retrieve the given artifact's details. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm - name: view in: query required: true schema: type: array items: type: string enum: - fileinfo - fileinfo_ext responses: '200': description: Returns details about the artifact content: application/xml; charset=utf-8: schema: type: object properties: filename: type: string xml: attribute: true name: type: string version: type: string release: type: string arch: type: string source: type: string summary: type: string description: type: string size: type: string mtime: type: string provides: type: array items: type: string requires: type: array items: type: string provides_ext: type: array items: type: object properties: dep: type: string xml: attribute: true requires_ext: type: array items: type: object properties: dep: type: string xml: attribute: true provided_by: type: object properties: name: type: string xml: attribute: true version: type: string xml: attribute: true release: type: string xml: attribute: true arch: type: string xml: attribute: true project: type: string xml: attribute: true repository: type: string xml: attribute: true xml: name: fileinfo examples: fileinfo: summary: view=fileinfo value: filename: ctris-0.42.1-4.1.x86_64.rpm name: ctris version: 0.42.1 release: '4.1' arch: x86_64 summary: Console based tetris clone description: ctris is a colorized, small and flexible Tetris(TM)-clone for the console. Go play! size: '765725' mtime: '1617270174' provides: - ctris = 0.42.1-6.2 - ctris(x86-64) = 0.42.1-6.2 requires: - libc.so.6()(64bit) - libc.so.6(GLIBC_2.2.5)(64bit) fileinfo_ext: summary: view=fileinfo_ext value: filename: ctris-0.42.1-4.2.x86_64.rpm name: ctris version: 0.42.1 release: '4.1' arch: x86_64 source: ctris summary: Console based tetris clone description: ctris is a colorized, small and flexible Tetris(TM)-clone for the console. Go play! size: '765725' mtime: '1617270174' provides: - ctris = 0.42.1-6.2 - ctris(x86-64) = 0.42.1-6.2 requires: - libc.so.6()(64bit) - libc.so.6(GLIBC_2.2.5)(64bit) provides_ext: dep: ctris(x86-64) = 0.42.1-6.2 requires_ext: dep: libc.so.6()(64bit) provided_by: name: glibc version: '2.33' release: '4.1' arch: x86_64 project: openSUSE.org:openSUSE:Tumbleweed repository: dod '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Error: Not Found XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: '404' summary: project 'home:Admin' has no repository '4' details: 404 project 'home:Admin' has no repository '4' tags: - Build "/comment/{comment_id}": delete: summary: Delete a comment description: Delete a given comment based on its id. security: - basic_authentication: [] parameters: - in: path name: comment_id schema: type: integer required: true description: Id of the comment. example: 1124 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: delete_comment_not_authorized summary: Sorry, you are not authorized to delete this comment '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Comment with id '1124' tags: - Comments "/comment/{comment_id}/history": get: summary: List the history of a comment description: | List the versions of a edited comment. **(Beta/Unstable)** This endpoint is currently behind the `content_moderation` beta flag. security: - basic_authentication: [] parameters: - in: path name: comment_id schema: type: integer required: true description: Id of the comment. example: 5 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [comment_history.rng](../schema/comment_history.rng) content: application/xml; charset=utf-8: schema: type: object properties: comment: type: integer xml: attribute: true xml: name: comment_history example: | First version of comment UHH DONT LIKE MY COMMENT '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: history_comment_not_authorized summary: Sorry, you are not authorized to history this comment. '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Comment with 'id'=67 tags: - Comments "/comments/user": get: summary: List all the logged in user's comments description: List all the comments for the currently logged in user. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: comment: type: array items: type: object properties: id: type: integer xml: attribute: true who: type: string xml: attribute: true when: type: string xml: attribute: true parent: type: integer xml: attribute: true bsrequest: type: integer xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true request: type: integer xml: attribute: true package: type: string xml: attribute: true project: type: string xml: attribute: true user: type: string xml: attribute: true xml: name: comments example: | This is a pretty cool request! This is a pretty cool project! This is a pretty cool package! '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Comments "/comments/request/{id}": get: summary: List all the request's comments description: List all the comments for the request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: comment: type: array items: type: object properties: id: type: integer xml: attribute: true who: type: string xml: attribute: true when: type: string xml: attribute: true parent: type: integer xml: attribute: true bsrequest: type: integer xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true request: type: integer xml: attribute: true package: type: string xml: attribute: true project: type: string xml: attribute: true user: type: string xml: attribute: true xml: name: comments example: | This is a pretty cool comment! '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: Couldn't find Request with number '1234' value: code: not_found summary: Couldn't find Request with number '1234' tags: - Comments post: summary: Create a request comment description: Create a comment for the request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 - in: query name: parent_id schema: type: integer description: Id of the comment to reply to example: 10401 requestBody: description: Content of the comment required: true content: text/plain: schema: type: string example: This is a very valuable comment responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Invalid Comment. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_record: summary: Parent belongs to different object value: code: invalid_record summary: Parent belongs to different object '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: Couldn't find Request with number '1234' value: code: not_found summary: Couldn't find Request with number '1234' tags: - Comments "/comments/project/{project_name}": get: summary: List all the project's comments description: List all the comments for the project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: comment: type: array items: type: object properties: id: type: integer xml: attribute: true who: type: string xml: attribute: true when: type: string xml: attribute: true parent: type: integer xml: attribute: true bsrequest: type: integer xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true request: type: integer xml: attribute: true package: type: string xml: attribute: true project: type: string xml: attribute: true user: type: string xml: attribute: true xml: name: comments example: | This is a pretty cool comment! '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: 'Project not found: notaproject' value: code: not_found summary: 'Project not found: notaproject' tags: - Comments post: summary: Create a project comment description: Create a comment for the project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: parent_id schema: type: integer description: Id of the comment to reply to example: 10401 requestBody: description: Content of the comment required: true content: text/plain: schema: type: string example: This is a very valuable comment responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Invalid Comment. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_record: summary: Parent belongs to different object value: code: invalid_record summary: Parent belongs to different object '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: value: code: not_found tags: - Comments "/comments/package/{project_name}/{package_name}": get: summary: List all the package's comments description: List all the comments for the package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: comment: type: array items: type: object properties: id: type: integer xml: attribute: true who: type: string xml: attribute: true when: type: string xml: attribute: true parent: type: integer xml: attribute: true bsrequest: type: integer xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true request: type: integer xml: attribute: true package: type: string xml: attribute: true project: type: string xml: attribute: true user: type: string xml: attribute: true xml: name: comments example: | This is a pretty cool comment! '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: 'Package not found: home:Admin/notapackage' value: code: not_found summary: 'Package not found: home:Admin/notapackage' tags: - Comments post: summary: Create a package comment description: Create a comment for the package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: parent_id schema: type: integer description: Id of the comment to reply to example: 10401 requestBody: description: Content of the comment required: true content: text/plain: schema: type: string example: This is a very valuable comment responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Invalid Comment. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_record: summary: Parent belongs to different object value: code: invalid_record summary: Parent belongs to different object '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: 'Package not found: openSUSE:Factory/eeee' value: code: not_found summary: 'Package not found: openSUSE:Factory/eeee' tags: - Comments "/configuration": get: summary: Display the configuration of this Open Build Service instance description: Display the configuration of this Open Build Service instance. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: title: type: string example: Open Build Service description: type: string example: The openSUSE Build Service is the public instance of the Open Build Service (OBS) name: type: string example: private download_on_demand: type: string example: true enforce_project_keys: type: string example: false anonymous: type: string example: true registration: type: string example: allow default_access_disabled: type: string example: false allow_user_to_create_home_project: type: string example: true disallow_group_creation: type: string example: false change_password: type: string example: true obs_url: type: string example: https://unconfigured.openbuildservice.org tos_url: type: string example: https://en.opensuse.org/Terms_of_site hide_private_options: type: string example: false gravatar: type: string example: true cleanup_empty_projects: type: string example: true disable_publish_for_branches: type: string example: true admin_email: type: string example: unconfigured@openbuildservice.org unlisted_projects_filter: type: string example: "^home:.+" unlisted_projects_filter_description: type: string example: home projects default_tracker: type: string example: bnc code_of_conduct: type: string example: | This is an example of a "Code of Conduct". 1. First point. 2. Second point. schedulers: type: object properties: arch: type: array items: type: string example: - armv7l - i586 - x86_64 xml: name: configuration '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Configuration put: summary: Update the configuration of this Open Build Service instance description: | Update the configuration of this Open Build Service instance. This is for admins only. security: - basic_authentication: [] requestBody: description: Configuration definition. content: application/xml; charset=utf-8: schema: type: object properties: title: type: string example: Open Build Service description: type: string example: The openSUSE Build Service is the public instance of the Open Build Service (OBS) name: type: string example: private download_on_demand: type: string example: true enforce_project_keys: type: string example: false anonymous: type: string example: true registration: type: string example: allow default_access_disabled: type: string example: false allow_user_to_create_home_project: type: string example: true disallow_group_creation: type: string example: false change_password: type: string example: true obs_url: type: string example: https://unconfigured.openbuildservice.org tos_url: type: string example: https://en.opensuse.org/Terms_of_site hide_private_options: type: string example: false gravatar: type: string example: true cleanup_empty_projects: type: string example: true disable_publish_for_branches: type: string example: true admin_email: type: string example: unconfigured@openbuildservice.org unlisted_projects_filter: type: string example: "^home:.+" unlisted_projects_filter_description: type: string example: home projects default_tracker: type: string example: bnc code_of_conduct: type: string example: | This is an example of a "Code of Conduct". 1. First point. 2. Second point. schedulers: type: object properties: arch: type: array items: type: string example: - armv7l - i586 - x86_64 xml: name: configuration responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: title: type: string example: Open Build Service description: type: string example: The openSUSE Build Service is the public instance of the Open Build Service (OBS) name: type: string example: private download_on_demand: type: string example: true enforce_project_keys: type: string example: false anonymous: type: string example: true registration: type: string example: allow default_access_disabled: type: string example: false allow_user_to_create_home_project: type: string example: true disallow_group_creation: type: string example: false change_password: type: string example: true obs_url: type: string example: https://unconfigured.openbuildservice.org tos_url: type: string example: https://en.opensuse.org/Terms_of_site hide_private_options: type: string example: false gravatar: type: string example: true cleanup_empty_projects: type: string example: true disable_publish_for_branches: type: string example: true admin_email: type: string example: unconfigured@openbuildservice.org unlisted_projects_filter: type: string example: "^home:.+" unlisted_projects_filter_description: type: string example: home projects default_tracker: type: string example: bnc code_of_conduct: type: string example: | This is an example of a "Code of Conduct". 1. First point. 2. Second point. schedulers: type: object properties: arch: type: array items: type: string example: - armv7l - i586 - x86_64 xml: name: configuration '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. In the example below, _default_access_disabled_ is one of the possible configuration options which is set in the options.yml file. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: no_permission_to_change summary: The api has a different value for default_access_disabled configured in options.yml file. Remove it there first tags: - Configuration "/distributions": get: summary: List all distributions. description: | List all distributions that can be build against. This will not list distributions that are available via [interconnect](https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.concepts.html#id-1.5.10.3.5). Check /distributions/include_remotes for this. security: - basic_authentication: [] responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [distributions.rng](../schema/distributions.rng) content: application/xml; charset=utf-8: schema: type: object properties: distribution: type: array items: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distributions example: distribution: - vendor: opensuse version: Tumbleweed id: 16626 name: openSUSE Tumbleweed project: openSUSE:Factory reponame: openSUSE_Tumbleweed repository: snapshot link: http://www.opensuse.org/ icon: - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 16 height: 16 architecture: - i586 - x86_64 - vendor: openSUSE version: '15.3' id: 16629 name: openSUSE Leap 15.3 project: openSUSE:Leap:15.3 reponame: openSUSE_Leap_15.3 repository: standard link: http://www.opensuse.org/ icon: - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 16 height: 16 architecture: x86_64 - vendor: Fedora version: '33' id: 16731 name: Fedora 33 project: Fedora:33 reponame: Fedora_33 repository: standard link: http://www.fedoraproject.org/ icon: - url: https://static.opensuse.org/distributions/logos/fedora.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/fedora.png width: 16 height: 16 architecture: - i586 - x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Distributions post: summary: Create a distribution. description: | Create a distribution. This is only for admins. security: - basic_authentication: [] requestBody: description: Distribution definition content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distribution responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [distribution.rng](../schema/distribution.rng) content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distribution example: distribution: - vendor: opensuse version: Tumbleweed id: 16626 name: openSUSE Tumbleweed project: openSUSE:Factory reponame: openSUSE_Tumbleweed repository: snapshot link: http://www.opensuse.org/ icon: - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 16 height: 16 architecture: - i586 - x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Distributions "/distributions/include_remotes": get: summary: List all distributions including remote. description: List all distributions that can be build against, including the ones provided by the interconnect. security: - basic_authentication: [] responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [distributions.rng](../schema/distributions.rng) content: application/xml; charset=utf-8: schema: type: object properties: distribution: type: array items: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distributions example: distribution: - vendor: opensuse version: Tumbleweed id: 16626 name: openSUSE Tumbleweed project: openSUSE:Factory reponame: openSUSE_Tumbleweed repository: snapshot link: http://www.opensuse.org/ icon: - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 16 height: 16 architecture: - i586 - x86_64 - vendor: openSUSE version: '15.3' id: 16629 name: openSUSE Leap 15.3 project: openSUSE:Leap:15.3 reponame: openSUSE_Leap_15.3 repository: standard link: http://www.opensuse.org/ icon: - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/opensuse.png width: 16 height: 16 architecture: x86_64 - vendor: Fedora version: '33' id: 16731 name: Fedora 33 project: Fedora:33 reponame: Fedora_33 repository: standard link: http://www.fedoraproject.org/ icon: - url: https://static.opensuse.org/distributions/logos/fedora.png width: 8 height: 8 - url: https://static.opensuse.org/distributions/logos/fedora.png width: 16 height: 16 architecture: - i586 - x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Distributions "/distributions/{distribution_id}": get: summary: Show a distribution. description: Show a distribution that can be build against. security: - basic_authentication: [] parameters: - in: path name: distribution_id schema: type: integer required: true description: The id of the distribution example: 16626 responses: '200': description: OK. The request has succeded. content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distribution '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Distribution with 'id'=0 tags: - Distributions put: summary: Update a distribution. description: Update the data of a distribution. security: - basic_authentication: [] parameters: - in: path name: distribution_id schema: type: integer required: true description: The id of the distribution example: 16626 requestBody: description: Distribution definition content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distribution responses: '200': description: | OK. The Request has succeeded. XML Schema used for body validation: [distribution.rng](../schema/distribution.rng) '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Distribution with 'id'=0 tags: - Distributions delete: summary: Delete a distribution. description: | Delete a distribution. This is only for admins. security: - basic_authentication: [] parameters: - in: path name: distribution_id schema: type: integer required: true description: The id of the distribution example: 16626 responses: '200': description: OK. The request has succeded. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Distribution with 'id'=0 tags: - Distributions "/distributions/bulk_replace": put: summary: Bulk replace all distributions. description: | Bulk replace all distributions. This is only for admins. security: - basic_authentication: [] requestBody: description: Distributions definition content: application/xml; charset=utf-8: schema: type: object properties: distribution: type: array items: type: object properties: id: type: integer example: 16626 xml: attribute: true vendor: type: string example: opensuse xml: attribute: true version: type: string example: Tumbleweed xml: attribute: true name: type: string example: openSUSE Tumbleweed project: type: string example: openSUSE:Factory repository: type: string example: snapshot reponame: type: string example: openSUSE_Tumbleweed link: type: string example: http://www.opensuse.org/ architecture: type: array example: - i586 - x86_64 items: type: string icon: type: array example: - width: 8 height: 8 url: https://static.opensuse.org/distributions/logos/opensuse.png - width: 16 height: 16 url: https://static.opensuse.org/distributions/logos/opensuse.png items: type: object properties: width: type: integer xml: attribute: true height: type: integer xml: attribute: true url: type: string xml: attribute: true xml: name: distributions responses: '200': description: | OK. The Request has succeeded. XML Schema used for body validation: [distributions.rng](../schema/distributions.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: validation_failed summary: 'distributions validation error: 40:0: ERROR: Expecting an element name, got nothing' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Distributions "/group": get: summary: List available groups. description: List available groups. security: - basic_authentication: [] responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '2' entry: - name: group-admin - name: group-test '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Groups "/group/{group_title}": get: summary: Read group data. description: Read group data. security: - basic_authentication: [] parameters: - in: path name: group_title schema: type: string required: true description: Group title example: group-test responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [group.rng](../schema/group.rng) content: application/xml; charset=utf-8: schema: type: object properties: title: type: string example: group-test maintainer: type: array items: type: object properties: userid: type: string example: user-test xml: attribute: true person: type: array items: type: object properties: userid: type: string example: user-test xml: attribute: true xml: wrapped: true xml: name: group '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Group 'group-testd' tags: - Groups post: summary: Modify group data. description: Modify group data. security: - basic_authentication: [] parameters: - in: path name: group_title schema: type: string required: true description: Group title example: group-test - in: query name: cmd schema: type: string enum: - add_user - remove_user - set_email description: | Command to be executed. It takes one of these available values: * `add_user`: add a user to a group. `userid` query parameter must be also used. * `remove_user`: remove a user from a group. `userid` query parameter must be also used. * `set_email`: set email adress of group. `email` query parameter must be also used. - in: query name: userid schema: type: string description: User login. Used with `cmd=add_user` or `cmd=remove_user`. - in: query name: email schema: type: string description: Group email. Used with `cmd=set_email`. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: bad_request summary: cmd must be set to add_user or remove_user '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: user_not_found: value: code: not_found summary: Couldn't find User with login = user_test summary: User Not Found group_not_found: value: code: not_found summary: Couldn't find Group 'group-testd' summary: Group Not Found tags: - Groups put: summary: Write group data. description: Write group data. security: - basic_authentication: [] parameters: - in: path name: group_title schema: type: string required: true description: Group title example: group-test requestBody: description: | Group definition. XML Schema used for body validation: [group.rng](../schema/group.rng) required: true content: application/xml; charset=utf-8: schema: type: object properties: title: type: string example: group-test maintainer: type: array items: type: object properties: userid: type: string example: user-test xml: attribute: true person: type: array items: type: object properties: userid: type: string example: user-test xml: attribute: true xml: wrapped: true xml: name: group responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Group 'group-testd' tags: - Groups delete: summary: Delete a group. description: Delete a group. security: - basic_authentication: [] parameters: - in: path name: group_title schema: type: string required: true description: Group title example: group-test responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Group 'group-testd' tags: - Groups "/image_templates": get: summary: Get the list of image templates. description: Get the list of image templates. security: - basic_authentication: [] responses: '200': description: List of image templates. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true image_template_package: type: array items: type: object properties: name: type: string title: type: string description: type: string xml: name: image_template_project wrapped: true xml: name: image_template_projects wrapped: true example: - name: openSUSE:Templates:Images:Tumbleweed image_template_package: - name: kiwi-templates-Minimal title: openSUSE Tumbleweed Minimal Images description: Images based on Tumbleweed for several platforms. - name: minimal-container-image title: Application Container using KIWI description: | Starting ground to build a container image for openSUSE:Factory. It follows the requirements outlined on https://en.opensuse.org/Building_derived_containers. - name: OBS:Flatpak:Templates image_template_package: - name: FlatpakTemplate title: Flatpak manifest template description: This is an example template how to build a Flatpak app in Open Build Service (OBS) '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - General Information "/issue_trackers": get: summary: Get the list of issue trackers. description: Get the list of issue trackers. security: - basic_authentication: [] responses: '200': description: | List of issue trackers. XML Schema used for body validation: [issue_trackers.rng](../schema/issue_trackers.rng) content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string example: fate kind: type: string example: fate description: type: string example: openSUSE Feature Database url: type: string example: https://features.opensuse.org/ show-url: type: string example: https://features.opensuse.org/@@@ regex: type: string example: "(?:fate|Fate|FATE)\\s*#\\s*(\\d+)" label: type: string example: fate#@@@ enable-fetch: type: string example: 'false' xml: name: issue-tracker xml: name: issue-trackers wrapped: true '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Issue Trackers post: summary: Create an issue tracker. description: Create an issue tracker. security: - basic_authentication: [] requestBody: description: | Issue tracker definition. XML Schema used for body validation: [issue_tracker.rng](../schema/issue_tracker.rng) required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: fate kind: type: string example: fate description: type: string example: openSUSE Feature Database url: type: string example: https://features.opensuse.org/ show-url: type: string example: https://features.opensuse.org/@@@ regex: type: string example: "(?:fate|Fate|FATE)\\s*#\\s*(\\d+)" label: type: string example: fate#@@@ enable-fetch: type: string example: 'false' xml: name: issue-tracker responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Validation failed. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for issue_tracker summary: Empty Body wrong_xml_element: value: code: validation_failed summary: 'issue_tracker validation error: 1:0: ERROR: Expecting element issue-tracker, got foo' summary: Wrong XML Element '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Issue Trackers "/issue_trackers/{issue_tracker_name}": get: summary: Show an issue tracker. description: Show an issue tracker. security: - basic_authentication: [] parameters: - in: path name: issue_tracker_name schema: type: string required: true description: Issue tracker name example: fate responses: '200': description: | Issue tracker definition. XML Schema used for body validation: [issue_tracker.rng](../schema/issue_tracker.rng) content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: fate kind: type: string example: fate description: type: string example: openSUSE Feature Database url: type: string example: https://features.opensuse.org/ show-url: type: string example: https://features.opensuse.org/@@@ regex: type: string example: "(?:fate|Fate|FATE)\\s*#\\s*(\\d+)" label: type: string example: fate#@@@ enable-fetch: type: string example: 'false' xml: name: issue-tracker '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Unable to find issue tracker 'foo' tags: - Issue Trackers put: summary: Update or create an issue tracker. description: Update the issue tracker given as path parameter. If it is not found, create it. security: - basic_authentication: [] parameters: - in: path name: issue_tracker_name schema: type: string required: true description: Issue tracker name example: fate requestBody: description: | Issue tracker definition. XML Schema used for body validation: [issue_tracker.rng](../schema/issue_tracker.rng) required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: fate kind: type: string example: fate description: type: string example: openSUSE Feature Database url: type: string example: https://features.opensuse.org/ show-url: type: string example: https://features.opensuse.org/@@@ regex: type: string example: "(?:fate|Fate|FATE)\\s*#\\s*(\\d+)" label: type: string example: fate#@@@ enable-fetch: type: string example: 'false' xml: name: issue-tracker responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Validation failed. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: empty_body: value: code: validation_failed summary: Document is empty, not allowed for issue_tracker summary: Empty Body wrong_xml_element: value: code: validation_failed summary: 'issue_tracker validation error: 1:0: ERROR: Expecting element issue-tracker, got foo' summary: Wrong XML Element '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Issue Trackers delete: summary: Delete an issue tracker. description: Delete an issue tracker. security: - basic_authentication: [] parameters: - in: path name: issue_tracker_name schema: type: string required: true description: Issue tracker name example: fate responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Unable to find issue tracker 'foo' tags: - Issue Trackers "/issue_trackers/{issue_tracker_name}/issues/{issue_name}": get: summary: Show an issue of an issue tracker. description: Show an issue of an issue tracker. security: - basic_authentication: [] parameters: - in: path name: issue_tracker_name schema: type: string required: true description: Issue tracker name example: fate - in: path name: issue_name schema: type: string required: true description: Issue name. example: 12345 responses: '200': description: | Issue definition. XML Schema used for body validation: [issue.rng](../schema/issue.rng) content: application/xml; charset=utf-8: schema: type: object properties: created_at: type: string example: 2021-01-18 19:17:51 UTC updated_at: type: string example: 2021-01-18 19:17:51 UTC name: type: string example: 12345 tracker: type: string example: fate label: type: string example: fate#12345 url: type: string example: https://features.opensuse.org/12345 state: type: string summary: type: string owner: type: object properties: login: type: string email: type: string realname: type: string xml: name: issue '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: issue_tracker_not_found summary: 'Error: Issue Tracker ''foo'' not found.' tags: - Issue Trackers "/my/notifications": get: summary: List the notifications of the authenticated user. description: | **(Unstable)** List user's notifications. **NOTE:** Available only in OBS Unstable. security: - basic_authentication: [] parameters: - in: query name: project schema: type: string - in: query name: page schema: type: integer - in: query name: show_maximum schema: type: string example: 1 - in: query name: notifications_type schema: type: string enum: - read - comments - requests - unread - incoming_requests - outgoing_requests - relationships_created - relationships_deleted - build_failures - reports - workflow_runs - appealed_decisions responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: string xml: attribute: true total_pages: type: string current_page: type: string notification: type: array items: type: object properties: id: type: string xml: attribute: true when: type: string description: type: string title: type: string who: type: string event_type: type: string xml: name: notifications example: count: 2 total_pages: 1 current_page: 0 notification: - id: 3 title: test 1 who: Administrator state: new when: 2021-09-30 09:12:02.000000000 +02:00 event_type: review_wanted - id: 25 title: test 2 who: User 2 event_type: comment_for_package when: 2021-09-27 09:16:19.000000000 +02:00 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Notifications "/my/notifications/{id}": put: summary: Mark a notification as read/unread. description: | **(Unstable)** If a notification is unread, it will be marked as read. If a notification is read, it will be marked as unread. **NOTE:** Available only in OBS Unstable. security: - basic_authentication: [] parameters: - in: path name: id required: true schema: type: integer responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '403': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find Notification with 'id'=213453 tags: - Notifications "/person": get: summary: List all people. description: List all people. security: - basic_authentication: [] parameters: - in: query name: prefix schema: type: string required: false description: A prefix to filter the people to look for example: Adm - in: query name: confirmed schema: type: string required: false description: List only active users. This parameter is interpreted as `true` if present, `false` otherwise. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '9' entry: - name: Admin - name: _nobody_ - name: Iggy - name: user_1 - name: repo-checker - name: reviewhero - name: user_2 - name: user_3 - name: Requestor tags: - Person post: summary: Executes a command on the person endpoint. description: | Allows executing command on the person endpoint. As of now, the only command allowed is 'register'. parameters: - in: query name: cmd schema: type: string enum: - register required: true description: The command to execute example: register requestBody: description: The data for the person to register. required: true content: application/xml: schema: type: object properties: login: type: string example: jane realname: type: string example: Jane Doe email: type: string example: janedoe@example.com password: type: string example: superpassword123 note: type: string example: Jane works in the Engineering team state: type: string example: confirmed xml: name: unregisteredperson responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Command: value: code: unknown_command summary: Allowed command is 'register'. Bad Request: value: code: err_register_save summary: 'Could not save the registration, details: Login is the name of an already existing user and Password can''t be blank.' tags: - Person "/person/register": post: summary: Registers a new person deprecated: true description: This endpoint is exactly the same as `POST /person?cmd=register`, please use that one. requestBody: description: Data for the person to register. required: true content: application/xml: schema: type: object properties: login: type: string example: jane realname: type: string example: Jane Doe email: type: string example: janedoe@example.com password: type: string example: superpassword123 note: type: string example: Jane works in the Engineering team state: type: string example: confirmed xml: name: unregisteredperson responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: permission_denied summary: | User accounts can not be registered via OBS when in LDAP mode. Please refer to your LDAP server to create new users. tags: - Person "/person/{login}": get: summary: Get details about a person security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [user.rng](../schema/user.rng) content: application/xml; charset=utf-8: schema: type: object properties: login: type: string example: user_1 email: type: string example: unconfigured@openbuildservice.org realname: type: string example: User1 state: type: string example: confirmed globalrole: type: string ignore_auth_services: type: boolean watchlist: type: array items: type: object properties: project: type: object properties: name: type: string xml: attribute: true package: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true request: type: object properties: number: type: string xml: attribute: true xml: name: watchlist xml: name: person example: login: Admin email: root@localhost realname: OBS Instance Superuser state: confirmed globalrole: Admin ignore_auth_services: false watchlist: - project: name: home:Admin package: name: ad project: home:Admin request: number: '7' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find User with login = tags: - Person post: summary: Perform changes on a registered person security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin - in: query name: cmd schema: type: string enum: - change_password - lock - delete required: true description: The command to execute against the provided person. example: change_password requestBody: description: The password in plain text when the cmd param is 'change_password'. required: false content: text/plain: schema: type: string responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [api_response.xsd](../schema/api_response.xsd) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Command: value: code: unknown_command summary: Allowed commands are ''. Bad Request: value: code: err_register_save summary: 'Could not save the registration, details: Login is the name of an already existing user and Password can''t be blank.' '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: update_user_not_authorized: value: code: update_user_not_authorized summary: You are not authorized to update this User. '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find User with login = tags: - Person put: summary: Update person security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin requestBody: description: The new data for the person referred in the login parameter. required: true content: application/xml: schema: type: object properties: login: type: string example: jane realname: type: string example: Jane Doe email: type: string example: janedoe@example.com password: type: string example: superpassword123 note: type: string example: Jane works in the Engineering team state: type: string example: confirmed xml: name: unregisteredperson responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Subaccount chaining: value: code: subaccount_chaining summary: A subaccount can not be assigned to subaccount '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Change user info not permitted: value: code: change_userinfo_no_permission summary: no permission to change userinfo for user '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: password_empty summary: Requested non-existing user tags: - Person "/person/{login}/group": get: summary: List the groups of a person description: List the groups the person belongs to. security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: count: '2' entry: - name: factory-maintainers - name: obs-developers '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find User with login = fake tags: - Person "/person/{login}/token": get: summary: List the authentication tokens of a person. description: List the authentication tokens of a person. security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [tokenlist.rng](../schema/tokenlist.rng) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true entry: type: array items: type: object properties: id: type: string xml: attribute: true description: type: string xml: attribute: true string: type: string xml: attribute: true kind: type: string xml: attribute: true triggered_at: type: string format: date-time xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true xml: name: directory example: count: 2 entry: - id: 3 string: FK49K39DKK kind: rss triggered_at: 2021-10-28 12:32:18 UTC - id: 25 description: Release ghcz string: 4T04JGI691 kind: release triggered_at: 2021-09-21 11:12:18 UTC project: devel:languages:haskell package: ghcz '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: view_user_not_authorized summary: You are not authorized to view this User. tags: - Person post: summary: Create a new authentication token for a person. description: | Create a new authentication token for a person. The token may be limited to a specific package. In this case the query parameters `project` and `package` should be provided. With an empty request body, a token of the default kind 'runservice' is created. security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin - in: query name: description schema: type: string description: 'Token description. It helps to identify a token from the rest of the tokens of a user. ' example: Rebuild gchz - in: query name: project schema: type: string description: | Project name. Should be provided, together with the package query parameter, to limit the token to a specific package. example: home:hans - in: query name: package schema: type: string description: | Package name. Should be provided, together with the project query parameter, to limit the token to a specific package. example: gchz - in: query name: operation schema: type: string enum: - runservice - rebuild - release description: | Operation indicates the kind of token that is going to be created. When operation is not specified, 'runservice' is the default value. example: runservice - in: query name: scm_token schema: type: string description: | **(Beta/Unstable)** SCM token used in OBS workflows to report back the workflow status, when the operation is workflow. It's normally possible to generate SCM tokens directly on the SCM's website like GitHub or GitLab. example: ghp_fake_token_123 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) **NOTE:** This is an example of a valid response. It should include the attribute 'name' in every 'data' tag, which is missing in the example using the schema. ``` Ok i6iF4M5cn 5 ``` content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok data: - i6iF4M5cn - 5 '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_token summary: 'Failed to create token: Name is too long (maximum is 64 characters).' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: update_user_not_authorized summary: You are not authorized to update this User. tags: - Person "/person/{login}/token/{id}": delete: summary: Delete a token of a person. description: Delete a token of the specified person. security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin - in: path name: id schema: type: string required: true description: Id of the token to be removed. example: 3 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: update_user_not_authorized summary: You are not authorized to update this User. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Token with 'id'=33 tags: - Person "/person/{login}/watchlist": get: summary: Get details about watchlist security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: project: type: object properties: name: type: string xml: attribute: true package: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true request: type: object properties: number: type: string xml: attribute: true xml: name: watchlist example: - project: name: home:Admin package: name: ad project: home:Admin request: number: '7' '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: password_empty summary: Requested non-existing user tags: - Person put: summary: Update watchlist security: - basic_authentication: [] parameters: - in: path name: login schema: type: string required: true description: Person login. example: Admin requestBody: description: The new data for the person referred in the login parameter. required: true content: application/xml: schema: type: array items: type: object properties: project: type: object properties: name: type: string xml: attribute: true package: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true request: type: object properties: number: type: string xml: attribute: true xml: name: watchlist example: - project: name: home:Admin package: name: ad project: home:Admin request: number: '7' responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '404': description: | Not found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: password_empty summary: Requested non-existing user tags: - Person "/published": get: summary: List all the published projects. description: Get a list of all the projects, all of them are considered published. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: OBS:Server:Unstable - name: devel:languages:ruby - name: openSUSE:Maintenance:9810 - name: zypp:plugins '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Published Binaries "/published/{project_name}": get: summary: List the repositories of a project with published binaries description: Get a list of the repositories of the project that already have published binaries. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: SLE_15_SP3 - name: containers - name: images - name: openSUSE_15.2 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Project tags: - Published Binaries "/published/{project_name}/{repository_name}": get: summary: List the content of the directory tree where the binaries are published at the level project/repository. description: | Get a list of architectures' directories and other files (.repo, .ymp, etc.) present at the level project/repository of the directory tree where the published binaries are stored. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: OBS:Server:Unstable.repo - name: OBS_Server.ymp - name: aarch64 - name: x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Project tags: - Published Binaries "/published/{project_name}/{repository_name}?view=status": get: summary: Present information about the last publication of the pair project and repository. description: Get information about the build process (build id, start time, etc.) for the pair project and repository. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: query name: view schema: type: string enum: - status description: Set this parameter to status in order to get details about the last publication. example: status responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string example: succeeded xml: attribute: true starttime: type: integer example: 1617574611 endtime: type: integer example: 1617574611 buildid: type: integer example: 1569496563 xml: name: status '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project: code: not_found summary: Couldn't find Project unknown: value: code: unknown tags: - Published Binaries "/published/{project_name}/{repository_name}/{architecture_name}": get: summary: List the content of the directory tree where the binaries are published at the level project/repository/architecture. description: | Get a list of binaries and other files present at the level project/repository/architecture of the directory tree as a result of successful building and publishing processes. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: apache2-mod_auth_memcookie-1.1.1-lp152.2.1.x86_64.rpm - name: obs-api-testsuite-rspec-2.11~alpha.20200618T200341.d42d8310aa-lp152.10515.1.x86_64.rpm '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Project tags: - Published Binaries "/published/{project_name}/{repository_name}/{architecture_name}/{binary_filename}": get: summary: Return the binary file itself. description: | Allow to download the binary file that was published and stored under the directory given by project/repository/architecture/. Can response with Media Types like application/x-rpm, text/xml, etc. NOTE: Use this only if you absolutely have to, as it doesn't use the redirector. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm responses: '200': description: OK content: application/*: schema: type: string format: binary text/xml: schema: type: string format: binary '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: NotFound: value: code: not_found summary: Couldn't find Project NoSuchFile: value: code: 404 summary: no such file details: 404 no such file tags: - Published Binaries "/published/{project_name}/{repository_name}/{architecture_name}/{binary_filename}?view=ymp": get: summary: Generate a ymp pattern that includes the needed repositories to install the given binary. description: | Generate a ymp pattern, which contains the list of packages needed for intalling certain software without having to create dependencies between them. Read more about patterns [in this tutorial](https://en.opensuse.org/openSUSE:Build_Service_Tutorial#Create_Patterns). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string description: Architecture name example: x86_64 - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm responses: '200': description: OK. content: application/xml; charset=utf-8: schema: type: object properties: group: type: object properties: repositories: type: object properties: repository: type: array items: type: object properties: recommended: type: string xml: attribute: true name: type: string summary: type: string description: type: string url: type: string software: type: object properties: item: type: object properties: name: type: string summary: type: string description: type: string distversion: type: string xml: attribute: true xmlns:os: type: string xml: attribute: true example: http://opensuse.org/Standards/One_Click_Install xmlns: type: string xml: attribute: true example: http://opensuse.org/Standards/One_Click_Install xml: name: metapackage example: group: repositories: repository: - recommended: true name: OBS:Server:Unstable summary: Developer versions of the Open Build Service Server description: These are the developer versions of the tools for the Open Build Service project url: https://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_15.2 - recommended: false name: openSUSE:Leap:15.2 summary: openSUSE Leap 15.2 description: openSUSE Leap borrows packages from SLE for the base system url: http://download.opensuse.org/distribution/leap/15.2/repo/oss software: item: name: virt-v2v-debuginfo summary: Debug information for package virt-v2v description: This package provides debug information for package virt-v2v distversion: openSUSEsLeap 15.2 xmlns:os: http://opensuse.org/Standards/One_Click_Install xmlns: http://opensuse.org/Standards/One_Click_Install '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: download_binary_no_permission summary: No permission for binaries from project home:Admin '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find Project tags: - Published Binaries "/request": get: summary: Get a simple directory listing of all requests description: Get a simple directory listing of all requests security: - basic_authentication: [] responses: '200': description: | OK XML Schema used for body validation: [directory.xsd](../schema/directory.xsd) content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: entry: - name: 122 - name: 123 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Requests post: summary: Create a request description: Create a request security: - basic_authentication: [] parameters: - in: query name: cmd required: true schema: type: string enum: - create description: This endpoint will refuse the creation of a new request if this parameter is not set. - in: query name: addrevision schema: type: string enum: - 1 description: Ask the server to add revisions of the current sources to the request. - in: query name: ignore_delegate schema: type: string enum: - 1 description: Enforce a new package instance in a project which has OBS:DelegateRequestTarget set - in: query name: ignore_build_state schema: type: string enum: - 1 description: Skip the build state check requestBody: description: | Request XML **NOTE:** You cannot pass the request id in the xml. You can pass the history in the xml, but it will be simply ignored. required: true content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request responses: '200': description: | OK. XML Schema used for body validation: [request.rng](../schema/request.rng) content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: expand_error summary: The source of package test-project/test-package for revision 2 is broken '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: create_bs_request_not_authorized summary: You are not authorized to create this Bs request. tags: - Requests "/request?view=collection": get: summary: Get a collection of requests for a specified target. description: | Get a collection of requests for a specified target. **NOTE:** You need to set at least one of the following parameters in order to use this endpoint: * `user` * `group` * `project` * `package` * `states` * `reviewstates` * `types` * `ids` security: - basic_authentication: [] parameters: - in: query name: user schema: type: string description: | Filter the results of requests and open reviews for a certain user. If no other parameters are applied, it will include requests where the user is maintainer of the target or the creator of the request. example: hans - in: query name: group schema: type: string description: Filter the results of requests and open reviews for a certain group. example: obs-group - in: query name: project schema: type: string description: | Limit the results to requests with this project as source or target, or requests which were assigned to be reviewed by the maintainers of this project. example: home:hans - in: query name: package schema: type: string description: | Limit the results to requests with this package as source or target, or requests which were assigned to be reviewed by the maintainers of this package. example: ruby - in: query name: states schema: type: string description: Limit results to a given request state. Multiple states can be provided as a comma separated list. example: new,review - in: query name: reviewstates schema: type: string description: Limit results to a given review state. Multiple states can be provided as a comma separated list. example: new,declined,accepted,superseded,obsoleted - in: query name: types schema: type: string description: Limit the results to certain action types. Multiple types can be provided as a comma separated list. example: add_role,submit - in: query name: roles schema: type: string description: Limit the results to a given role. Multiple roles can be provided as a comma separated list. example: creator,maintainer,reviewer,source,target - in: query name: withhistory schema: type: string description: Include the request history in the results. example: 1 - in: query name: withfullhistory schema: type: string description: Includes both, request and review history in the results. example: 1 - in: query name: limit schema: type: integer description: Limit the results by the specified amount of requests. example: 7 - in: query name: offset schema: type: integer description: Offset the results by the specified amount of requests. example: 7 - in: query name: ids schema: type: string description: Limit the result to specified request id's. Multiple id's can be provided as a comma separated list. example: 151923 responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 7 xml: attribute: true request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request xml: name: collection '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Require Filter: value: code: require_filter summary: This call requires at least one filter, either by user, project or package or states or types or reviewstates Not Found: value: code: not_found summary: Couldn't find User with login = foo tags: - Requests "/request/{id}": get: summary: Show details about a specified request. description: Show details about a specified request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 - in: query name: withhistory schema: type: string description: Include the request history in the results. example: 1 - in: query name: withfullhistory schema: type: string description: Includes both, request and review history in the results. example: 1 responses: '200': description: | OK. XML Schema used for body validation: [request.rng](../schema/request.rng) content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find request with id '5' tags: - Requests post: summary: Apply certain actions on a specified request. description: Apply certain actions on a specified request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 - in: query name: cmd description: | - `addreview`: Add a review to a request. **NOTE:** You need to specify who has to address the review by providing an additional paramter. Possible options are: * by_user * by_group * by_project - `assignreview`: Accept a review for a given group and assign a new review to a specific user. **NOTE:** You need to pass the group name in the `by_group` parameter and the new reviewer in the `reviewer` parameter. - `changestate`: Modify the state of a given request. **NOTE:** You need to pass the new state through the `newstate` parameter. Changing from one state to another is in certain cases not allowed. You can still force the operation by using the `force` parameter. To supersede the given request with another request, pass the ID of the other request in the `superseded_by` parameter, in addition to `newstate=superseded`. - `changereviewstate`: Change the state of a review inside a given request. - `setpriority`: Change the priority of a given request. You have to pass the choosen priority through the `priority` parameter. Possible values are: * low * moderate * important * critical - `setincident`: Change the target incident for maintenance_incident actions **NOTE:** You need to provide the incident number through the `incident` parameter. - `setacceptat`: Set or modify the accept_at time. Either specified by the `time` parameter or by default set to now. - `approve`: Pre-approve a request in the review state. It will turn into state `accepted` after the last review. - `cancelapproval`: Reset the approval of a request schema: type: string style: form explode: false examples: addreview: value: cmd=addreview&by_group=heroes assignreview: value: cmd=assignreview&by_group=heroes&reviewer=foo assignreview with revert: value: cmd=assignreview&by_group=heroes&reviewer=foo&revert=1 changestate: value: cmd=changestate&newstate=accepted changestate (superseded): value: cmd=changestate&newstate=superseded&superseded_by=173 changereviewstate: value: cmd=changereviewstate&by_group=heroes&newstate=new&comment=reopened setpriority: value: cmd=setpriority&priority=low&comment=notsoimportant setincident: value: cmd=setincident&incident=12 setacceptat: value: cmd=setacceptat&time='2020-12-01%2000:00:00%20UTC' approve: value: cmd=approve cancelapproval: value: cmd=cancelapproval - in: query name: newstate schema: type: string description: Define the new state - in: query name: superseded_by schema: type: string description: Required and used only with the combination of the `changestate` command and the `newstate=superseded` parameter - Supersede the given request with another request by passing its ID in this parameter - in: query name: priority schema: type: string description: Define the new priority - in: query name: by_user schema: type: string description: Specify the user of a new review - in: query name: by_group schema: type: string description: Specify the group of the new review - in: query name: by_project schema: type: string description: Specify the project of the new review - in: query name: by_package schema: type: string description: Specify the package of the new review - in: query name: force schema: type: string allowEmptyValue: true description: Pass this parameter with an empty value to force the `changestate` command. - in: query name: incident schema: type: string description: Specify the incident number for `setincident` - in: query name: revert schema: type: string description: Revert an assignreview command to assign review back to group - in: query name: time schema: type: string description: Specify the time for `setacceptat` - in: query name: comment schema: type: string description: Add a comment to one of the actions responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: no_maintenance_release_target summary: | Maintenance incident request contains release target project test_maintenance_project with invalid project kind "standard" (should be "maintenance_release") for package package01 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Request Not Modifiable: value: code: request_not_modifiable summary: request is not in review state Not Found: value: code: not_found summary: Couldn't find request with id '120' tags: - Requests put: summary: Modify a given request. description: | Modify a given request. **NOTE:** Certain parts of a request can only be changed by admins. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 requestBody: description: | Request XML **NOTE:** You cannot pass the request id in the xml. You can pass the history in the xml, but it will be simply ignored. XML Schema used for body validation: [request.rng](../schema/request.rng) required: true content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request responses: '200': description: | OK. XML Schema used for body validation: [request.rng](../schema/request.rng) content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: request_save_error summary: Auto accept time is in the past '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find request with id '10' tags: - Requests delete: summary: Delete a given request. description: Delete a given request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find request with id '10' tags: - Requests "/request/{id}?cmd=diff": post: summary: Get the diff for all packages affected by the request. description: Get the diff for all packages affected by the request. security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 - in: query name: diff_to_superseded schema: type: integer description: 'Diff relative to a given superseded request. State the id of the corresponding superseded request. ' example: 10401 - in: query name: view schema: type: string enum: - xml description: Set this parameter to xml in order to receive a structured diff instead of plain text. - in: query name: withissues schema: type: string enum: - true - 1 description: Include parsed issues from referenced sources - in: query name: withdescriptionissues schema: type: string description: Include parsed issues from request description responses: '200': description: OK content: text/plain; charset=utf-8: schema: type: string example: | spec files: ----------- --- test.spec +++ test.spec @@ -0,0 +1 @@ +# NEW COMMENT \ No newline at end of file application/xml; charset=utf-8: schema: type: object properties: id: type: string example: 12 xml: attribute: true actions: type: string example: 0 xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:Iggy:branches:home:Admin xml: attribute: true package: type: string example: ruby xml: attribute: true rev: type: string example: 3 xml: attribute: true target: type: object properties: project: type: string example: home:Admin xml: attribute: true package: type: string example: ruby xml: attribute: true options: type: object properties: sourceupdate: example: cleanup type: string sourcediff: type: object properties: key: type: string example: 9dbe9eb1767c5e12c69839af893dc239 xml: attribute: true old: &1 type: object properties: project: type: string example: home:Iggy:branches:home:Admin xml: attribute: true package: type: string example: ruby xml: attribute: true rev: type: string example: 3 xml: attribute: true srcmd5: type: string example: 59300f4ba65f53334b2e2a39f87ba3a0 xml: attribute: true new: *1 files: type: array items: type: object properties: file: type: object properties: state: type: string example: changed xml: attribute: true old: &2 type: object properties: name: type: string example: ruby.spec xml: attribute: true md5: type: string example: d4f573d2bf9a0e306f87dad7eee0cf56 xml: attribute: true size: type: string example: 70 xml: attribute: true new: *2 diff: type: string example: | spec files: ----------- --- test.spec +++ test.spec @@ -0,0 +1 @@ +# NEW COMMENT \ No newline at end of file issues: type: array items: type: object properties: issue: type: object properties: state: type: string example: added xml: attribute: true tracker: type: string example: bnc xml: attribute: true name: type: string example: 922894 xml: attribute: true label: type: string example: boo#944302 xml: attribute: true url: type: string example: https://bugzilla.opensuse.org/show_bug.cgi?id=944302 xml: attribute: true components: schemas: NewOldDestination: *1 OldNewFile: *2 xml: name: diff '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: not_found summary: Couldn't find request with id '355' tags: - Requests "/search": get: summary: Search in projects or in packages. description: Get a list of projects or a list of packages that match a XPath expression, passed in the query parameter `match`. security: - basic_authentication: [] parameters: - in: query name: in required: true schema: type: string enum: - projects - packages example: projects description: | Where to search and apply a XPath expression: either the list of projects or the list of packages. Example of a result when `projects` is selected: ``` x86_64 x86_64 Standard OBS instance at build.opensuse.org This instance delivers the default build targets for OBS. https://api.opensuse.org/public ``` Example of a result when `packages` is selected: ``` ``` - in: query name: match required: true schema: type: string description: XPath expression used to filter the results. examples: non_empty_element: summary: Non empty element value: repository/arch non_empty_attribute: summary: Non empty attribute value: repository/name element_content: summary: Element content value: repository/arch='x86_64' attribute_content: summary: Attribute content value: repository/name='openSUSE_Tumbleweed' compound_condition: summary: Compound condition value: name='OBS:Server:Unstable'+and+repository/arch='x86_64' - in: query name: return schema: type: string example: repository/name description: | XPath expression that defines which values will be returned. Instead of returning a collection of projects or packages, the result will be a collection of: - contents of elements, when that XPath expression match elements, or, - values of atttributes, when that XPath expression match atttributes. Example of result, for a query string like `?in=projects&match=repository/arch='x86_64'&return=repository/name`: ``` openSUSE_Tumbleweed 15.3 ``` - in: query name: values schema: type: string example: 1 description: | When set to `1`, return a list of values, instead of returning a list of projects or packages. The result will be a collection of: - contents of elements, when the expression defined in the `match` query parameter match elements. For example: `match=repository/arch`. - values of atttributes, when the expression defined in the `match` query parameter match atttributes. For example: `match=repository/name`. Example of result, for a query string like `?in=projects&match=repository/path/project&values=1`: ``` openSUSE.org:openSUSE:Factory openSUSE.org:openSUSE:Leap:15.3 ``` responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: oneOf: - type: object properties: matches: type: integer xml: attribute: true project: type: array items: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true xml: name: collection - type: object properties: matches: type: integer xml: attribute: true package: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true title: type: string description: type: string xml: name: collection '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_in_parameter: summary: Invalid in parameter value: code: 400 origin: backend summary: "'in' parameter needs to be either 'projects' or 'packages'" missing_match_parameter: summary: Missing match parameter value: code: 400 origin: backend summary: parameter 'match' is missing '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: Search in projects or in packages. description: This endpoint is exactly the same as `GET /search`, please use that one. tags: - Search "/search/channel": get: summary: List channel objects that match a XPath condition. description: Return a collection of channel objects with release informations that match a XPath condition. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all channels. Available predicates are: - General fields: `@package` and `@project` - Binary fields: `binary/@name`, `binary/@binaryarch`, `binary/@package` and `binary/@supportstatus` - Target fields: `target/disabled`, `target/updatefor/@project` and `target/updatefor/@product` examples: all: summary: All value: "*" package: summary: Name of the package that contains the `_channel` xml value: "@package=openSUSE_Channels" function_contains: summary: Function contains value: starts_with(@project,'open') responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 1 xml: attribute: true channel: type: array items: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true binary: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true supportstatus: type: string xml: attribute: true target: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true updatefor: type: object properties: project: type: string xml: attribute: true product: type: string xml: attribute: true baseversion: type: string xml: attribute: true version: type: string xml: attribute: true patchlevel: type: string xml: attribute: true xml: name: channel xml: name: collection examples: no_results: summary: No matching results value: matches: 0 one_result: summary: One matching result value: matches: 1 channel: - project: openSUSE:Channels package: openSUSE:Leap_15_2_x86 binary: name: Mesa project: openSUSE:Leap:15.2:Update package: Mesa supportstatus: l3 target: project: openSUSE:Updates:Leap:15.2:x86 repository: update updatefor: project: openSUSE:Leap:15.2:Update product: Leap baseversion: 15 version: 2 patchlevel: 2 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'channels' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List channel objects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/channel`, please use that one. tags: - Search "/search/channel/binary": get: summary: List channel objects that match a XPath condition. description: | Return a collection of channel objects with release informations that match a XPath condition. This operation is the same as the one defined with `GET /search/channel/binary/id` with the exception of the results returned. While the former operation only returns a list of channel objects with the channel definition related to the binary, this one returns a list of channel objects with release information. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all channels. Available predicates are: - General fields: `@name`, `@binaryarch`, `@package`, `@project` and `@supportstatus` - Target fields: `target/disabled` - Updatefor fields: `updatefor/@product` and `updatefor/@product` examples: all: summary: All value: "*" package: summary: Name of the package that contains the `_channel` xml value: "@name=Mesa-debuginfo" function_contains: summary: Function contains value: starts_with(@project,'open') responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 1 xml: attribute: true channel: type: array items: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true binary: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true supportstatus: type: string xml: attribute: true target: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true updatefor: type: object properties: project: type: string xml: attribute: true product: type: string xml: attribute: true baseversion: type: string xml: attribute: true version: type: string xml: attribute: true patchlevel: type: string xml: attribute: true xml: name: channel xml: name: collection examples: no_results: summary: No matching results value: matches: 0 one_result: summary: One matching result value: matches: 1 channel: - project: openSUSE:Channels package: openSUSE:Leap_15_2_x86 binary: name: Mesa project: openSUSE:Leap:15.2:Update package: Mesa supportstatus: l3 target: project: openSUSE:Updates:Leap:15.2:x86 repository: update updatefor: project: openSUSE:Leap:15.2:Update product: Leap baseversion: 15 version: 2 patchlevel: 2 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'channel_binaries' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List channel objects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/channel/binary`, please use that one. tags: - Search "/search/channel/binary/id": get: summary: List channel objects that match a XPath condition. description: | Return a collection of channel objects that match a XPath condition. This operation is the same as the one defined with `GET /search/channel/binary` with the exception of the results returned. While the former operation returns a list of channel objects with release information, this one only returns a list of channel objects with the channel definition related to the binary. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all released binaries. Available predicates are: - General fields: `@name`, `@binaryarch`, `@package`, `@project` and `@supportstatus` - Target fields: `target/disabled` - Updatefor fields: `updatefor/@product` and `updatefor/@product` examples: all: summary: All value: "*" package: summary: Name of the package that contains the `_channel` xml value: "@name=Mesa-debuginfo" function_contains: summary: Function contains value: starts_with(@project,'open') responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 1 xml: attribute: true channel: type: array items: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true binary: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true supportstatus: type: string xml: attribute: true target: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true updatefor: type: object properties: project: type: string xml: attribute: true product: type: string xml: attribute: true baseversion: type: string xml: attribute: true version: type: string xml: attribute: true patchlevel: type: string xml: attribute: true xml: name: channel xml: name: collection examples: no_results: summary: No matching results value: matches: 0 one_result: summary: One matching result value: matches: 1 channel: - project: openSUSE:Channels package: openSUSE:Leap_15_2_x86 binary: name: Mesa project: openSUSE:Leap:15.2:Update package: Mesa '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'channel_binaries' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List channel objects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/channel/binary/id`, please use that one. tags: - Search "/search/issue": get: summary: List issues that match a XPath condition. description: Return a collection of issue objects that match a XPath condition. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all issues. Available predicates are: - Issue fields: `@name`, `@state`, and `@tracker`. - Issue owner fields: `owner/@email`, and `owner/@login`. examples: all: summary: All value: "*" name: summary: Issue name value: "@name='5021'" function_contains: summary: Funcion contains value: contains(owner/@email,'my-domain.org') combination: summary: Tracker and state value: "@tracker='bnc' and @state='CLOSED'" - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true issue: type: array items: type: object properties: created_at: type: string example: 2021-01-18 19:17:51 UTC updated_at: type: string example: 2021-01-18 19:17:51 UTC name: type: string example: 12345 tracker: type: string example: fate label: type: string example: fate#12345 url: type: string example: https://features.opensuse.org/12345 state: type: string summary: type: string owner: type: object properties: login: type: string email: type: string realname: type: string xml: name: issue xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 issue: - name: 941384 created_at: 2015-08-12 06:11:00 UTC updated_at: 2020-01-09 10:58:33 UTC tracker: bnc label: boo#941384 url: https://opensusebugzilla-next.opensuse.org/show_bug.cgi?id=941384 state: CLOSED summary: vmware-guest-kmp is not built for SLE_11_SP3 owner: login: user_1 email: user_1@example.com realname: - name: 4883 created_at: 2018-12-11 03:22:54 UTC updated_at: 2018-12-11 03:22:54 UTC tracker: boost label: boost#4883 url: https://svn.boost.demo/trac/boost/ticket/4883 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'issues' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List issues that match a XPath condition. description: This endpoint is exactly the same as `GET /search/issue`, please use that one. tags: - Search "/search/missing_owner": get: summary: | Search for packages that miss the definition for a by default responsible person or group. security: - basic_authentication: [] parameters: - in: query name: project schema: type: string description: Only return results for a given project. - in: query name: filter schema: type: string description: | A comma separated list of role names that should be taken into account in the result. example: bugowner,maintainer - in: query name: attribute schema: type: string description: | Choose the attribute name that marks the rootproject which defines the owner's for all corresponding subprojects and limit the returned results to those. The default value is `OBS:OwnerRootProject`. responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: missing_owner: type: array items: type: object properties: rootproject: type: string example: openSUSE xml: attribute: true project: type: string example: openSUSE:Factory xml: attribute: true package: type: string example: yast2-branding-openSUSE xml: attribute: true xml: name: collection '400': description: Bad request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_attribute summary: 'Attribute ''foo'' must be in the $NAMESPACE:$NAME style ' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: unknown_project summary: 'Project not found: bla' tags: - Search post: deprecated: true summary: | Search for packages that miss the definition for a by default responsible person or group. description: This endpoint is exactly the same as `GET /search/missing_owner`, please use that one. tags: - Search "/search/owner": get: summary: Search for the users or groups who are the owners of a project or package. description: | The owners are users/groups with the maintainer or bugowner roles in the given project/package. By default the owner search will get results from projects (and their sub-projects) that have the OBS:OwnerRootProject attribute. You can search for the package name, a user login, a group title or a binary package name. If you don't want to search the default projects, you can provide another project to search in. security: - basic_authentication: [] parameters: - in: query name: package schema: type: string description: The name of the package whose owners you want to search. - in: query name: binary schema: type: string description: 'The name of a binary package whose owners you want to search. ' - in: query name: user schema: type: string description: 'Search what this user is owner of. ' - in: query name: group schema: type: string description: 'The title of a group. Search what this group is owner of. ' - in: query name: limit schema: type: string description: | Limit the number of returned results. This is only available for the search with the `binary` parameter. The default is set to `1`, use `0` to receive all results or `-1` for the deepest match. - in: query name: devel schema: type: string enum: - true - false - 1 - 0 description: Include/exclude devel packages in the result. - in: query name: project schema: type: string description: | By default the owner search will get results from projects (and their sub-projects) that have the OBS:OwnerRootProject attribute. Use this parameter to overwrite the default and search in this project (and it's sub-projects). - in: query name: filter schema: type: string description: | A comma separated list of role names that should be taken into account in the result. example: bugowner,maintainer - in: query name: attribute schema: type: string description: | Choose the attribute name that marks the rootproject which defines the owner's for all corresponding subprojects and limit the returned results to those. The default value is `OBS:OwnerRootProject`. responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: owner: type: array items: type: object properties: rootproject: type: string example: openSUSE xml: attribute: true project: type: string example: openSUSE:Factory xml: attribute: true package: type: string example: yast2-branding-openSUSE xml: attribute: true person: type: array items: type: object properties: name: type: string example: foo xml: attribute: true role: type: string example: bugowner xml: attribute: true group: type: array items: type: object properties: name: type: string example: bar xml: attribute: true role: type: string example: maintainer xml: attribute: true xml: name: collection examples: only package: summary: Search by package name description: Search by package name 'aaa_base' only. value: owner: - rootproject: '' project: Base:System package: aaa_base person: name: user_1 role: maintainer - rootproject: '' project: Base:System person: name: user_1 role: maintainer group: name: factory-maintainers role: maintainer - rootproject: '' project: Base person: name: user_2 role: maintainer only project: summary: Search by project name description: Search by project name 'openSUSE:Factory' only. value: owner: - rootproject: '' project: openSUSE:Factory person: name: user_1 role: maintainer group: name: factory-maintainers role: maintainer - rootproject: '' project: openSUSE group: name: factory-maintainers role: maintainer only binary: summary: Search by binary name description: Search by binary name 'aaa_base' only. value: owner: rootproject: openSUSE project: Base:System package: aaa_base person: - name: user_1 role: maintainer - name: user_2 role: maintainer group and project: summary: Search by group and project description: Search by group title 'factory-maintainers' and project name 'openSUSE:Leap:42.3'. value: owner: rootproject: openSUSE:Leap:42.3 project: openSUSE:Leap:42.3 '400': description: Bad request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: without expected parameters: summary: Without the expected parameters description: One or a combination of the parameters package, user, group, binay and project is required. value: code: no_binary summary: 'The search needs at least a ''binary'', ''package'' or ''user'' parameter ' search root not set: summary: Search root is not set description: At least one of the projects in your instance should contain the OBS:OwnerRootProject attribute. value: summary: 'The attribute OBS:OwnerRootProject is not set to define default projects. ' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: unknown_project summary: 'Project not found: bla' Group Not Found: value: code: not_found summary: Couldn't find Group 'fake' tags: - Search post: deprecated: true summary: Search for the users or groups who are the owners of a project or package. description: This endpoint is exactly the same as `GET /search/owner`, please use that one. tags: - Search "/search/package": get: summary: List package objects that match a XPath condition. description: | Return a collection of package objects that match a XPath condition. This operation is the same as the one defined with [GET /search/package/id](#/Search/get_search_package_id) with the exception of the results returned. While the former operation returns a list of package names, this one return a list of package objects. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all packages. Available predicates are: - Package fields: `@name`, `title`, `description`, `scmsync`, and `kind`. - `@project`: name of the project of the package. - Devel package fields: - `devel/@project`: name of the devel project of the package. - `devel/@package`: name of the devel package of the package. - Issue fields: `issue/@state`, `issue/@name`, `issue/@tracker`, and `issue/@change`. - Issue owner fields: `issue/owner/@email`, and `issue/owner/@login`. - Fields of attributes of an issue: `attribute_issue/@state`, `attribute_issue/@name`, and `attribute_issue/@tracker`. - Fields of owners of an attribute of an issue: `attribute_issue/owner/@email` and `attribute_issue/owner/@login`. - Users and groups: - `person/@userid`: login of a user related to this package. - `person/@role`: name of the role which a user could be related with this package. - `group/@groupid`: name (title) of a group related to this package. - `group/@role`: name of the role which a group could be related with this package. - `attribute/@name`: name of an attribute of the package. - `project/attribute/@name`: name of an attribute of the project of the package. examples: all: summary: All value: "*" project_name_and_package_name: summary: Project name and package name value: "@project='my:project:name' and @name='my_package_name'" function_contains: summary: Function contains value: contains(description,'editor') combination: summary: User and role value: person/@userid='iggy' and person/@role='reviewer' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true package: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true title: type: string description: type: string xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 package: - project: home:Admin name: ruby title: A Glass of Blessings description: Qui quod nostrum laudantium. - project: home:Admin:branch:home:Admin name: ruby title: To Your Scattered Bodies Go description: Quasi reiciendis qui ut. '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'packages' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List packages that match a XPath condition. description: This endpoint is exactly the same as `GET /search/package`, please use that one. tags: - Search "/search/package/id": get: summary: List packages that match a XPath condition. description: | Return a collection of package names that match a XPath condition. This operation is the same as the one defined with [GET /search/package](#/Search/get_search_package) with the exception of the results returned. While the former operation returns a list of package objects, this one return a list of package names. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all packages. Available predicates are: - Package fields: `@name`, `title`, `description`, `scysync`, and `kind`. - `@project`: name of the project of the package. - Devel package fields: - `devel/@project`: name of the devel project of the package. - `devel/@package`: name of the devel package of the package. - Issue fields: `issue/@state`, `issue/@name`, `issue/@tracker`, and `issue/@change`. - Issue owner fields: `issue/owner/@email`, and `issue/owner/@login`. - Fields of attributes of an issue: `attribute_issue/@state`, `attribute_issue/@name`, and `attribute_issue/@tracker`. - Fields of owners of an attribute of an issue: `attribute_issue/owner/@email` and `attribute_issue/owner/@login`. - Users and groups: - `person/@userid`: login of a user related to this package. - `person/@role`: name of the role which a user could be related with this package. - `group/@groupid`: name (title) of a group related to this package. - `group/@role`: name of the role which a group could be related with this package. - `attribute/@name`: name of an attribute of the package. - `project/attribute/@name`: name of an attribute of the project of the package. examples: all: summary: All value: "*" project_name_and_package_name: summary: Project name and package name value: "@project='my:project:name' and @name='my_package_name'" function_contains: summary: Function contains value: contains(description,'editor') combination: summary: User and role value: person/@userid='iggy' and person/@role='reviewer' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true package: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true title: type: string description: type: string xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 package: - project: home:Admin name: ruby - project: home:Admin:branch:home:Admin name: ruby '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'packages' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List packages that match a XPath condition. description: This endpoint is exactly the same as `GET /search/package/id`, please use that one. tags: - Search "/search/package_id": get: deprecated: true summary: List packages that match a XPath condition. description: This endpoint is exactly the same as `GET /search/package/id`, please use that one. tags: - Search post: deprecated: true summary: List packages that match a XPath condition. description: This endpoint is exactly the same as `GET /search/package/id`, please use that one. tags: - Search "/search/person": get: summary: List users that match a XPath condition. description: Return a collection of users that match a XPath condition. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all users. Available predicates are: `@login`, `@email`, `@realname`, and `@state`. examples: all: summary: All value: "*" login: summary: Login value: "@login='user_1'" function_contains: summary: Function contains value: contains(@realname,'lee') combination: summary: User email and state value: "@email='iggy@example.com' and @state='confirmed'" - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true person: type: array items: type: object properties: login: type: string email: type: string realname: type: string state: type: string globalrole: type: string ignore_auth_services: type: string xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 person: - login: Iggy email: iggy@example.com realname: Shanta state: confirmed - login: superkraig email: kraig@example.com realname: Kraig Doe state: confirmed globalrole: Admin ignore_auth_services: false '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate '@foo' for 'users' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List users that match a XPath condition. description: This endpoint is exactly the same as `GET /search/person`, please use that one. tags: - Search "/search/project": get: summary: List project objects that match a XPath condition. description: | Return a collection of projects objects that match a XPath condition. This operation is the same as the one defined with [GET /search/project/id](#/Search/get_search_project_id) with the exception of the results returned. While the former operation returns a list of project names, this one return a list of project objects. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all projects. Available predicates are: - Project fields: `@name`, `@kind`, `title`, `description`, `scmsync`, `url`, and `remoteurl`. - `package/@name`: name of the packages of the project. - `attribute/@name`: name of the attributes of the project. - Users and groups: - `person/@userid`: login of a user related to this project. - `person/@role`: name of the role which a user could be related with this project. - `group/@groupid`: name (title) of a group related to this project. - `group/@role`: name of the role which a group could be related with this project. - More complex predicates are: `maintenance/maintains/@project`, `repository/@name`, `repository/path/@project`, `repository/releasetarget/@trigger`. examples: all: summary: All value: "*" name: summary: Project name value: "@name='my:project:name'" function_contains: summary: Funcion contains value: contains(@name,'Test') combination: summary: User and role value: person/@userid='iggy' and person/@role='reviewer' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true project: type: array items: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 project: - name: home:Iggy title: description: person: userid: Iggy role: maintainer - name: home:Iggy:branches:home:Admin title: East of Eden description: '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'projects' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List project objects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/project`, please use that one. tags: - Search "/search/project/id": get: summary: List projects that match a XPath condition. description: | Return a collection of project names that match a XPath condition. This operation is the same as the one defined with [GET /search/project](#/Search/get_search_project) with the exception of the results returned. While the former operation returns a list of project objects, this one return a list of project names. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all projects. Available predicates are: - Project fields: `@name`, `@kind`, `title`, `description`, `scmsync`, `url`, and `remoteurl`. - `package/@name`: name of the packages of the project. - `attribute/@name`: name of the attributes of the project. - Users and groups: - `person/@userid`: login of a user related to this project. - `person/@role`: name of the role which a user could be related with this project. - `group/@groupid`: name (title) of a group related to this project. - `group/@role`: name of the role which a group could be related with this project. - More complex predicates are: `maintenance/maintains/@project`, `repository/@name`, `repository/path/@project`, `repository/releasetarget/@trigger`. examples: all: summary: All value: "*" name: summary: Project name value: "@name='my:project:name'" function_contains: summary: Funcion contains value: contains(@name,'Test') combination: summary: User and role value: person/@userid='iggy' and person/@role='reviewer' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true project: type: array items: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 project: - name: home:Admin - name: openSUSE.org '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'projects' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List projects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/project/id`, please use that one. tags: - Search "/search/project_id": get: deprecated: true summary: List projects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/project/id`, please use that one. tags: - Search post: deprecated: true summary: List projects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/project/id`, please use that one. tags: - Search "/search/published/binary/id": get: summary: Search for currently available binaries in the publish area. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: XPath expression. example: project='home:foo'+and+name='bar' - in: query name: limit schema: type: integer description: Override default maximum value of 1000 entries to be returned. example: 20 - in: query name: withdownloadurl schema: type: integer enum: - 0 - 1 description: | Add the download url in the results as attribute `downloadurl`. A value `0` means without the download url. A value `1` means with the download url. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true limited: type: boolean xml: attribute: true binary: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true repository: type: string xml: attribute: true version: type: string xml: attribute: true release: type: string xml: attribute: true arch: type: string xml: attribute: true filename: type: string xml: attribute: true filepath: type: string xml: attribute: true baseproject: type: string xml: attribute: true type: type: string xml: attribute: true downloadurl: type: string xml: attribute: true xml: name: collection wrapped: true examples: including_download_urls: value: matches: 2 binary: - name: package_name project: home:foo package: package_name repository: openSUSE_Tumbleweed version: 20201220 release: 3.1 arch: src filename: package_name-20201220-3.1.src.rpm filepath: home:/foo/openSUSE_Tumbleweed/src/package_name-20201220-3.1.src.rpm baseproject: home:bar type: rpm downloadurl: https://server1.myorg.org/repositories/home:/foo/openSUSE_Tumbleweed/src/package_name-20201220-3.1.src.rpm - name: package_name2 project: home:foo package: package_name2 repository: openSUSE_Tumbleweed version: 20201220 release: 3.1 arch: src filename: package_name2-20201220-3.1.src.rpm filepath: home:/foo/openSUSE_Tumbleweed/src/package_name2-20201220-3.1.src.rpm baseproject: home:bar type: rpm downloadurl: https://server1.myorg.org/repositories/home:/foo/openSUSE_Tumbleweed/src/package_name2-20201220-3.1.src.rpm summary: Including download urls description: Result after adding the `withdownloadurl=1` parameter/value pair to the request. with_limit: value: matches: 2 limited: true binary: - name: package_name project: home:foo repository: openSUSE_Tumbleweed package: package_name version: 20201220 release: 3.1 arch: src filename: package_name-20201220-3.1.src.rpm filepath: home:/foo/openSUSE_Tumbleweed/src/package_name-20201220-3.1.src.rpm baseproject: home:bar type: rpm - name: package_name2 project: home:foo package: package_name2 repository: openSUSE_Tumbleweed version: 20201220 release: 3.1 arch: src filename: package_name2-20201220-3.1.src.rpm filepath: home:/foo/openSUSE_Tumbleweed/src/package_name2-20201220-3.1.src.rpm baseproject: home:bar type: rpm summary: Limiting results description: Result after adding `limit=2` parameter/value pair to the request. '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 400 summary: missing string terminator '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_not_found: value: code: 404 summary: project 'home:foo' does not exist description: 404 project 'home:foo' does not exist summary: Not Found tags: - Search post: deprecated: true summary: Search for currently available binaries in the publish area. description: This endpoint is exactly the same as `GET /search/published/binary/id`, please use that one. tags: - Search "/search/published/pattern/id": get: summary: Search for published patterns. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: XPath expression. example: project='home:foo'+and+name='bar' - in: query name: limit schema: type: integer description: Override default maximum value of 1000 entries to be returned. example: 20 - in: query name: withdownloadurl schema: type: integer enum: - 0 - 1 description: | Add the download url in the results as attribute `downloadurl`. A value `0` means without the download url. A value `1` means with the download url. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true limited: type: boolean xml: attribute: true pattern: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true repository: type: string xml: attribute: true filename: type: string xml: attribute: true filepath: type: string xml: attribute: true baseproject: type: string xml: attribute: true type: type: string xml: attribute: true downloadurl: type: string xml: attribute: true xml: name: collection wrapped: true examples: including_download_urls: value: matches: 1 pattern: - name: OBS_Server project: OBS:Server:Unstable repository: SLE_12_SP4 filename: OBS_Server.ymp filepath: OBS:/Server:/Unstable/SLE_12_SP4/OBS_Server.ymp baseproject: SUSE:SLE-12:SLE-Module-Adv-Systems-Management type: ymp downloadurl: https://download.opensuse.org/repositories/OBS:/Server:/Unstable/SLE_12_SP4/SLE_12_SP4/OBS_Server.ymp summary: Including download urls description: Result after adding the `withdownloadurl=1` parameter/value pair to the request. with_limit: value: matches: 9 limited: true pattern: - name: OBS_Server project: OBS:Server:Unstable repository: 15.3 filename: OBS_Server.ymp filepath: OBS:/Server:/Unstable/15.3/OBS_Server.ymp baseproject: SUSE:SLE-15:GA type: ymp - name: OBS_Server project: OBS:Server:Unstable repository: SLE_12_SP4 filename: OBS_Server.ymp filepath: OBS:/Server:/Unstable/SLE_12_SP4/OBS_Server.ymp baseproject: SUSE:SLE-12:SLE-Module-Adv-Systems-Management type: ymp summary: Limiting results description: Result after adding `limit=2` parameter/value pair to the request. without_matches: value: matches: 0 summary: No matches description: 'Empty result, when there is no matches. For example: `?match=project=''home:bs-team:OBS''`. ' '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 400 summary: missing string terminator '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: Search for published patterns. description: This endpoint is exactly the same as `GET /search/published/pattern/id`, please use that one. tags: - Search "/search/published/repoinfo/id": get: summary: Search for currently available repositories in the publish area. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: XPath expression. example: project='home:foo' - in: query name: limit schema: type: integer description: Override default maximum value of 1000 entries to be returned. example: 20 - in: query name: withdownloadurl schema: type: integer enum: - 0 - 1 description: | Add the download url in the results as attribute `downloadurl`. A value `0` means without the download url. A value `1` means with the download url. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true limited: type: boolean xml: attribute: true repoinfo: type: array items: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true xml: name: collection wrapped: true examples: including_download_urls: value: matches: 1 repoinfo: - project: OBS:Server:Unstable repository: SLE_12_SP4 downloadurl: https://download.opensuse.org/repositories/OBS:/Server:/Unstable/SLE_12_SP4/SLE_12_SP4/OBS_Server.ymp summary: Including download urls description: Result after adding the `withdownloadurl=1` parameter/value pair to the request. with_limit: value: matches: 2 limited: true repoinfo: - project: OBS:Server:Unstable repository: SLE_12_SP4 - project: OBS:Server:Unstable repository: SLE_12_SP5 summary: Limiting results description: Result after adding `limit=2` parameter/value pair to the request. without_matches: value: matches: 0 summary: No matches description: 'Empty result, when there is no matches. For example: `?match=project=''home:bs-team:OBS''`. ' '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 400 summary: missing string terminator '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: Search for currently available repositories in the publish area. description: This endpoint is exactly the same as `GET /search/published/repoinfo/id`, please use that one. tags: - Search "/search/released/binary": get: summary: List released binaries that match a XPath condition. description: | Return a collection of released binaries that match a XPath condition. Released binaries are binaries published via the release mechanism. Binaries which got removed are also included. This operation is the same as the one defined with [GET /search/released/binary/id](#/Search/get_search_released_binary_id) with the exception of the results returned. While the former operation returns a list of released binaries without details, this one return a list of detailed released binaries. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all released binaries. Available predicates are: - Released binary fields: `@name`, `disturl`, `@version`, `@release`, `@arch`, `@medium`, `binaryid`, `cpeid`, `supportstatus`, and `operation`. - Update info fields: `updateinfo/@id` and `updateinfo/@version`. - Build fields: `build/@time` and `build/@binaryid`. - Other fields: `modify/@time` and `obsolete/@time`. - Repository fields: `repository/@project` and `repository/@name`. - Publish fields: `publish/@time`, `publish/@package` and `publish/@flavor`. - "Update for" fields: `updatefor/@project`, `updatefor/@arch`, `updatefor/@product`, `updatefor/@baseversion`, `updatefor/@patchlevel`, and `updatefor/@version`. - Product fields: `product/@project`, `product/@version`, `product/@release`, `product/@baseversion`, `product/@patchlevel`, `product/@name`, `product/@arch`, and `product/@medium`. examples: all: summary: All value: "*" example1: summary: Latest version of given binary in all products description: Find the latest version of a given `glibc-devel` binary in all products, skipping old and revoked versions. value: "@name='glibc-devel'+and+obsolete[not(@time)]" example2: summary: Specific version by given updateinfo id description: Find a specific version by given updateinfo id. This ID is visible in the update tools to the end user. value: updateinfo/@id='OBS-2014-42' example3: summary: Specific version by given disturl description: Find a specific version by given disturl. Used to find all affected products by a certain build of a binary. value: disturl='obs://...' example4: summary: First release of a specific package version value: "@name='kernel-default'+and+@version='1.0'+and+@release='1'+and+@arch='i586'+and+supportstatus='l3'+and+operation='added'" example5: summary: All binaries of a given repository value: repository/@project='BaseDistro3'+and+repository/@name='BaseDistro3_repo' example6: summary: All binaries part of a product release value: product/@project='openSUSE'+and+product/@name='openSUSE'+and+(product/@arch='x86_64'+or+not(product/@arch)) example7: summary: All binaries part of the update repositories of a product value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+(updatefor/@arch='x86_64'+or+not(updatefor/@arch)) example8: summary: All binaries part of the update repositories of a versioned product value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+updatefor/@version='13.2' example9: summary: All binaries part of the update repositories of a versioned product (enterprise style) value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+updatefor/@baseversion='12'+and+updatefor/@patchlevel='1' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true binary: type: array items: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true name: type: string xml: attribute: true version: type: string xml: attribute: true release: type: string xml: attribute: true arch: type: string xml: attribute: true operation: type: string publish: type: object properties: package: type: string xml: attribute: true time: type: string xml: attribute: true build: type: object properties: time: type: string xml: attribute: true obsolete: type: object properties: time: type: string xml: attribute: true disturl: type: string xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 binary: - project: home:user_1 repository: openSUSE_Tumbleweed name: cowsay version: 3.03 release: 5.7 arch: noarch operation: added publish: package: cowsay time: 2017-11-22 01:26:25 UTC build: time: 2014-11-22 01:26:25 UTC obsolete: time: 2018-11-22 01:26:25 UTC disturl: obs://openSUSE_TEST/home:user_1/openSUSE_Tumbleweed/60a1a1850b9fd0d3b30f3eefa195579b-cowsay - project: home:user_2:branches:openSUSE.org:Cloud:OpenStack:Pike:venv repository: SLE_12_SP3 name: pyhon-Babel version: 2.3.4 release: 3.1 arch: src operation: added publish: package: python-Babel time: 2018-02-08 12:56:52 UTC build: time: 2018-01-08 12:56:52 UTC obsolete: time: 2018-02-28 12:56:52 UTC disturl: obs://openSUSE_TEST/home:user_2:branches:openSUSE.org:Cloud:OpenStack:Pike:venv/SLE_12_SP3/783d831d5cd44b08db0ca95ebe06c6cc-python-Babel '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'released_binaries' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List released binaries that match a XPath condition. description: This endpoint is exactly the same as `GET /search/released/binary`, please use that one. tags: - Search "/search/released/binary/id": get: summary: List released binaries that match a XPath condition. description: | Return a collection of released binaries that match a XPath condition. Released binaries are binaries published via the release mechanism. Binaries which got removed are also included. This operation is the same as the one defined with [GET /search/released/binary](#/Search/get_search_released_binary) with the exception of the results returned. While the former operation returns a list of detailed released binaries, this one return a list of released binaries without details. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all released binaries. Available predicates are: - Released binary fields: `@name`, `disturl`, `@version`, `@release`, `@arch`, `@medium`, `binaryid`, `cpeid`, `supportstatus`, and `operation`. - Update info fields: `updateinfo/@id` and `updateinfo/@version`. - Build fields: `build/@time` and `build/@binaryid`. - Other fields: `modify/@time` and `obsolete/@time`. - Repository fields: `repository/@project` and `repository/@name`. - Publish fields: `publish/@time`, `publish/@package` and `publish/@flavor`. - "Update for" fields: `updatefor/@project`, `updatefor/@arch`, `updatefor/@product`, `updatefor/@baseversion`, `updatefor/@patchlevel`, and `updatefor/@version`. - Product fields: `product/@project`, `product/@version`, `product/@release`, `product/@baseversion`, `product/@patchlevel`, `product/@name`, `product/@arch`, and `product/@medium`. examples: all: summary: All value: "*" example1: summary: Latest version of given binary in all products description: Find the latest version of a given `glibc-devel` binary in all products, skipping old and revoked versions. value: "@name='glibc-devel'+and+obsolete[not(@time)]" example2: summary: Specific version by given updateinfo id description: Find a specific version by given updateinfo id. This ID is visible in the update tools to the end user. value: updateinfo/@id='OBS-2014-42' example3: summary: Specific version by given disturl description: Find a specific version by given disturl. Used to find all affected products by a certain build of a binary. value: disturl='obs://...' example4: summary: First release of a specific package version value: "@name='kernel-default'+and+@version='1.0'+and+@release='1'+and+@arch='i586'+and+supportstatus='l3'+and+operation='added'" example5: summary: All binaries of a given repository value: repository/@project='BaseDistro3'+and+repository/@name='BaseDistro3_repo' example6: summary: All binaries part of a product release value: product/@project='openSUSE'+and+product/@name='openSUSE'+and+(product/@arch='x86_64'+or+not(product/@arch)) example7: summary: All binaries part of the update repositories of a product value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+(updatefor/@arch='x86_64'+or+not(updatefor/@arch)) example8: summary: All binaries part of the update repositories of a versioned product value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+updatefor/@version='13.2' example9: summary: All binaries part of the update repositories of a versioned product (enterprise style) value: updatefor/@project='openSUSE'+and+updatefor/@product='openSUSE'+and+updatefor/@baseversion='12'+and+updatefor/@patchlevel='1' - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true binary: type: array items: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true name: type: string xml: attribute: true version: type: string xml: attribute: true release: type: string xml: attribute: true arch: type: string xml: attribute: true operation: type: string publish: type: object properties: package: type: string xml: attribute: true time: type: string xml: attribute: true build: type: object properties: time: type: string xml: attribute: true obsolete: type: object properties: time: type: string xml: attribute: true disturl: type: string xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 binary: - project: openSUSE:13.1:Update repository: standard name: ImageMagick-extra version: 6.8.6.9 release: 2.12.1 arch: i586 - project: openSUSE:13.1:Update repository: standard name: Mesa version: 9.2.3 release: 61.9.1 arch: i586 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'released_binaries' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List released binaries that match a XPath condition. description: This endpoint is exactly the same as `GET /search/released/binary/id`, please use that one. tags: - Search "/search/repository/id": get: summary: List repositories that match a XPath condition. description: Return a collection of repository names that match a XPath condition. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all projects. Available predicates are: - `@name`: name of the repository. - `@project`: name of the project of the repository. - Path fields: `path/@project` and `path/@repository`. - Target product fields: `targetproduct/@project`, `targetproduct/@arch`, `targetproduct/@name`, `targetproduct/@baseversion`, `targetproduct/@patchlevel`, and `targetproduct/@version`. examples: all: summary: All value: "*" name: summary: Project name value: "@project='home:Admin'" function_contains: summary: Funcion contains value: contains(@name,'Tumb') - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: integer xml: attribute: true repository: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 repository: - name: openSUSE_Tumbleweed project: home:Admin - name: snapshot project: openSUSE.org '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'repositories' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List repositories that match a XPath condition. description: This endpoint is exactly the same as `GET /search/repository/id`, please use that one. tags: - Search "/search/request": get: summary: List request objects that match a XPath condition. description: | Return a collection of request objects that match a XPath condition. This operation is the same as the one defined with [GET /search/request/id](#/Search/get_search_request_id) with the exception of the results returned. While the former operation returns a list of request numbers, this one return a list of request objects. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string required: true description: | Expression based in XPath. Providing a value of `*` will return all requests. Available predicates are: - Request fields: `@id` and `@creator`. - State fields: `state/@name`, `state/@who`, and `state/@when`. - Target fields: `target/@project` and `target/@package`. - Source fields: `source/@project` and `source/@package`. - Actions fields: `action/@type`, `action/grouped/@id`, `action/target/@project`, `action/target/@package`, `action/source/@project`, and `action/source/@package`. - Reviews fields: - General: `review/@when`, `review/@state`. - Review by: `review/@by_user`, `review/@by_group`, `review/@by_project`, and `review/@by_package`. - History: `review/history/@when`. - History fields: `history/@when` and `history/@who`. examples: all: summary: All value: "*" id: summary: Request number value: "@id=123456" function_contains: summary: Function contains value: contains(@creator,'Igg') combination: summary: State name and date value: state/@name='review' and starts_with(state/@when,'2022-08-22') - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 - in: query name: withhistory schema: type: string description: | Include the request history. Without a value or with the value `0` means without the request history. A value `1` means with the request history. example: 1 - in: query name: withfullhistory schema: type: string description: | Include the request and review history. Without a value or with the value `0` means without the request and review history. A value `1` means with the request and review history. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 7 xml: attribute: true request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 request: - id: 2 creator: Iggy description: Praesentium in nobis. action: type: submit source: project: openSUSE:Leap:15.0 package: apache2 target: project: my_organization:Factory package: inreview state: name: review who: Iggy when: '2022-08-22T08:06:58' review: - state: new when: '2022-08-22T08:06:58' by_package: apache2 by_project: openSUSE:Leap:15.0 - state: new when: '2022-08-22T08:06:58' by_user: repo-checker - state: accepted when: '2022-08-22T08:06:58' who: Admin by_group: group_1 - id: 4 creator: Iggy2 description: Ut voluptas quibusdam. action: type: submit source: project: requestor_project package: package_1661161028_1 target: project: my_organization:Admin package: package_1661161028_1 state: name: review who: Requestor when: '2022-08-22T09:37:09' comment: Dolores dolore animi. review: - state: new when: '2022-08-22T09:37:09' who: Requestor by_group: dolorum comment: Aut ipsum accusantium. - state: accepted when: '2022-08-22T09:37:09' who: Requestor by_group: group_1 comment: history: who: Admin when: '2022-08-22T09:37:09' description: Review got accepted one_result_with_history: summary: One result with history value: matches: 1 request: - id: 4 creator: Iggy2 description: Ut voluptas quibusdam. action: type: submit source: project: requestor_project package: package_1661161028_1 target: project: my_organization:Admin package: package_1661161028_1 state: name: review who: Requestor when: '2022-08-22T09:37:09' comment: Dolores dolore animi. review: - state: new when: '2022-08-22T09:37:09' who: Requestor by_group: dolorum comment: Aut ipsum accusantium. - state: accepted when: '2022-08-22T09:37:09' who: Admin by_group: group_1 comment: history: who: Admin when: '2022-08-22T09:37:09' description: Review got accepted history: - who: Iggy when: '2022-08-22T09:37:09' description: Request created comment: Praesentium in nobis. Tempore omnis error. one_result_with_full_history: summary: One result with full history value: matches: 1 request: - id: 4 creator: Iggy2 description: Ut voluptas quibusdam. action: type: submit source: project: requestor_project package: package_1661161028_1 target: project: my_organization:Admin package: package_1661161028_1 state: name: review who: Requestor when: '2022-08-22T09:37:09' comment: Dolores dolore animi. review: - state: new when: '2022-08-22T09:37:09' who: Requestor by_group: dolorum comment: Aut ipsum accusantium. - state: accepted when: '2022-08-22T09:37:09' who: Admin by_group: group_1 comment: history: who: Admin when: '2022-08-22T09:37:09' description: Review got accepted history: - who: Iggy when: '2022-08-22T09:37:09' description: Request created comment: Praesentium in nobis. Tempore omnis error. - who: Admin when: '2022-08-22T09:37:09' description: Request got accepted '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'requests' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: search_results_exceed_configured_limit summary: | The number of results returned by the performed search exceeds the configured limit. You can: - retrieve only the ids by using an '/search/.../id' API endpoint, or - reduce the number of matches of your search: - paginating your results, through the 'limit' and 'offset' parameters, or - adjusting your `match` expression. tags: - Search post: deprecated: true summary: List requests objects that match a XPath condition. description: This endpoint is exactly the same as `GET /search/request`, please use that one. tags: - Search "/search/request/id": get: summary: List request numbers that match a XPath condition. description: | Return a collection of request numbers that match a XPath condition. This operation is the same as the one defined with [GET /search/request](#/Search/get_search_request) with the exception of the results returned. While the former operation returns a list of request objects, this one return a list of request numbers. See example values of a succeeded request below. security: - basic_authentication: [] parameters: - in: query name: match schema: type: string description: | Expression based in XPath. Not providing a value or providing a value of `*` will return all requests. Available predicates are: - Request fields: `@id` and `@creator`. - State fields: `state/@name`, `state/@who`, and `state/@when`. - Target fields: `target/@project` and `target/@package`. - Source fields: `source/@project` and `source/@package`. - Actions fields: `action/@type`, `action/grouped/@id`, `action/target/@project`, `action/target/@package`, `action/source/@project`, and `action/source/@package`. - Reviews fields: - General: `review/@when`, `review/@state`. - Review by: `review/@by_user`, `review/@by_group`, `review/@by_project`, and `review/@by_package`. - History: `review/history/@when`. - History fields: `history/@when` and `history/@who`. examples: all: summary: All value: "*" id: summary: Request number value: "@id=123456" function_contains: summary: Function contains value: contains(@creator,'Igg') combination: summary: State name and date value: "/search/request?match=state/@name='review' and starts_with(state/@when,'2022-08-22')" - in: query name: limit schema: type: integer description: Limit the number of results. example: 20 - in: query name: offset schema: type: integer description: Return results starting from the element specified by offset. example: 10 - in: query name: withhistory schema: type: string description: | Include the request history. Without a value or with the value `0` means without the request history. A value `1` means with the request history. example: 1 - in: query name: withfullhistory schema: type: string description: | Include the request and review history. Without a value or with the value `0` means without the request and review history. A value `1` means with the request and review history. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: matches: type: string example: 7 xml: attribute: true request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true action: type: object properties: type: type: string example: submit xml: attribute: true source: type: object properties: project: type: string example: home:foo-user xml: attribute: true package: type: string example: obs-server xml: attribute: true rev: type: integer example: 521 xml: attribute: true target: type: object properties: project: type: string example: OBS:Unstable xml: attribute: true package: type: string example: obs-server xml: attribute: true options: type: object properties: sourceupdate: type: string example: cleanup state: type: object properties: name: type: string example: accepted xml: attribute: true who: type: string example: bar-user xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true comment: type: string example: allright review: type: array items: type: object properties: state: type: string xml: attribute: true when: type: string xml: attribute: true who: type: string xml: attribute: true by_user: type: string xml: attribute: true by_group: type: string xml: attribute: true by_project: type: string xml: attribute: true by_package: type: string xml: attribute: true comment: type: string history: type: object properties: when: type: string xml: attribute: true who: type: string xml: attribute: true description: type: string example: - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_user: obs-maintainer - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_group: obs-group - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_project: OBS:Unstable - state: accepted when: '2021-01-15T15:49:32' who: obs-maintainer by_package: obs-server history: type: array items: type: object properties: who: type: string example: foo xml: attribute: true when: type: string example: '2021-01-15T13:39:43' xml: attribute: true description: type: string example: Request created comment: type: string example: Please review sources description: type: string example: A little version update xml: name: request xml: name: collection examples: no_results: summary: No matching results value: matches: 0 two_results: summary: Two matching results value: matches: 2 request: - id: 2 - id: 4 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: illegal_xpath_error summary: unable to evaluate 'foo' for 'requests' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Search post: deprecated: true summary: List request numbers that match a XPath condition. description: This endpoint is exactly the same as `GET /search/request/id`, please use that one. tags: - Search "/service": get: summary: List all services. description: Get a list of all services known to OBS. security: - basic_authentication: [] responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true summary: type: string description: type: string parameter: type: array items: type: object properties: name: type: string xml: attribute: true description: type: string allowedvalue: type: array items: type: string required: type: string xml: name: service xml: wrapped: true name: servicelist example: - name: download_url summary: Download a file description: This services uses curl to download files from remote servers via supported protocols. parameter: - name: protocol description: Used Protocol allowedvalue: - ftp - http - https - name: host description: Server Hostname required: '' - name: source_validator summary: Validate sources description: The default SUSE source validator which catches common pitfalls before build. '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - General Information "/source?cmd=branch": post: summary: Branch a set of packages based on attributes description: | Create a source link from a package of an existing project to a new subproject of the requesters home project. security: - basic_authentication: [] parameters: - name: project description: The project that you want to branch in: query schema: type: string - name: package description: The package that you want to branch in: query schema: type: string - name: target_project description: Project which will be used or created in: query schema: type: string - name: target_package description: Package name which will be used in: query schema: type: string - name: attribute description: Attribute used for package search, default is OBS:MaintenanceProject in: query schema: type: string - name: add_repositories description: Copy the repositories from branched project in: query schema: type: boolean - name: update_path_elements description: Check if repository path elements do use each other and adapt our own path elements in: query schema: type: boolean - name: update_project_attribute description: Set a different Update Project attribute. in: query schema: type: string default: OBS:UpdateProject - name: noaccess description: Create hidden project. The new created project will be read protected in: query schema: type: boolean - name: extend_package_names description: Extend repo and package names in: query schema: type: boolean - name: add_repositories_rebuild description: Use defined rebuild policy for new repos or copy it from the source project in: query schema: type: string enum: - transitive direct local copy - name: add_repositories_block description: Use defined block policy for new repos in: query schema: type: string enum: - all - local - never - name: newinstance description: The target package exists only via project links, but the link should point to given project in: query schema: type: boolean - name: maintenance describe: Explicitly asked for maintenance branch in: query schema: type: boolean responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok data: - home:Admin - hello_world '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true summary: type: string xml: name: status example: code: not_found summary: no packages found by search criteria tags: - Sources "/source?cmd=createmaintenanceincident": post: summary: Create maintenance incident projects description: Create a mainatenance incident project based on attribute search. security: - basic_authentication: [] parameters: - in: query name: attribute schema: type: string example: OBS:MaintenanceProject description: attribute used for package search, default is OBS:MaintenanceProject responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok data: - MaintenanceProject:1 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: incident_has_no_maintenance_project summary: incident projects shall only create below maintenance projects '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: modify_project_no_permission summary: no permission to modify project 'MaintenanceProject' tags: - Sources "/source?cmd=orderkiwirepos": post: summary: Sort the repositories inside of a kiwi file according to path relationships. description: This API takes kiwi XML file in the request body and sort the repositories based on priority. security: - basic_authentication: [] requestBody: required: true content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true schemaversion: type: string xml: attribute: true repository: type: array items: type: object properties: source: type: object properties: path: type: string xml: attribute: true xml: name: repository xml: name: image example: | responses: '200': description: Sorted list of repositories content: text/xml: schema: type: object properties: name: type: string xml: attribute: true schemaversion: type: string xml: attribute: true repository: type: array items: type: object properties: source: type: object properties: path: type: string xml: attribute: true xml: name: repository xml: name: image example: | '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true summary: type: string xml: name: status example: code: 400 summary: "/srv/obs/sources/:upload/1344: not xml" tags: - Sources "/source": get: summary: List all the projects. description: Get the list of all projects. security: - basic_authentication: [] parameters: - name: deleted in: query schema: type: integer description: Set to `1` to list the deleted projects. This is available for Admins only. example: 0 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory examples: List of projects: value: entry: - name: home:Admin - name: home:Iggy Deleted projects: value: entry: - name: home:user_1 '400': description: Wrong value for deleted parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not boolean: value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: No permission to access deleted projects. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: no_permission_for_deleted summary: only admins can see deleted projects. tags: - Sources - Projects "/source/{project_name}": get: summary: List packages of a project. description: Get a list of packages belonging to a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: deleted in: query schema: type: string description: Set to `1` to list the packages of a deleted project. example: 1 - in: query name: expand schema: type: string enum: - 1 - 0 description: Set to `1` to include packages from linked projects. example: 1 - in: query name: view schema: type: string enum: - issues - productlist - verboseproductlist description: | Specify which sections should be included in the packages list. * `issues`: Show all tracked issues for all the packages. * `productlist`: Show all contained products. * `verboseproductlist`: List all contained products with detailed information about the product. Example of a result when `issues` is selected: ``` 2009-05-21 10:50:00 UTC 2020-02-24 13:01:11 UTC 505969 bnc https://bugzilla.opensuse.org/show_bug.cgi?id=505969 CLOSED lzma, xz: missing manpages coolo coolo@suse.com Stephan Kulow 2009-06-04 14:35:00 UTC 2020-02-24 13:01:11 UTC 509945 bnc https://bugzilla.opensuse.org/show_bug.cgi?id=509945 CLOSED Enforce packaging of static libraries by rpmlint check dirkmueller dmueller@suse.com Dirk Mueller ``` Example of a result when `productlist` is selected: ``` ``` Example of a result when `verboseproductlist` is selected: ``` cpe:/o:opensuse:opensuse-addon-nonoss:20230108 20230108 cpe:/o:opensuse:opensuse:20230108 20230108 cpe:/o:opensuse:microos:20230108 20230108 ``` responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: oneOf: - type: object properties: count: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true originpackage: type: string xml: attribute: true xml: name: directory - type: object properties: count: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true cpe: type: string xml: attribute: true originproject: type: string xml: attribute: true originpackage: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: product xml: name: productlist - type: object properties: count: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true originproject: type: string xml: attribute: true originpackage: type: string xml: attribute: true cpe: type: string version: type: string xml: name: product xml: name: productlist '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not boolean: description: Passing a non boolean value to the `deleted` query parameter. value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: home:nonExistentUser' tags: - Sources - Packages delete: summary: Delete a specified project. description: Deletes a specified project and all the packages of this project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: force in: query schema: type: integer description: | Set to `1` if you want to delete the project even if the repositories of other projects include a path to this project. After deletion, the path in the other repository will start pointing towards 'deleted/standard' to prevent the build and publishing - name: comment in: query schema: type: string responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Unauthorized to delete project. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: delete_project_no_permission: value: code: delete_project_no_permission summary: Permission denied (delete project 'project_name') summary: No permission '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?view=info": get: summary: Show information of the packages of a project. description: Show source version, md5sums and build description files of all packages belonging to a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: view schema: type: string enum: - info - issues - productlist - verboseproductlist description: | Specify which information about each package should be returned. * `info`: Show source version, md5sums and build description files of all packages belonging to a project. * `issues`, `productlist`, `verboseproductlist`: See this [other endpoint](<#/Sources - Packages/get_source__project_name_>) for details. example: info - in: query name: arch schema: type: string description: Filter by architecture name. example: x86_64 - in: query name: noexpand schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to prevent from showing some elements about packages, like `filename`, `error` or `linked` elements. example: 1 - in: query name: nofilename schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to prevent from showing filename elements. Shows only the `sourceinfo` root element. example: 1 - in: query name: package schema: type: string description: Filter by package name. example: test - in: query name: parse schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show more details, like `originproject`, `linked package`, `name`, `version`, `release`, `subpacks`, `deps`, and `prereqs` elements. example: 1 - in: query name: repository schema: type: string description: Filter by repository name. example: openSUSE_Tumbleweed - in: query name: withmetamd5 schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show the `metamd5` attribute. example: 1 - in: query name: withchangesmd5 schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show the `revtime` element. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: package: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true verifymd5: type: string xml: attribute: true metamd5: type: string xml: attribute: true filename: type: string originproject: type: string linked: type: array items: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true name: type: string version: type: string release: type: string revtime: type: string error: type: string subpacks: type: array items: type: string deps: type: array items: type: string prereqs: type: array items: type: string xml: name: sourceinfo xml: name: sourceinfolist wrapped: true examples: A project contains three packages: value: - package: texlive-specs rev: 9f5336fcf6e4521b6a9587b02087eef9 vrev: 25 srcmd5: 9f5336fcf6e4521b6a9587b02087eef9 verifymd5: 9b49b7314f5d0dfd8002cd329e048f73 filename: texlive-specs.spec - package: texlive-specs-w rev: 9f5336fcf6e4521b6a9587b02087eef9 vrev: 55 srcmd5: 9f5336fcf6e4521b6a9587b02087eef9 verifymd5: 9b49b7314f5d0dfd8002cd329e048f73 filename: texlive-specs-w.spec - package: test rev: 5 vrev: 5 srcmd5: e3a71081cb7245e3c09c3655dffa7384 verifymd5: e3a71081cb7245e3c09c3655dffa7384 error: bad build configuration, no build type defined or detected Applying a filter doesn't return any result: value: - package: hello error: 404 package 'hello' does not exist '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `parse`, for example. value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' tags: - Sources - Projects "/source/{project_name}/_config": get: summary: Get project's configuration description: Read configuration for the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: rev in: query schema: type: string responses: '200': description: OK. The request has succeeded. content: text/plain: schema: type: string example: | # temporary should be fixed in SUSE:SLE-15-SP4:GA Prefer: -libudev-devel Prefer: -libudev-devel-32bit ... '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects put: summary: Update project's configuration description: Update configuration for the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: comment in: query schema: type: string requestBody: description: configuration you want to update content: text/plain: schema: type: string example: | # temporary should be fixed in SUSE:SLE-15-SP4:GA Prefer: -libudev-devel Prefer: -libudev-devel-32bit ... responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_meta": get: summary: Get project meta file description: Get project meta file security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: view in: query schema: type: string responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true repository: type: object properties: name: type: string xml: attribute: true path: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true arch: type: array items: type: string xml: name: project example: name: home:Admin title: Endless Night description: Test project person: userid: Admin role: maintainer repository: name: openSUSE_Tumbleweed path: project: openSUSE.org:openSUSE:Factory repository: snapshot arch: - x86_64 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Unknown project. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' Invalid Project Parameters: value: code: invalid_project_parameters summary: Not found tags: - Sources - Projects put: summary: Write project meta file description: Write project's meta file. Create the project if it doesn't exist. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: comment schema: type: string description: Comment that explains the changes you made in meta file. requestBody: description: Project meta definition. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true repository: type: object properties: name: type: string xml: attribute: true path: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true arch: type: array items: type: string xml: name: project example: name: home:Admin title: Endless Night description: Test project person: userid: Admin role: maintainer repository: name: openSUSE_Tumbleweed path: project: openSUSE.org:openSUSE:Factory repository: snapshot arch: - x86_64 - aarch64 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Command: value: code: unknown_command summary: Allowed commands are ''. Bad Request: value: code: err_register_save summary: 'Could not save the registration, details: Login is the name of an already existing user and Password can''t be blank.' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: The user does not have permission to change the project. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Change project no permission: value: code: change_project_no_permission summary: The project is locked tags: - Sources - Projects "/source/{project_name}/_pattern": get: summary: Get list of patterns description: Get a list of all patterns for the project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true ntime: type: string xml: attribute: true xml: name: directory example: name: _pattern rev: '3' vrev: '555' srcmd5: db8d976cd59b1a933ab82a539247aeac entry: - name: OBS_Server md5: d4ba5bf938ed8d26e68a7c6d1237854e size: '947' ntime: '1463555386' - name: OBS_Server:unstable md5: d4ba5bf938ed8d26e6xvv8a7c6d12ddd size: '737' ntime: 146355ddd6 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_pattern/{file_name}": get: deprecated: true summary: Read a specified pattern file description: Read a specified pattern file and return the content security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/_pattern/some_file' tags: - Sources - Projects delete: deprecated: true summary: Deletes a specified pattern file. description: Deletes a specified pattern file of a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/_pattern/some_file' tags: - Sources - Projects put: deprecated: true summary: Write a specified pattern file. description: Write a specified pattern file of a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm requestBody: content: plain/text: schema: type: string properties: file: type: string format: binary responses: '200': description: Updates the artifact's file contents content: application/xml; charset=utf-8: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision example: rev: 28 srcmd5: 6c73fc9ef8d43369f0778564617b4a93 time: 1682497725 user: Admin comment: requestid: '400': description: 'Error: Bad request.' content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Bad Request: value: code: validation_failed summary: 'pattern validation error: 1:1: FATAL: Start tag expected, < not found ' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/_pattern/some_file' tags: - Sources - Projects "/source/{project_name}/_project": get: summary: List project files description: List all the files in project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: meta required: false schema: type: integer description: Set to 1 to include _meta files example: 1 - in: query name: rev required: false schema: type: integer description: Revision number responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory example: name: _project rev: '7' vrev: '445' srcmd5: 9a18405476229262648b4c3e548a90a9 entry: name: _pubkey md5: 1536ab133eb76be69aaba65d934d827a size: '1369' mtime: '1650378374' '400': description: Wrong value for meta parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not boolean: value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_pubkey": get: summary: Get GPG key description: | Get the project's GPG key. If the project doesn't have a default GPG key, it looks for the first one available in the namespace hierarchy, ending at the global buildservice key. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: text/plain: schema: type: string example: | -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.5 (GNU/Linux) mQENBFfX+W4BCAC89VZEUt8O/o2rXnFoNrW0nsZoaHZX5Kjtzwuns5/UwzBffY/h [...] -----END PGP PUBLIC KEY BLOCK----- '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: 'Project not found: .' No pubkey: value: code: no_pubkey summary: no pubkey available tags: - Sources - Projects delete: summary: Removes the current gpg key description: Removes the current gpg key if it exists security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_keyinfo": get: summary: Get a projects signing keys description: Read information about the signing keys for the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: string xml: attribute: true pubkey: type: object properties: keyid: type: string xml: attribute: true userid: type: string xml: attribute: true algo: type: string xml: attribute: true keysize: type: string xml: attribute: true expires: type: string xml: attribute: true fingerprint: type: string xml: attribute: true sslcert: type: object properties: keyid: type: string xml: attribute: true serial: type: string xml: attribute: true issuer: type: string xml: attribute: true subject: type: string xml: attribute: true algo: type: string xml: attribute: true keysize: type: string xml: attribute: true begins: type: string xml: attribute: true expires: type: string xml: attribute: true fingerprint: type: string xml: attribute: true xml: name: keyinfo example: project: openSUSE:Leap pubkey: keyid: b88b2fd43dbdc284 userid: openSUSE Project Signing Key <opensuse@opensuse.org> algo: rsa keysize: 2048 expires: 1887851113 fingerprint: 22c0 7ba5 3417 8cd0 2efe 22aa b88b 2fd4 3dbd c284 sslcert: serial: 18068117070991220325 issuer: CN=openSUSE Secure Boot CA, C=DE, L=Nuremberg, O=openSUSE Project, emailAddress=build@opensuse.org subject: CN=openSUSE Secure Boot Signkey, C=DE, L=Nuremberg, O=openSUSE Project, emailAddress=build@opensuse.org algo: rsa keysize: 2048 begins: 1655126536 expires: 1966166536 fingerprint: 1f67 3297 da56 8ae0 dedf db7c 8cc6 8f9e cb85 7275 keyid: fd9f 2c12 e599 d67c c7f9 0675 41ad f426 b712 469e '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_attribute": get: summary: Get all the project's attributes security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: view in: query schema: type: string enum: - blame description: With view=blame, information about who changed each XML tag and when is displayed. example: blame - name: with_default in: query schema: type: string description: | If the attribute doesn't contain any value and `with_default` is present, the default values will be displayed, if any. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true examples: listOfAttributes: value: - name: MaintenanceProject namespace: OBS - name: ScreenShots namespace: OBS viewBlame: description: Passing view=blame. value: | 10 (Admin 2023-03-09 11:46:01 1) 12 (Iggy 2023-03-13 14:46:01 5) 14 (Admin 2023-03-13 15:14:21 6) 14 (Admin 2023-03-13 15:14:21 7) Development 14 (Admin 2023-03-13 15:14:21 8) 10 (Admin 2023-03-09 11:46:01 9) '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: remote_project summary: Attribute access to remote project is not yet supported '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_attribute/{attribute_name}": get: summary: Get project's attribute description: Get a specified attribute of the project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest - name: view in: query schema: type: string enum: - blame description: With view=blame, information about who changed each XML tag and when is displayed. example: blame - name: with_default in: query schema: type: string description: | If the attribute doesn't contain any value and `with_default` is present, the default values will be displayed, if any. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true examples: oneAttribute: value: - name: MaintenanceProject namespace: OBS viewBlame: description: Passing view=blame. value: | 6 (Admin 2023-03-09 11:46:01 1) 12 (Iggy 2023-03-13 14:46:01 5) 14 (Admin 2023-03-13 15:14:21 6) 14 (Admin 2023-03-13 15:14:21 7) Development 14 (Admin 2023-03-13 15:14:21 8) 6 (Admin 2023-03-09 11:46:01 9) '400': description: Wrong value for deleted parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: value: code: 400 summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects post: summary: Modifies the specified attribute description: Modifies the specified attribute security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest - name: comment in: query schema: type: string requestBody: description: Attributes you want to update content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: - name: MaintenanceProject namespace: OBS responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Wrong value for deleted parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: value: code: 400 summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects delete: summary: Removes a specified attribute description: Removes a specified attribute security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest - name: comment in: query schema: type: string responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Wrong value for deleted parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: value: code: 400 summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/_project/_history": get: summary: Get project commit history. description: Get project commit history. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: deleted schema: type: string description: Set to `1` to allow to retrieve the revision history of a deleted project. example: 1 - in: query name: limit schema: type: integer description: Limit the number of retrieved revision history elements to the specified number. example: 20 - in: query name: meta schema: type: string description: Set to `1` to retrieve the revision history of the meta file (`_meta`) of the project. example: 1 - in: query name: startbefore schema: type: integer description: Start the list of revision history elements before the given revision number. example: 124 - in: query name: rev schema: type: string description: Return the revision entry for a specific revision number. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [revisionlist.rng](../schema/revisionlist.rng) content: application/xml; charset=utf-8: schema: type: array items: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision xml: name: revisionlist wrapped: true examples: Two Revisions: value: - rev: 1 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364228 user: Admin comment: project was deleted - rev: 2 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364246 user: Admin comment: project was undeleted rev Parameter Specified (rev = 1): value: - rev: 1 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364228 user: Admin comment: project was deleted '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' tags: - Sources - Projects "/source/{project_name}/_project/{file_name}": get: summary: Read a project file description: Read a project file security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm - name: deleted in: query schema: type: string description: Set to `1` to read a file of a deleted project. example: 1 - in: query name: meta required: false schema: type: integer description: Set to `1` to include _meta files example: 1 - in: query name: rev required: false schema: type: integer description: Revision number responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true title: type: string description: type: string person: type: object properties: userid: type: string xml: attribute: true role: type: string xml: attribute: true repository: type: object properties: name: type: string xml: attribute: true path: type: object properties: project: type: string xml: attribute: true repository: type: string xml: attribute: true arch: type: array items: type: string xml: name: project example: name: home:Admin title: Endless Night description: Test project person: userid: Admin role: maintainer repository: name: openSUSE_Tumbleweed path: project: openSUSE.org:openSUSE:Factory repository: snapshot arch: - x86_64 '400': description: Wrong value for meta parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not boolean: value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: The user does not have permission to access the source. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Source access no permission: value: code: source_access_no_permission summary: Source Access not allowed '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=addchannels": post: summary: Add channels and extend repository list. description: | Add channels for each one of the provided project packages. If the mode parameter is provided, that mode is added to the package channel. The mode parameter can be: - 'skip_disabled' - 'enable_all' - 'add_disabled' being the default. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: mode schema: type: string enum: - skip_disabled - enable_all - add_disabled description: The channel will be added to the package using this mode. example: add_disabled responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=copy": post: summary: Copy an entire project. description: Copy the source project provided by the required parameter `oproject` to the target project provided by the path parameter `project_name`. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: | Target project name The target project must exist. Otherwise, the copy is not performed and a not found error (404) is returned. example: home:Iggy:target - in: query name: oproject schema: type: string required: true description: Origin project name example: home:Iggy:source - in: query name: comment schema: type: string description: Comment to be added in the revision history. example: Copy project for testing. - in: query name: makeolder schema: type: string enum: - 1 - 0 default: 0 description: Make target older. Set to `1` to bump the source vrev by two numbers and the target by one. example: 1 - in: query name: makeoriginolder schema: type: string enum: - 1 - 0 default: 0 description: Make origin older. Set to `1` to extend the source vrev. example: 1 - in: query name: nodelay schema: type: string enum: - 1 - 0 default: 0 description: By default the copying is done as a deferred job. Set to `1` to perform the copy right away. example: 1 - in: query name: noservice schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` not to run source services. example: 1 - in: query name: resign schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to resign all binaries with the target project key. example: 1 - in: query name: withbinaries schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to also copy binaries. example: 1 - in: query name: withhistory schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to also copy the revision history. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [about.xsd](../schema/about.xsd) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: job_invoked: summary: Job Invoked value: code: invoked summary: Job invoked ok: summary: Ok description: Response given when `nodelay` is set to `1`. value: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: cmd_execution_no_permission: summary: No Permission to Execute Command value: code: cmd_execution_no_permission summary: no permission to execute command 'copy' '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=createkey": post: summary: Generate a new GPG key for a project. description: Generate a new GPG key. If the project already has a GPG key, the old key is discarded. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true xml: name: status example: code: ok '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_project_name summary: invalid project name '{project_name}' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'createkey' tags: - Sources - Projects "/source/{project_name}?cmd=createmaintenanceincident": post: summary: Create a single maintenance incident project. description: Create a single maintenance incident project as a sub project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok data: - MaintenanceProject:17 '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: incident_has_no_maintenance_project summary: incident projects shall only create below maintenance projects '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'createmaintenanceincident' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: home:Admin' tags: - Sources - Projects "/source/{project_name}?cmd=createpatchinfo": post: summary: Creates a patchinfo inside the given project description: | Creates a new patchinfo package, in the given project, containing a '_patchinfo' file. The file will include all the issues in other project's sources, if any. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: name schema: type: string description: Name of the patchinfo package. If not passed, 'patchinfo' is the default value. example: BaseDistro_patchinfo - in: query name: comment schema: type: string description: Comment to be included in the 'summary' XML tag of the patchinfo. example: Security update for the Linux Kernel - in: query name: force schema: type: string description: | If the patchinfo with the given name already existed and the force parameter is passed, then the patchinfo will be overwritten. If the force parameter is not passed, an error will be raised giving you some suggestions. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: | Ok home:Admin BaseDistro_patchinfo '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_project_name: value: code: invalid_project_name summary: invalid project name '0' summary: Invalid Project Name invalid_package_name: value: code: invalid_package_name summary: invalid package name 'base:distro' summary: Invalid Package Name patchinfo_file_exists: value: code: patchinfo_file_exists summary: 'createpatchinfo command: the patchinfo BaseDistro exists already. Either use force=1 re-create the _patchinfo or use updatepatchinfo for updating.' summary: Patchinfo File Exists package_already_exists: value: code: package_already_exists summary: 'createpatchinfo command: the package BaseDistro exists already, but is no patchinfo. Please create a new package instead.' summary: Package Already Exists '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Sources - Projects "/source/{project_name}?cmd=extendkey": post: summary: Extend the expiration date of GPG keys. description: Extend the expiration date of GPG key for the given project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: days schema: type: integer description: Define the number of days until key expiry example: 712 responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'extendkey' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: home:Admin' tags: - Sources - Projects "/source/{project_name}?cmd=freezelink": post: summary: Freeze a project link. description: Freeze a project link, either creating the freeze or updating it. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: comment schema: type: string description: A comment that will appear in the project's comment section explaining the reason behind the freezing. example: Project link frozen due to some important reason. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=lock": post: summary: Locks the project. description: Locks the project given as parameter. You can pass a comment with the reason of the lock. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: comment schema: type: string description: Comment that can be added to describe the reasoning behind the lock. example: Locked project beacause A, B and C. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '403': description: | No permission to execute command 'lock' because the project is already locked or because the user do not have permission to modify the project. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'lock'. '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=modifychannels": post: summary: Modify existing channels. description: Add repositories or enable them for existing channels. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: mode schema: type: string enum: - add_disabled - enable_all example: add_disabled description: The channel will be added to the package using this mode. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_parameter summary: Internal Server Error '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'modifychannels' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: unknown_project summary: 'Project not found: home:Admin' tags: - Sources - Projects "/source/{project_name}?cmd=move": post: summary: Move all sources and binaries. description: | Admin permissions required and schedulers need to be stopped. This api moves all sources and binaries from a source project (oproject) to a new project (project_name). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: oproject required: true schema: type: string description: The project you want to move. Source project. example: home:Admin - in: query name: comment schema: type: string responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Project Exists: value: code: project_exists summary: Target project exists already. Move Failed: value: code: move_failed summary: Move operation failed '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: Admin permissions required. STOP SCHEDULER BEFORE. tags: - Sources - Projects "/source/{project_name}?cmd=release": post: summary: Release the project. description: Release source and binaries for a repository of the project, if you have the permissions to do so. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: nodelay schema: type: string description: If this parameter is present, do not delay the relase. If this parameter is not present, the release will be delayed to be done later. example: 1 - in: query name: target_project schema: type: string description: Project containing the repository targeted by the release. example: openSUSE:Factory - in: query name: target_repository schema: type: string description: Repository targeted by the release. example: standard - in: query name: repository schema: type: string description: Repository for which source and binaries will be released. example: openSUSE_Tumbleweed - in: query name: setrelease schema: type: string description: If this parameter is present, the release will be tagged with this parameter's value. example: Beta1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=remove_flag": post: summary: Delete a flag for the project. description: | For the project, you can delete a flag with the provided flag name, repository and architecture. You can only delete the flag if you have the permissions to do so. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: flag required: true schema: type: string description: Name of the flag to be deleted example: access - in: query name: repository schema: type: string description: Repository for which the flag is set example: openSUSE_Tumbleweed - in: query name: arch schema: type: string description: Architecture for which the flag is set example: x86_64 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: missing_parameter: value: code: missing_parameter summary: Required Parameter flag missing. summary: Missing Parameter '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'remove_flag'. '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=set_flag": post: summary: Set a flag for the project. description: | For the project, you can set a flag with the provided flag name, status, repository and architecture. You can only set the flag if you have the permissions to do so. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: flag required: true schema: type: string description: Name of the flag to be set example: access - in: query name: status required: true schema: type: string description: Status of the flag to be set example: disable - in: query name: repository schema: type: string description: Repository for which the flag is to be set example: openSUSE_Tumbleweed - in: query name: arch schema: type: string description: Architecture for which the flag is to be set example: x86_64 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: missing_parameter_flag: value: code: missing_parameter summary: Required Parameter flag missing. summary: Missing Parameter flag missing_parameter_status: value: code: missing_parameter summary: Required Parameter status missing. summary: Missing Parameter status '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'set_flag'. '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=showlinked": post: summary: List projects linking to the provided project. description: Return a list of projects linking to the provided project. This command doesn't perform any action. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true xml: name: project xml: name: collection wrapped: true examples: no_results: summary: No results value: | one_result: summary: One result value: - name: OBS:Server:Unstable:Containers:ruby2.7 '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}?cmd=undelete": post: summary: Restore a deleted project. description: | If the given project was previously deleted, you can restore it. You can only restore it if you have the permissions to do so. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'undelete'. '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not deleted project: value: code: 404 summary: project 'Sandbox' already exists description: Response when trying to "undelete" a project that was not deleted previously. '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Sources - Projects "/source/{project_name}?cmd=unlock": post: summary: Unlocks the project. description: Unlocks the previously locked project, given as parameter. You can pass a comment with the reason of the lock. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: query name: comment required: true schema: type: string description: Comment that should be added to describe the reasoning behind the unlock. example: Unlocked project beacause A, B and C. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: missing_parameter: value: code: missing_parameter summary: Required Parameter comment missing. summary: Missing Parameter not_locked: value: code: not_locked summary: project 'Sandbox' is not locked. summary: Not Locked '403': description: No permission to execute command 'unlock' because the user do not have permission to modify the project. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'unlock'. '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Projects "/source/{project_name}/{package_name}": get: summary: List source files of a package. description: Get a list of source files belonging to a package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: deleted schema: type: string description: | Set to `1` to list source files of deleted packages. Return a "Bad Request" error (400) if it is set to `1` and the package exists. example: 1 - in: query name: expand schema: type: string enum: - 1 - 0 default: 0 description: Expand links. example: 1 - in: query name: extension schema: type: string description: List source files with the given extension. example: txt - in: query name: lastworking schema: type: string enum: - 1 - 0 default: 0 description: Show sources of the last mergeable sources in case of conflicting changes. example: 1 - in: query name: linkrev schema: type: string description: Show sources of the specified linked revision in the base package. - in: query name: meta schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show only the metadata file (`_meta`) in the list of files. example: 1 - in: query name: product schema: type: string description: Use with `view=products`. Limit the product view to a given product. - in: query name: rev schema: type: string description: Show sources of the specified revision. example: 42 - in: query name: view schema: type: string enum: - cpio - getmultibuild - info - issues - products - productrepositories description: | Specify which information about a package should be returned. * `cpio`: Stream all package files as cpio. * `getmultibuild`: List multibuild packages. * `info`: Show source version, md5sums and build description files, among other information. See this [other endpoint](<#/Sources - Packages/get_source__project_name___package_name__view_info>) for details. * `issues`: Show all tracked issues for this package. * `products`: Show all products of a package (works only on `_product` or `000product` packages). * `productrepositories`: Show all repositories used in product definitions (or a given product). example: issues - in: query name: withlinked schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show all used packages (in case of multiple link indirections) in linkinfo information. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [directory.xsd](../schema/directory.xsd). This schema is not used in the following cases: * view=cpio * view=issues * view=products * view=productrepositories content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory examples: Without Any Parameters: value: name: package_1 rev: 4 vrev: 4 srcmd5: 2e276a9a18eb1f4e6d1187d456c9335d entry: - name: _config md5: 38a56fe6747ddc35214cb2ace161496f size: 59 mtime: 1677507657 - name: somefile.txt md5: 8680db994e398a1542c6fd05ee7f9fef size: 55 mtime: 1677507647 With Parameter meta=1: value: name: package_1 rev: 4 vrev: 4 srcmd5: 2e276a9a18eb1f4e6d1187d456c9335d entry: - name: _meta md5: 6742b7fc375300ce04e56819a1a52f64 size: 181 mtime: 1678724165 With Parameter view=getmultibuild: value: entry: - name: obs-bundled-gems - name: obs-api-testsuite-rspec With Parameter view=issues: value: | 2008-11-18 16:47:00 UTC 2020-02-24 13:01:11 UTC 446164 bnc https://bugzilla.test.com/show_bug.cgi?id=246064 CLOSED AUDIT-0: obs-server: /usr/bin/sign user_1 user_1@test.com John Doe With Parameter view=products: value: | openSUSE openSUSE 20230315 0 openSUSE openSUSE-Tumbleweed-x86_64 openSUSE-Tumbleweed-s390x openSUSE-Tumbleweed-ppc64le openSUSE-Tumbleweed-aarch64 000000000 openSUSE Tumbleweed openSUSE openSUSE Tumbleweed is the rolling distribution by the openSUSE.org project. cs da http://doc.opensuse.org/release-notes/x86_64/openSUSE/Tumbleweed/release-notes-openSUSE.rpm http://download.opensuse.org/tumbleweed/repo/oss/ openSUSE true en_US openSUSE_Tumbleweed openSUSE i586 i686 noarch i686 i586 i486 i386 noarch With Parameter view=productrepositories: value: | openSUSE-Tumbleweed-x86_64 openSUSE-Tumbleweed-s390x openSUSE-Tumbleweed-ppc64le openSUSE-Tumbleweed-aarch64 application/x-cpio: schema: type: string examples: With Parameter view=cpio: value: | 07070100000000000081a40000000000000000000000015331456900000135000000000000000000000000000000000000000d00000000_constraints obs-server 2000 1500 07070100000000000081a40000000000000000000000015b595e440000006a000000000000000000000000000000000000000c00000000_multibuild obs-bundled-gems obs-api-testsuite-rspec 07070100000000000081a40000000000000000000000016229cffc000002ec000000000000000000000000000000000000000900000000_service 2.11~alpha.%ci.%h https://github.com/openSUSE/open-build-service.git git master dist/obs-api-testsuite-rspec.spec dist/obs-bundled-gems.spec dist/obs-server.spec dist/obs-rpmlintrc xz *.tar 07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!! '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `meta`, for example. value: code: 400 summary: not boolean With deleted=1 and Package exists: description: Passing a value of `1` to `deleted`, and the package exists. value: code: package_exists summary: the package is not deleted '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Files delete: summary: Deletes a specified package including all its source files. description: Deletes a specified package including all its source files. By default only if no other packages use this package as a devel package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Comment to be included in the revision history of the package. example: This package was no longer needed. - in: query name: force schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to delete this package, even if other packages use this one as devel package. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Delete Error: value: code: delete_error summary: 'Package is used by following packages as devel package: project_devel/ctris' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}/_attribute": get: summary: List the attibutes of a package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - name: rev in: query schema: type: string description: 'Passing the number of the revision, this endpoint displays the attributes'' XML as it was at that point. ' example: 3 - name: view in: query schema: type: string enum: - blame description: With `view=blame`, information about who changed each XML tag and when is displayed. example: blame - name: with_default in: query schema: type: string description: | If the attribute doesn't contain any value and `with_default` is present, the default values will be displayed, if any. example: 1 - name: with_project in: query schema: type: string description: 'Passing `with_project`, the response displays the attributes of the package''s project in addition to the package ones. ' example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true examples: manyAttributes: value: - name: MaintenanceProject namespace: OBS - name: ScreenShots namespace: OBS viewBlame: description: Passing `view=blame`. value: | 10 (Admin 2023-03-09 11:46:01 1) 12 (Iggy 2023-03-13 14:46:01 5) 14 (Admin 2023-03-13 15:14:21 6) 14 (Admin 2023-03-13 15:14:21 7) Development 14 (Admin 2023-03-13 15:14:21 8) 10 (Admin 2023-03-09 11:46:01 9) '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: remoteProject: value: code: remote_project summary: Attribute access to remote project is not yet supported '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages post: summary: Create or update the package's attribute given in the request body parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris security: - basic_authentication: [] requestBody: description: Attribute you want to create or update content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: - name: MaintenanceProject namespace: OBS responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: description: Wrong attribute name. value: code: invalid_attribute summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style invalid_xml: description: When not passing an XML body to the requset. value: code: invalid_xml summary: Invalid XML '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}/_attribute/{attribute_name}": get: summary: Get package's attribute description: Get the specified attribute of the package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest - name: rev in: query schema: type: string description: 'Passing the number of the revision, this endpoint displays the attributes'' XML as it was at that point. ' example: 3 - name: view in: query schema: type: string enum: - blame description: With `view=blame`, information about who changed each XML tag and when is displayed. example: blame - name: with_default in: query schema: type: string description: | If the attribute doesn't contain any value and `with_default` is present, the default values will be displayed, if any. example: 1 - name: with_project in: query schema: type: string description: 'Passing `with_project`, the response displays the specified attribute of the package''s project, if any, in addition to the package one. ' example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true examples: oneAttribute: value: - name: MaintenanceProject namespace: OBS viewBlame: description: Passing `view=blame`. value: | 10 (Admin 2023-03-09 11:46:01 1) 12 (Iggy 2023-03-13 14:46:01 5) 14 (Admin 2023-03-13 15:14:21 6) 14 (Admin 2023-03-13 15:14:21 7) Development 14 (Admin 2023-03-13 15:14:21 8) 10 (Admin 2023-03-09 11:46:01 9) '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: description: Wrong attribute name. value: code: invalid_attribute summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Packages post: summary: Create or update an attribute of a package description: Create or update the specified attribute of the package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest requestBody: description: Attribute you want to create or update content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: - name: MaintenanceProject namespace: OBS responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: description: Wrong attribute name. value: code: invalid_attribute summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style invalid_xml: description: When not passing an XML body to the requset. value: code: invalid_xml summary: Invalid XML '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages delete: summary: Delete the specified attribute of a package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: description: Wrong attribute name. value: code: invalid_attribute summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: The user don't have permission to delete the specified attribute content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: change_attribute_no_permission: value: code: change_attribute_no_permission summary: User Iggy has no permission to change attribute '404': description: Unknown attribute content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: unknown_attribute_type: value: code: unknown_attribute_type summary: Attribute Type OBS:Fake does not exist tags: - Sources - Packages "/source/{project_name}/{package_name}/_history": get: summary: Get package commit history. description: Get package commit history. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: deleted schema: type: string description: Set to `1` to allow to retrieve the revision history of a deleted package. example: 1 - in: query name: limit schema: type: integer description: Limit the number of retrieved revision history elements to the specified number. example: 20 - in: query name: meta schema: type: string description: Set to `1` to retrieve the revision history of the meta file (`_meta`) of the package. example: 1 - in: query name: startbefore schema: type: integer description: Start the list of revision history elements before the given revision number. example: 124 - in: query name: rev schema: type: string description: Return the revision entry for a specific revision number. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [revisionlist.rng](../schema/revisionlist.rng) content: application/xml; charset=utf-8: schema: type: array items: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision xml: name: revisionlist wrapped: true examples: Two Revisions: value: - rev: 1 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364228 user: Admin comment: package was deleted - rev: 2 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364246 user: Admin comment: package was undeleted rev Parameter Specified (rev = 1): value: - rev: 1 vrev: '' srcmd5: d41d8cd98f00b204e9800998ecf8427e version: '' time: 1678364228 user: Admin comment: package was deleted '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}/_meta": get: summary: Get package meta file. description: Get package meta file. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: meta schema: type: string description: Set to `1` to force to retrieve the package metadata from the backend. example: 1 - in: query name: rev schema: type: string description: Return the package metadata for a specific revision number. example: 42 - in: query name: view schema: type: string enum: - blame description: With `view=blame` show information about who and when each line of the package metadata was changed. example: blame responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true title: type: string description: type: string devel: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true xml: name: package examples: Simple Request: value: name: package_1 title: '' description: Test package devel: project: home:Admin package: package_2 Request with view=blame: value: | 11 (Admin 2023-03-09 12:14:58 1) 12 (Admin 2023-03-09 12:23:11 2) 63 (Admin 2023-03-13 16:16:05 3) Description 2 added... 44 (Admin 2023-03-09 17:39:39 4) 11 (Admin 2023-03-09 12:14:58 5) '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Bad Revision: description: Passing `rev=invalid_revision`. value: code: 400 summary: bad revision 'invalid_revision' Not Boolean: description: Passing `meta=not_boolean`. value: code: 400 summary: not boolean Unknown View: description: Passing `view=invalid_view`. value: code: 400 summary: unknown view 'invalid_view' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown Revision: value: code: 404 summary: revision '66' does not exist details: 404 revision '66' does not exist tags: - Sources - Packages put: summary: Write package meta file. description: Write package's meta file. Create the package if it doesn't exist. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Comment that explains the changes you made in the meta file. example: Fix the title of the package. requestBody: description: Package meta definition. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true title: type: string description: type: string devel: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true xml: name: package example: name: package_1 title: '' description: Test package devel: project: home:Admin package: package_2 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: XML Not Valid: value: code: validation_failed summary: 'package validation error: 1:11: FATAL: Extra content at the end of the document' Project Name Mismatch: value: code: project_name_mismatch summary: project name in xml data does not match resource path component '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Authorized to Update the Project: value: code: update_project_not_authorized summary: You are not authorized to update this project '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=addcontainers": post: summary: Add docker container packages and repositories description: Add docker container packages and repositories using the maintained version of this package parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: cmd required: true schema: type: string enum: - addcontainers - in: query name: extend_package_names schema: type: string enum: - 1 example: 1 description: | Set to consider the container name as a parsed combination of container project and container name. With format `[container name].[container project name]` where `:` was replaced by `_`, i.e. "kiwi-templates-Minimal.SUSE_Templates_Images_SLE-15-SP4". security: - basic_authentication: [] responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=branch": post: summary: Branch a package. description: | Create a source link from a package of an existing project to a new subproject of the requester's home project. The default target is `home::branches:/`. A possible defined devel project in the package meta data gets ignored. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: target_project schema: type: string description: Target project name. example: home:Admin:subproject - in: query name: target_package schema: type: string description: Target package name. example: test - in: query name: add_repositories schema: type: string enum: - 1 description: Set to add repositories based on source project (default for new projects). - in: query name: add_repositories_rebuild schema: type: string enum: - transitive - direct - local - copy description: Set one of the defined rebuild policies for new repositories (`transitive`, `direct` or `local`) or copy it from the source project (`copy`) - in: query name: add_repositories_block schema: type: string enum: - all - local - never description: Set to use defined block policy for new repositories. - in: query name: autocleanup schema: type: string enum: - 1 description: Set to enable autocleanup on the branched project. - in: query name: dryrun schema: type: string enum: - 1 description: Set to run without making action, just report results. - in: query name: extend_package_names schema: type: string enum: - 1 description: Set to extend package and repository names to allow multiple instances of the same package. - in: query name: ignoredevel schema: type: string enum: - 1 description: Set to ignore validation and resolving of devel package or devel project definition. - in: query name: force schema: type: string description: 'Set to 1 to allow overwriting of a pre-existing package. ' example: 1 - in: query name: rev schema: type: string description: Set to branch against a specific revision. - in: query name: maintenance schema: type: string enum: - 1 description: Set to explicitly ask for a maintenance branch. - in: query name: missingok schema: type: string enum: - 1 description: Set to create the target package if it does not exist. - in: query name: newinstance schema: type: string enum: - 1 description: Set to have the target package exist only via project links, but the link should point to the given project. - in: query name: noaccess schema: type: string enum: - 1 description: Set to make the newly created project be read protected. This won't work if the project already exists. - in: query name: noservice schema: type: string enum: - 1 description: Set to not run source services on branching. - in: query name: request schema: type: string description: Creates a branch project based on the provided request number. - in: query name: update_path_elements schema: type: string enum: - 1 description: Set to update all the path elements if needed (used repositories depend on each other). - in: query name: update_project_attribute schema: type: string default: OBS:UpdateProject description: Set a different Update Project attribute. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: | Ok home:Admin:subproject test home:Admin ctris '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Double Branch: value: code: double_branch_package summary: 'branch target package already exists: home:Admin:subproject/test' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=collectbuildenv": post: summary: Collect build environment information. description: | Creates _buildenv files based on origin package builds. This can be used to re-use exact older build enviroment even when further new binary packages got added. For example to re-build an old maintenance update in the same way. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: oproject required: true schema: type: string description: Origin project. The project that the Origin Package will have the build information copied from. - in: query name: opackage schema: type: string description: Origin package. Build environment information of the package that will be copied. - in: query name: orev schema: type: string description: Origin package revision. Revision of the Origin Package on which to base the build environment collection. - in: query name: comment schema: type: string description: Comment for the new revision. responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision examples: Copy: value: rev: 3 vrev: 3 srcmd5: d41d8cd98f00b204e9800998ecf8427e version: 20220902.37b45c2 time: 1678785078 user: Admin comment: Copying the build environment from origin requestid: '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Missing Parameter: value: code: missing_parameter summary: Required Parameter opackage missing Bad Revision: value: code: 400 origin: backend summary: bad revision '-3' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=commit": post: summary: Commit package changes. description: Create a new revision of the package, committing package changes. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Provide a comment to the revision in history. example: This was changed to improve foobar. - in: query name: linkrev schema: type: string description: | Link revision in base package. Set to `base` to use the commit revision. Used together with the `keeplink` parameter. example: base - in: query name: rev schema: type: string description: Revision of the package. - in: query name: keeplink schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to preserve the link (`_link` file) on the source. example: 1 - in: query name: repairlink schema: type: string enum: - 1 - 0 default: 0 description: | Set to `1` to solve conflicts. Used together with `keeplink` parameter. example: 1 responses: '200': description: OK. Revision created with this commit. content: text/xml: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision example: rev: 86 vrev: 86 srcmd5: 55452f7326fe90cb67ca96bf9e9ffabc version: 2.10~pre time: 1665060711 user: Admin comment: requestid: '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `keeplink`, for example. value: | not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=commitfilelist": post: summary: Commit package changes from a filelist. description: | Create a new commit using defined files already uploaded to the repository. This requires a directory xml providing file name and md5 as body. It is recommended to use the `withvalidate` parameter and add the sha256 sum including "sha256:" prefix in "hash" attribute for security reasons. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Provide a comment to the revision example: This was changed to improve foobar. - in: query name: linkrev schema: type: string description: | Link revision in base package. Set to `base` to use the commit revision. Used together with the `keeplink` parameter. example: base - in: query name: rev schema: type: string description: Revision of the package. - in: query name: keeplink schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to preserve the link (`_link` file) on the source. example: 1 - in: query name: repairlink schema: type: string enum: - 1 - 0 default: 0 description: | Set to `1` to solve conflicts. Used together with `keeplink` parameter. example: 1 - in: query name: withvalidate schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to activate sha validation code (optional, but recommended) example: 1 responses: '200': description: OK. Revision created with this commit. content: text/xml: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision example: rev: 86 vrev: 86 srcmd5: 55452f7326fe90cb67ca96bf9e9ffabc version: 2.10~pre time: 1665060711 user: Admin comment: requestid: '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `keeplink`, for example. value: | not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=copy": post: summary: Copy packages. description: "Copy packages. \nAdditionally you can copy the binaries and/or the commit history.\nThe copy can be done synchronously or asynchronously.\nYou can leave a comment in the package revision.\n" security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: rev schema: type: string enum: - upload - repository example: repository - in: query name: opackage schema: type: string description: Origin package. The package that will be copied. - in: query name: oproject schema: type: string description: Origin project. The project that the Origin Package will be copied from. - in: query name: withbinaries schema: type: string enum: - 1 - 0 description: Set to '1' to copy binaries that have been build by the origin package too. - in: query name: makeolder schema: type: string enum: - 1 - 0 description: Set to '1' to make the target older, the source vrev is bumped by two numbers and target by one. Setting both makeolder and makeoriginolder will return an error back. - in: query name: makeoriginolder schema: type: string enum: - 1 - 0 description: Set to '1' to make the origin older, the source vrev is extended and target is guaranteed to be newer. Setting both makeoriginolder and makeolder will return an error back. - in: query name: nodelay schema: type: string enum: - 1 - 0 description: Set to '1' to do the copying synchronously. By default the copying is done asynchronously. - in: query name: withhistory schema: type: string enum: - 1 - 0 description: Set to '1' to copy the package commit history. - in: query name: noservice schema: type: string enum: - 1 - 0 description: Set to '1' to avoid running the services after the copy. - in: query name: comment schema: type: string description: Comment for the new revision. responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: rev: type: string xml: attribute: true srcmd5: type: string xml: name: revision wrapped: true examples: Repository: value: srcmd5: d41d8cd98f00b204e9800998ecf8427e Upload: value: srcmd5: d41d8cd98f00b204e9800998ecf8427e '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=createSpecFileTemplate": post: deprecated: true summary: Create a RPM Spec File Template for a specified package. description: | Create a RPM Spec File Template for a specified package. This endpoint is broken and will be removed. See [https://github.com/openSUSE/open-build-service/issues/9707](https://github.com/openSUSE/open-build-service/issues/9707) security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=deleteuploadrev": post: summary: Delete all uploaded sources which are not committed yet. description: Removes all changes made to the upload revision and reverts to last committed revision security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package ctris in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=diff": post: summary: Returns the source diff of a package. description: | Without parameters, return the diff of the last change made to the package. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: cacheonly schema: type: string enum: - 1 - 0 description: | Set to `1` to retrieve a diff only if the diff is already cached. If the diff is not cached return a 412 "Precondition failed" error. example: 1 - in: query name: expand schema: type: string enum: - 1 - 0 description: Set to `1` to expand any link before diffing. example: 1 - in: query name: file schema: type: string description: Limit diff to the given file name. example: hello_world.spec deprecated: true - in: query name: file[] schema: type: array elements: type: string description: Limit diff to the given file names. example: - hello_world.spec - my_program.c - in: query name: filelimit schema: type: string description: | Limit the size of the diff to this amount of lines. By default it takes a built-in value of 200. Set to `0` to disable the limit. example: 20 - in: query name: linkrev schema: type: string description: Link revision in base package. Set to `base` to use the commit revision. example: base - in: query name: meta schema: type: string enum: - 1 - 0 description: Set to `1` to diff meta data instead of sources. example: 1 - in: query name: missingok schema: type: string enum: - 1 - 0 description: Set to `1` to diff against an inexistent origin. example: 1 - in: query name: nodiff schema: type: string enum: - 1 - 0 description: Set to `1` to only show changed files, and not details inside files. example: - in: query name: olinkrev schema: type: string description: Link revision of the origin package. - in: query name: onlyissues schema: type: string enum: - 1 - 0 description: Set to `1` to show no source diff, only the tracker issues and their change state. example: 1 - in: query name: orev schema: type: string description: Old revision. - in: query name: opackage schema: type: string description: Old package. - in: query name: oproject schema: type: string description: Old project. - in: query name: rev schema: type: string description: Revision of the package. - in: query name: tarlimit schema: type: string description: Limit the size of the diff of tar files to this amount of lines. example: 100 - in: query name: unified schema: type: string enum: - 1 - 0 description: | Set to `1` to use unified diff format. Same as setting `view=unified`. Setting `unified` to `1` takes precedence on the setting of the `view` parameter. See `view` parameter for details on the unified format. example: 1 - in: query name: view schema: type: string enum: - unified - xml description: | Set the format of the diff being returned. Don't pass the parameter for custom diff format. Set to `unified` for unified content. Set to `xml` for structured content in a `sourcediff` xml element. example: unified - in: query name: withissues schema: type: string enum: - 1 - 0 description: Set to `1` to include parsed issue tracker issues and their change state. example: 1 responses: '200': description: OK content: text/plain: schema: type: string examples: Without parameters. One character change: description: Diff of adding an exclamation mark. value: |2 spec files: ----------- --- hello_world.spec +++ hello_world.spec @@ -13,7 +13,7 @@ %build cat > hello_world.sh < hello_world.sh < @@ -13,7 +13,7 @@ %build cat > hello_world.sh <<EOF #!/usr/bin/bash -echo Hello world +echo Hello world! EOF %install With nodiff=1: description: Passing `nodiff=1` only shows changed files. value: |2 spec files: ----------- --- hello_world.spec +++ hello_world.spec '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `nodiff`, for example. value: code: 400 origin: backend summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' '412': description: | Precondition Failed With `cacheonly=1`, and the diff is still not cached. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 412 origin: backend summary: diff not yet in cache details: 412 diff not yet in cache tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=fork": post: summary: Create a fork of a package taking the source from the scmsync parameter description: | Create a fork of a package taking the source from the scmsync parameter. The target project is by default below home::branches namespace. The target project will be setup to include the source project repository setup. The source project must exists, the source package may not exist. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - name: scmsync description: Checkout url for the source in: query required: true schema: type: string - name: target_project description: target project name, optional (default home::branches:) in: query schema: type: string - name: target_package description: target package name in: query schema: type: string - in: query name: force schema: type: string description: 'Set to 1 to allow overwriting of a pre-existing package. ' example: 1 - name: add_repositories_rebuild in: query schema: type: string enum: - transitive - direct - local - copy description: Set one of the defined rebuild policies for new repositories (`transitive`, `direct` or `local`) or copy it from the source project (`copy`) - in: query name: add_repositories_block schema: type: string enum: - all - local - never description: Set to use defined block policy for new repositories. responses: '200': description: ok content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok data: - home:Admin - hello_world '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true summary: type: string xml: name: status example: code: not_found summary: project not found tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=getprojectservices": post: summary: List all services related to a package. description: | List all services defined in the project for this package. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: cmd required: true schema: type: string enum: - getprojectservices responses: '200': description: content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true mode: type: string xml: attribute: true xml: name: service xml: wrapped: true name: services example: - name: format_spec_file mode: localonly - name: download_files mode: disabled '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=instantiate": post: summary: Instantiate a new package through a project link. description: | Instantiate a new package in the specified project based on the packages inherited through a linked project (local). The new package will be a branch of the package that lives in the linked project unless the `makeoriginolder` parameter is provided. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: makeoriginolder schema: type: string description: | Instead of creating a branch of the package, it will instantiate a copy of the package and extend the `vrev` to ensure the copy represents a newer version of the package. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 403 summary: package is already intialized here '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: unknown_package summary: 'Package not found: openSUSE:Leap:15.0:Update/foo' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=linkdiff": post: summary: Return the diff of the linked package. description: | For a package with a link to another package, return the diff of the linked package. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: file schema: type: string description: Limit diff to the given file name. example: hello_world.spec deprecated: true - in: query name: file[] schema: type: array elements: type: string description: Limit diff to the given file names. example: - hello_world.spec - my_program.c - in: query name: filelimit schema: type: string description: | Limit the size of the diff to this amount of lines. By default it takes a built-in value of 200. Set to `0` to disable the limit. example: 20 - in: query name: linkrev schema: type: string description: Link revision in base package. Set to `base` to use the commit revision. example: base - in: query name: onlyissues schema: type: string enum: - 1 - 0 description: Set to `1` to show no source diff, only the tracker issues and their change state. example: 1 - in: query name: rev schema: type: string description: Revision of the package. - in: query name: tarlimit schema: type: string description: Limit the size of the diff of tar files to this amount of lines. example: 100 - in: query name: unified schema: type: string enum: - 1 - 0 description: | Set to `1` to use unified diff format. Same as setting `view=unified`. Setting `unified` to `1` takes precedence on the setting of the `view` parameter. See `view` parameter for details on the unified format. example: 1 - in: query name: view schema: type: string enum: - unified - xml description: | Set the format of the diff being returned. Don't pass the parameter for custom diff format. Set to `unified` for unified content. Set to `xml` for structured content in a `sourcediff` xml element. example: unified - in: query name: withissues schema: type: string enum: - 1 - 0 description: Set to `1` to include parsed issue tracker issues and their change state. example: 1 responses: '200': description: OK content: text/plain: schema: type: string examples: Without parameters. One word change: value: |2 spec files: ----------- --- hello_world.spec +++ hello_world.spec @@ -1,7 +1,7 @@ Name: hello_world Version: 1 Release: 1 -Summary: Most simple RPM package +Summary: Most simple RPM package branched License: CC0-1.0 %description With view=unified: value: | Index: hello_world.spec =================================================================== --- hello_world.spec (revision d1f45c7c7b5bf91353a4ec2042cbc53c) +++ hello_world.spec (revision f03477e1b083c6499ee2c195e3340cdf) @@ -1,7 +1,7 @@ Name: hello_world Version: 1 Release: 1 -Summary: Most simple RPM package +Summary: Most simple RPM package branched License: CC0-1.0 %description With view=xml: value: | @@ -1,7 +1,7 @@ Name: hello_world Version: 1 Release: 1 -Summary: Most simple RPM package +Summary: Most simple RPM package branched License: CC0-1.0 %description '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `unified`, for example. value: | not boolean Not a Link: description: The package doesn't cotain a `_link` file. value: | not a link '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=linktobranch": post: summary: Turn link into a branch. description: Convert a plain source link into a full branch. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: linkrev schema: type: string description: 'Link revision in base package. Set to `base` to use the commit revision. ' example: base - in: query name: rev schema: type: string description: Revision of the package. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not A Link: value: code: 400 origin: backend summary: package is not a link '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=mergeservice": post: summary: Expand all server side generated files and adapt the _service file. description: | This command executes the following steps: - Expand all server side generated files. Those are the files created by the services, starting with `_service:`. - Modify The `_service` file: - Preserve all those services which have the `mode` attribute set to `buildtime`. - Remove the `_service` file only if there aren't any services with the `mode` attribute set to `buildtime`. An example of a `_service` file, before: ``` 2.11~alpha.%ci.%h https://github.com/openSUSE/open-build-service.git git master dist/obs-server.spec xz *.tar ``` An example of a `_service` file, after this command is run: ``` xz *.tar ``` security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Set a comment. example: Merge services. responses: '200': description: Revision of the merge of the service file. content: application/xml; charset=utf-8: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision example: rev: 8 vrev: 8 srcmd5: beb268dc9f786efaa585ac07e17fea47 version: 2.10~pre time: 1665060711 user: Admin comment: requestid: '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Package Without _service file: value: code: 400 origin: backend summary: package has no service Services Running: value: code: 400 origin: backend summary: service in progress '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=rebuild": post: deprecated: true summary: Trigger a package rebuild. description: | Triggers a rebuild of the package. This endpoint is broken and will be removed. See [`POST /build/{project_name}?cmd=rebuild`](#/Build/post_build__project_name__cmd_rebuild). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=release": post: summary: Release sources and binaries of a specified package. description: | Release sources and binaries of the specified package. If no release target is specified through the optional parameters, it will trigger the release for all manual release targets set on the specified project repository definitions for the specified package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: target_project schema: type: string description: | The name of the release target project. Specify in which project the sources and binaries are going to be released. You need to provide the `target_repository` parameter as well. example: OBS:Server:2.10 - in: query name: target_repository schema: type: string description: | The name of the release target repository. Specify in which repository the sources and binaries are going to be released. You need to provide the `target_project` parameter as well. example: openSUSE_Tumbleweed - in: query name: repository schema: type: string description: 'Limit the release to a certain repository, set on the project repository definitions. ' example: openSUSE_Tumbleweed - in: query name: setrelease schema: type: string description: 'If this parameter is present, the release will be tagged with this parameter''s value. ' example: Build8.18 - in: query name: arch schema: type: string description: The name of the architecture. Limit the release to a certain architecture. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Missing Parameter: value: code: missing_parameter summary: release action with specified target project needs also "repository" and "target_repository" parameter '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to execute command 'release' for package hello_world in project home:foo '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=remove_flag": post: summary: Remove a specific flag. description: Remove a specific flag for a package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: flag required: true schema: type: string enum: - access - binarydownload - build - debuginfo - lock - publish - sourceaccess - useforbuild description: Name of the flag to be removed. example: build - in: query name: repository schema: type: string description: Repository for which the flag is to be removed. example: openSUSE_Tumbleweed - in: query name: arch schema: type: string description: Architecture for which the flag is to be removed. example: x86_64 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Missing Parameter flag: value: code: missing_parameter summary: Required Parameter flag missing Invalid flag: value: code: invalid_flag summary: 'Error: unknown flag type ''RANDOM_STRING'' not found.' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=runservice": post: summary: Trigger run of defined services. description: Trigger run of defined services in the `_service` file. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Set a comment. default: trigger service run example: Trigger services once more. - in: query name: user schema: type: string description: Set the user who triggers the services. example: Iggy responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Package is _project: value: code: 400 origin: backend summary: triggerservicerun does not work with _project '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: No Permission to Run Services: value: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' No Source Service Defined: value: code: not_found summary: | no source service defined!
404 no source service defined!
tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=servicediff": post: summary: Return the diff of changes made by a service run. description: | Return the diff of changes made by a service run. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: file schema: type: string description: Limit diff to the given file name. example: hello_world.spec deprecated: true - in: query name: file[] schema: type: array elements: type: string description: Limit diff to the given file names. example: - hello_world.spec - my_program.c - in: query name: filelimit schema: type: string description: | Limit the size of the diff to this amount of lines. By default it takes a built-in value of 200. Set to `0` to disable the limit. example: 20 - in: query name: onlyissues schema: type: string enum: - 1 - 0 description: Set to `1` to show no source diff, only the tracker issues and their change state. example: 1 - in: query name: rev schema: type: string description: Revision of the package. - in: query name: tarlimit schema: type: string description: Limit the size of the diff of tar files to this amount of lines. example: 100 - in: query name: unified schema: type: string enum: - 1 - 0 description: | Set to `1` to use unified diff format. Same as setting `view=unified`. Setting `unified` to `1` takes precedence on the setting of the `view` parameter. See `view` parameter for details on the unified format. example: 1 - in: query name: view schema: type: string enum: - unified - xml description: | Set the format of the diff being returned. Don't pass the parameter for custom diff format. Set to `unified` for unified content. Set to `xml` for structured content in a `sourcediff` xml element. example: unified - in: query name: withissues schema: type: string enum: - 1 - 0 description: Set to `1` to include parsed issue tracker issues and their change state. example: 1 responses: '200': description: OK content: text/plain: schema: type: string examples: No Changes: description: If the last run of services didn't change the sources, return empty. value: '' Without any value for view parameter: value: | new: ---- _service:obs_scm:obs-api-testsuite-rspec.spec spec files: ----------- ++++++ new spec file: --- _service:obs_scm:obs-api-testsuite-rspec.spec +++ _service:obs_scm:obs-api-testsuite-rspec.spec @@ -0,0 +1,73 @@ +# +# spec file for package obs-api-testsuite-rspec +# + + +Name: obs-api-testsuite-rspec +Version: 2.10~pre +Release: 0 +Summary: The Open Build Service -- RSpec test suite +License: GPL-2.0-only OR GPL-3.0-only +Group: Productivity/Networking/Web/Utilities +Url: http://www.openbuildservice.org +Source0: open-build-service-%version.tar.xz +BuildRequires: obs-api-testsuite-deps +# rspec specific dependencies +BuildRequires: chromedriver +BuildRequires: xorg-x11-fonts +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?disable_obs_frontend_test_suite} || 0%{?disable_obs_test_suite} +ExclusiveArch: nothere +%else +ExclusiveArch: x86_64 +%endif + + +%description +Running the RSpec test suite of the OBS frontend independently +of packaging the application + +%prep +%setup -q -n open-build-service-%{version} + +%build +# run in build environment +pushd src/backend/ +rm -rf build +ln -sf /usr/lib/build build +popd + +pushd src/api +# configure to the bundled gems +bundle --local --path %_libdir/obs-api/ + +./script/prepare_spec_tests.sh + +export RAILS_ENV=test +bin/rake db:setup +bin/rails assets:precompile + +bin/rspec -f d --exclude-pattern 'spec/db/**/*_spec.rb' + +# now migration tests (if they fail they create tons of follow up errors, so run them last) +bin/rspec -f d -P 'spec/db/**/*_spec.rb' + +%install + +# no result +%files + +%changelog With view=unified: value: | Index: _service:obs_scm:obs-api-testsuite-rspec.spec =================================================================== --- _service:obs_scm:obs-api-testsuite-rspec.spec (added) +++ _service:obs_scm:obs-api-testsuite-rspec.spec (revision c63d8550ea46703ce56000277de12d1c) @@ -0,0 +1,73 @@ +# +# spec file for package obs-api-testsuite-rspec +# [...] +%changelog Index: _service:obs_scm:obs-server.spec =================================================================== --- _service:obs_scm:obs-server.spec (added) +++ _service:obs_scm:obs-server.spec (revision c63d8550ea46703ce56000277de12d1c) @@ -0,0 +1,1120 @@ +# +# spec file for package obs-server [...] +Recommends: yum yum-metadata-parser repoview dpkg +Recommends: deb >= 1.5 (921 more lines skipped) Index: _service:obs_scm:open-build-service-2.11~alpha.20221007T165328.9f99a31a.obscpio =================================================================== Binary file _service:obs_scm:open-build-service-2.11~alpha.20221007T165328.9f99a31a.obscpio (revision c63d8550ea46703ce56000277de12d1c) added Index: _service:obs_scm:open-build-service.obsinfo =================================================================== --- _service:obs_scm:open-build-service.obsinfo (added) +++ _service:obs_scm:open-build-service.obsinfo (revision c63d8550ea46703ce56000277de12d1c) @@ -0,0 +1,4 @@ +name: open-build-service +version: 2.11~alpha.20221007T165328.9f99a31a +mtime: 1665154408 +commit: 9f99a31afe0ab435c1dd1d02be5f52fe4425b00f text/xml: schema: type: object properties: name: key: string xml: attribute: true xml: name: sourcediff examples: With view=xml: value: | @@ -0,0 +1,73 @@ +# +# spec file for package obs-api-testsuite-rspec [...] + +%changelog @@ -0,0 +1,1120 @@ +# +# spec file for package obs-server [...] +Recommends: yum yum-metadata-parser repoview dpkg +Recommends: deb >= 1.5 @@ -0,0 +1,4 @@ +name: open-build-service +version: 2.11~alpha.20221007T165328.9f99a31a +mtime: 1665154408 +commit: 9f99a31afe0ab435c1dd1d02be5f52fe4425b00f '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `unified`, for example. value: | not boolean No Service Run: value: | no service was run for this revision '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=set_flag": post: summary: Enable or disable a specific flag. description: Enable or disable a specific flag for a package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: flag required: true schema: type: string enum: - access - binarydownload - build - debuginfo - lock - publish - sourceaccess - useforbuild description: Name of the flag to be set. example: build - in: query name: status required: true schema: type: string enum: - enable - disable description: Status of the flag to be set. example: enable - in: query name: repository schema: type: string description: Repository for which the flag is to be set. example: openSUSE_Tumbleweed - in: query name: arch schema: type: string description: Architecture for which the flag is to be set. example: x86_64 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Missing Parameter flag: value: code: missing_parameter summary: Required Parameter flag missing Missing Parameter status: value: code: missing_parameter summary: Required Parameter status missing Invalid flag: value: code: invalid_flag summary: 'Error: unknown flag type ''RANDOM_STRING'' not found.' Invalid status: value: code: invalid_flag summary: 'Error: unknown status flag ''RANDOM_STRING''' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=showlinked": post: summary: List all packages linking to this one. description: List all packages linking to this one. Despite using the method `POST`, this endpoint doesn't alter any data. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true project: type: string xml: attribute: true xml: name: package xml: name: collection wrapped: true examples: No results: value: | Two linked packages: value: - name: hello_world project: home:Admin:branches:home:Admin - name: hello_world2 project: home:Admin:branches:home:Admin '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=undelete": post: summary: Undelete the package. description: Undelete the package. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment schema: type: string description: Set a comment. default: package was undeleted example: The package was removed by mistake. Undeleting. - in: query name: time schema: type: integer description: | Set the time of the undelete operation, expressed in seconds since the epoch. Set to `1` to set the time of the undelete operation to the same time the package was deleted. examples: Seconds Since Epoch: value: 1664912989 Same as Delete Time: value: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Package Exists: value: code: package_exists summary: the package exists already home:Admin hello_world Time is Not a Number: value: code: 400 origin: backend summary: 'not a number: ''RANDOM_STRING''' Time is Less than Time in Last Commit: value: code: 400 origin: backend summary: specified time is less than time in last commit '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Package Was Not Deleted: value: code: 403 summary: package 'hello_world' was not deleted details: 403 package 'hello_world' was not deleted No Permission to Create Package: value: code: cmd_execution_no_permission summary: no permission to create package in project home:Admin No Permission to Set the Time: value: code: cmd_execution_no_permission summary: Only administrators are allowed to set the time '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=unlock": post: summary: Unlock a locked package. description: Unlock a locked package (`` flag present in the package `_meta` file). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: comment required: true schema: type: string description: Comment to be included in the revision history of the `_meta` file example: Locking the package is no longer needed responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Missing Parameter: value: code: missing_parameter summary: Required Parameter comment missing Not locked: value: code: not_locked summary: package 'home:Foo/hello_world' is not locked '403': description: Forbidden content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package ruby in project home:Foo '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: unknown_package summary: 'Package not found: openSUSE:Leap:15.0:Update/foo' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=updatepatchinfo": post: summary: Update the issues listed in the `_patchinfo` file of a specified package. description: | Update the issues listed in the `_patchinfo` file of a specified package, based on infos available through the issue trackers. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: cmd_execution_no_permission summary: no permission to modify package patchinfo in project openSUSE:Maintenance:123 '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?cmd=waitservice": post: summary: Return when the last run of defined services has finished. description: | Return an `Ok` code when the last run of defined services in the `_service` file has finished. If a run of services is in progress, wait until all services finish. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Service Not Installed: value: code: 400 origin: backend summary: " 400 remote error: /usr/lib/obs/service//set_version.service \ No such file or directory (http://backend:5152/sourceupdate/home:Admin/obs-server?timeout=3600)" '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: No Permission to Wait for Services: value: code: cmd_execution_no_permission summary: no permission to modify package test in project home:Admin '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}?view=info": get: summary: Show source version, md5sums and build description files of a package. description: Show source version, md5sums and build description files of a package, among other information. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: query name: view schema: type: string enum: - cpio - getmultibuild - info - issues - products - productrepositories description: | Specify which information about a package should be returned. * `info`: Show source version, md5sums and build description files, among other information. * `cpio`, `getmultibuild`, `issues`, `products`, `productrepositories`: See this [other endpoint](<#/Sources - Files/get_source__project_name___package_name_>) for details. example: info - in: query name: arch schema: type: string description: Filter by architecture name. example: x86_64 - in: query name: nofilename schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to prevent from showing filename elements. Shows only the `sourceinfo` root element. example: 1 - in: query name: repository schema: type: string description: Filter by repository name. example: openSUSE_Tumbleweed - in: query name: parse schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to show more details, like `originproject`, `linked package`, `name`, `version`, `release`, `subpacks`, `deps`, and `prereqs` elements. example: 1 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: package: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true verifymd5: type: string xml: attribute: true metamd5: type: string xml: attribute: true filename: type: string originproject: type: string linked: type: array items: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true name: type: string version: type: string release: type: string revtime: type: string error: type: string subpacks: type: array items: type: string deps: type: array items: type: string prereqs: type: array items: type: string xml: name: sourceinfo examples: Without Any Other Parameters: value: package: texlive-specs-w rev: 9f5336fcf6e4521b6a9587b02087eef9 vrev: 55 srcmd5: 9f5336fcf6e4521b6a9587b02087eef9 verifymd5: 9b49b7314f5d0dfd8002cd329e048f73 filename: texlive-specs-w.spec originproject: openSUSE:Factory:Rings:1-MinimalX linked: - project: openSUSE:Factory:Rings:0-Bootstrap package: textlive-specs-w - project: openSUSE:Factory:Rings:1-MinimalX package: textlive-specs-w With Parameter nofilename=1: value: package: texlive-specs-w rev: 9f5336fcf6e4521b6a9587b02087eef9 vrev: 55 srcmd5: 9f5336fcf6e4521b6a9587b02087eef9 verifymd5: 9b49b7314f5d0dfd8002cd329e048f73 originproject: openSUSE:Factory:Rings:1-MinimalX linked: - project: openSUSE:Factory:Rings:0-Bootstrap package: textlive-specs-w - project: openSUSE:Factory:Rings:1-MinimalX package: textlive-specs-w With Parameter parse=1: value: package: texlive-specs-w rev: 9f5336fcf6e4521b6a9587b02087eef9 vrev: 55 srcmd5: 9f5336fcf6e4521b6a9587b02087eef9 verifymd5: 9b49b7314f5d0dfd8002cd329e048f73 filename: texlive-specs-w.spec originproject: openSUSE:Factory:Rings:1-MinimalX linked: - project: openSUSE:Factory:Rings:0-Bootstrap package: textlive-specs-w - project: openSUSE:Factory:Rings:1-MinimalX package: textlive-specs-w name: textlive-specs-w version: 2023 release: 0 subpacks: - texlive-specs-w - texlive-tablists deps: - texlive-kpathsea - texlive-tie-bin prereqs: - texlive-filesystem - coreutils '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Boolean: description: Passing a value different than `0` or `1` to `parse`, for example. value: code: 400 summary: not boolean '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Packages "/source/{project_name}/{package_name}/{file_name}": get: summary: Read a specified source file description: Read a specified source file and return the content security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm - in: query name: rev schema: type: integer description: Retrieve the file at a specific package revision. example: 3 - in: query name: meta schema: type: integer enum: - 1 - 0 description: Set to `1` to show meta data instead of sources. example: 1 - in: query name: deleted schema: type: integer enum: - 1 - 0 description: Set to 1 to retrieve a file from a deleted project or package. example: 0 - in: query name: expand schema: type: integer enum: - 1 - 0 description: Set to `1` to include files from linked packages. example: 1 - name: view in: query schema: type: string enum: - blame description: With `view=blame`, information about who changed the file. example: blame responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Unknown parameter content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown parameter: value: code: unknown_parameter summary: unknown parameter 'limit' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/some_package/some_file' tags: - Sources - Files delete: summary: Deletes a specified source file of a package. description: Deletes a specified source file of a package of a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm - in: query name: rev schema: type: string description: | If set to 'upload', multiple files can be deleted in just one commit. Delete first the files with `rev=upload`, then close the single commit by another request call with `cmd=commit` example: upload - in: query name: meta schema: type: integer enum: - 1 - 0 description: Set to `1` to delete meta data instead of sources. example: 1 - in: query name: comment schema: type: string description: A comment that will appear in the package's comment section explaining the reason behind the deletion of the file. example: File deleted because it is useless. - in: query name: keeplink schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to preserve the link (`_link` file) on the source. example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/some_package/some_file' tags: - Sources - Files put: summary: Write a specified source file into a package. description: Write a specified source file of a package of a project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: file_name schema: type: string required: true description: The file name example: ctris-0.42.1-4.1.x86_64.rpm - in: query name: rev schema: type: string description: | If set to 'upload', multiple files can be uploaded in just one commit. Upload first the files with `rev=upload`, then close the single commit by another request call with `cmd=commit` example: upload - in: query name: meta schema: type: integer enum: - 1 - 0 description: Set to `1` to write meta data instead of sources. example: 1 - in: query name: comment schema: type: string description: A comment that will appear in the package's comment section explaining the reason behind the creation of the new file. example: Added new configuration file. - in: query name: keeplink schema: type: string enum: - 1 - 0 default: 0 description: Set to `1` to preserve the link (`_link` file) on the source. example: 1 requestBody: content: plain/text: schema: type: string properties: file: type: string format: binary responses: '200': description: Updates the artifact's file contents content: application/xml; charset=utf-8: schema: type: object properties: rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string version: type: string time: type: string user: type: string comment: type: string requestid: type: string xml: name: revision example: rev: 28 vrev: 28 srcmd5: 2e0bd85c089953743bd30eeacf70989b version: 1 time: 1678787266 user: Admin comment: requestid: '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown File: value: code: unknown_file summary: 'File not found: home:some_project/some_package/some_file' tags: - Sources - Files "/source/{project_name}/{package_name}/{binary_filename}/_attribute/{attribute_name}": get: summary: Get values of an attribute description: Get attribute and attribute values of a given attribute and binary security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: name: AllowSubmitToMaintenanceRelease namespace: OBS binary: Ceph '400': description: Bad request content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: value: code: invalid_attribute summary: Attribute '{attribute_name}' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown Attribute: value: code: unknown_attribute summary: Attribute some_attribute does not exist tags: - Sources - Files delete: summary: Removes a specified attribute description: Removes a specified attribute from a package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm - in: path name: attribute_name schema: type: string required: true description: The name of the attribute example: OBS:OwnerRootProjectTest responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Wrong value for deleted parameter. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: invalid_attribute: value: code: invalid_attribute summary: Attribute 'OwnerRootProjectTest' must be in the $NAMESPACE:$NAME style '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' Unknown Attribute: value: code: unknown_attribute summary: Attribute some_attribute does not exist tags: - Sources - Files "/source/{project_name}/{package_name}/{binary_filename}/_attribute": get: summary: Get list of attributes and attribute values with binary parameter description: Get a list of all attributes and their values for a given binary security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: - name: AllowSubmitToMaintenanceRelease namespace: OBS binary: SLES-cd-DVD-x86_64 - name: OwnerRootProjectTest namespace: OBS binary: Ceph '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Files post: summary: Add an attribute description: Add an attribute with binary to a package security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris - in: path name: binary_filename schema: type: string required: true description: Binary filename example: ctris-0.42.1-8.1.x86_64.rpm requestBody: description: Attributes you want to update content: application/xml; charset=utf-8: schema: type: array items: type: object properties: name: type: string xml: attribute: true namespace: type: string xml: attribute: true binary: type: string xml: attribute: true xml: name: attribute xml: name: attributes wrapped: true example: name: MaintenanceProject namespace: OBS binary: Ceph responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Package: value: code: unknown_package summary: 'Package not found: home:some_project/some_package' tags: - Sources - Files "/staging/{project_name}/backlog": get: summary: List the requests in the staging backlog. description: List the requests that can be assigned to the staging project (backlog). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: List of request in the staging backlog. content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true type: type: string example: submit xml: attribute: true state: type: string example: review xml: attribute: true package: type: string example: hello_world xml: attribute: true superseded_by: type: integer example: 43 xml: attribute: true updated: type: string example: '2023-04-24T08:34:39Z' xml: attribute: true xml: name: backlog '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow "/staging/{project_name}/excluded_requests": get: summary: List the requests excluded from a staging workflow. description: List the requests excluded from the staging workflow associated to the specified project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: List of requests that are excluded from the staging workflow content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true description: type: string example: Missing dependencies xml: attribute: true xml: name: excluded_requests '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow post: summary: Exclude requests from the staging workflow. description: Add requests to the list of excluded requests of the staging workflow associated to the specified project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: List of requests to be excluded from the staging workflow content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true description: type: string example: Missing dependencies xml: attribute: true xml: name: excluded_requests responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Excluding Failed: value: code: invalid_request summary: 'Excluding requests for project_name failed:' Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow delete: summary: Delete the specified requests from the list of excluded requests. description: Stop excluding the requests from the staging workflow. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: List of requests to stop excluding from the staging workflow content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true description: type: string example: Missing dependencies xml: attribute: true xml: name: excluded_requests responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid Request: value: code: invalid_request summary: 'Error while unexcluding requests: Requests with number ID are not excluded.' Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow "/staging/{project_name}/staged_requests": delete: summary: Delete requests from any of the staging projects. description: Delete the given requests from any of the staging projects they were staged in. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: List of requests to be deleted. content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true xml: name: requests examples: Multiple Requests: value: request: - id: 1 - id: 2 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Request Not Staged: value: code: invalid_request summary: 'Error while unassigning requests: Request ''ID'' is not staged' Request Not In Staging: value: code: invalid_request summary: 'Error while unassigning requests: Requests with number: ID don''t belong to Staging: project_name' Unknown Request: value: code: invalid_request summary: 'Error while unassigning requests: Requests with number: 212 don''t exist' Wrong Request Number: value: code: invalid_request summary: Error while parsing the numbers of the requests Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Without Staging Workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: not_found summary: Project 'project_name' not found. tags: - Staging Workflow "/staging/{project_name}/staging_projects": get: summary: List all the staging projects of a staging workflow. description: | List the staging projects of the staging workflow associated to the specified project. Extra information can be requested by adding any combination of these parameters in the URL: `requests`, `status` and `history`. - If `requests` is present, the output includes the staged, untracked and obsolete requests as well as missing reviews. - If `status` is present, the output includes the overall state and the status xml (broken packages, missing reviews, checks, etc.) - If `history` is present, the output includes the history of the staging project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: requests in: query schema: type: string example: 1 description: '"Set to `1` if you want to include the staged, untracked and obsolete requests as well as missing reviews, otherwise don''t pass this query parameter." ' - name: status in: query schema: type: string example: 1 description: '"Set to `1` if you want to include the overall state and the status xml (broken packages, missing reviews, checks, etc.), otherwise don''t pass this query parameter" ' - name: history in: query schema: type: string example: 1 description: Set to `1` if you want to include the history of the staging project, otherwise don't pass this query parameter. responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: staging_project: type: array items: type: object properties: name: type: string example: openSUSE:Factory xml: attribute: true state: type: string example: empty xml: attribute: true staged_requests: type: object properties: count: type: integer example: 0 xml: attribute: true untracked_requests: type: object properties: count: type: integer example: 0 xml: attribute: true obsolete_requests: type: object properties: count: type: integer example: 0 xml: attribute: true missing_reviews: type: object properties: count: type: integer example: 0 xml: attribute: true building_repositories: type: object properties: count: type: integer example: 0 xml: attribute: true broken_packages: type: object properties: count: type: integer example: 0 xml: attribute: true checks: type: object properties: count: type: integer example: 0 xml: attribute: true missing_checks: type: object properties: count: type: integer example: 0 xml: attribute: true history: type: object properties: count: type: integer example: 0 xml: attribute: true xml: name: staging_project xml: name: staging_projects examples: Simple Result: value: staging_project: - name: openSUSE:Factory:Staging:A - name: openSUSE:Factory:Staging:B Detailed Result: value: staging_project: name: openSUSE:Factory:Staging:A state: empty staged_requests: count: 0 untracked_requests: count: 0 obsolete_requests: count: 0 missing_reviews: count: 0 building_repositories: count: 0 broken_packages: count: 0 checks: count: 0 missing_checks: count: 0 history: count: 0 '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Project Without Staging Workflow: value: code: project_has_no_staging_workflow summary: No staging workflow for project 'project_name' Unknown Project: value: code: not_found summary: Project 'project_name' not found. tags: - Staging Workflow post: summary: Create staging projects description: Create staging projects on the staging workflow associated to the specified project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: List of the names of the staging projects you want to add to the staging workflow content: application/xml; charset=utf-8: schema: type: object properties: staging_project: type: array items: type: string example: openSUSE:Factory:Staging:C xml: name: workflow examples: Multiple Staging Projects: value: staging_project: - openSUSE:Factory:Staging:C - openSUSE:Factory:Staging:D responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid Project Name: value: code: invalid_request summary: 'Staging Projects for package_name failed: Project "0": Name is illegal.' Already Assigned: value: code: invalid_request summary: 'Staging Projects for project_name failed: Project "project_name": is already assigned to a staging workflow.' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Project Without Staging Workflow: value: code: not_found summary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: not_found summary: Project 'project_name' not found. tags: - Staging Workflow "/staging/{project_name}/staging_projects/{staging_project_name}": get: summary: Gets the overall state of a staging project. description: | Extra information can be requested by adding any combination of these parameters in the URL: requests, status and history. - If requests is present, the output includes the staged, untracked and obsolete requests as well as missing reviews. - If status is present, the output includes the overall state and the status xml (broken packages, missing reviews, checks, etc.) - If history is present, the output includes the history of the staging project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A - name: requests in: query schema: type: string enum: - 1 description: 'Set to `1` if you want to include the staged, untracked and obsolete requests as well as missing reviews, otherwise don''t pass this query parameter. ' - name: status in: query schema: type: string enum: - 1 description: 'Set to `1` if you want to include the overall state and the status xml (broken packages, missing reviews, checks, etc.), otherwise don''t pass this query parameter. ' - name: history in: query schema: type: string enum: - 1 description: Set to `1` if you want to include the history of the staging project, otherwise don't pass this query parameter. responses: '200': description: Get the state of a staging project. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: openSUSE:Factory xml: attribute: true state: type: string example: empty xml: attribute: true staged_requests: type: object properties: count: type: integer example: 0 xml: attribute: true untracked_requests: type: object properties: count: type: integer example: 0 xml: attribute: true obsolete_requests: type: object properties: count: type: integer example: 0 xml: attribute: true missing_reviews: type: object properties: count: type: integer example: 0 xml: attribute: true building_repositories: type: object properties: count: type: integer example: 0 xml: attribute: true broken_packages: type: object properties: count: type: integer example: 0 xml: attribute: true checks: type: object properties: count: type: integer example: 0 xml: attribute: true missing_checks: type: object properties: count: type: integer example: 0 xml: attribute: true history: type: object properties: count: type: integer example: 0 xml: attribute: true xml: name: staging_project example: name: home:Iggy:Staging:A state: empty staged_requests: count: 0 untracked_requests: count: 0 obsolete_requests: count: 0 missing_reviews: count: 0 building_repositories: count: 0 broken_packages: count: 0 checks: count: 0 missing_checks: count: 0 history: count: 0 '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: Staging Workflow Project Not Found value: code: not_found summary: Project home:Adminn not found. staging_project_not_found: summary: Staging Project Name Not Found value: code: staging_project_not_found details: Staging Project "home:Admin:Staging:AA" does not exist. tags: - Staging Workflow "/staging/{project_name}/staging_projects/{staging_project_name}/accept": post: summary: Accept a staging project description: | This accepts all staged requests and sets the project state back to 'empty'. Will return in an error if staging project is not acceptable, unless force is given. You can force accept staging projects with building or failing packages, but not with missing reviews security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: staging_project_not_in_acceptable_state: summary: Staging Project is not in an acceptable state value: code: staging_project_not_in_acceptable_state summary: 'Staging Project is not acceptable: empty is not an acceptable state' '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: Staging Workflow Project Not Found value: code: not_found summary: Project home:Adminn not found. staging_project_not_found: summary: Staging Project Name Not Found value: code: staging_project_not_found details: Staging Project "home:Admin:Staging:AA" does not exist. tags: - Staging Workflow "/staging/{project_name}/staging_projects/{staging_project_name}/copy/{staging_project_copy_name}": post: summary: Copy a staging project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A - in: path name: staging_project_copy_name schema: type: string required: true description: The name of the staging project's copy example: openSUSE:Factory:Staging:B responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: not_found: summary: Staging Workflow Project Not Found value: code: not_found summary: Project home:Adminn not found. staging_project_not_found: summary: Staging Project Name Not Found value: code: staging_project_not_found details: Staging Project "home:Admin:Staging:AA" does not exist. tags: - Staging Workflow "/staging/{project_name}/staging_projects/{staging_project_name}/staged_requests": get: summary: List all the staged requests of a staging project. description: List all the requests that are already associated to a staging project (staged requests). security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A responses: '200': description: List of staged requests. content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true creator: type: string example: foo-user xml: attribute: true type: type: string example: submit xml: attribute: true state: type: string example: review xml: attribute: true package: type: string example: hello_world xml: attribute: true superseded_by: type: integer example: 43 xml: attribute: true updated: type: string example: '2023-04-24T08:34:39Z' xml: attribute: true xml: name: staged_requests examples: Multiple Requests: value: request: - id: 1 creator: Iggy type: submit state: accepted package: package_a updated_at: '2023-04-24T08:34:39Z' - id: 2 creator: Dan type: submit state: review package: package_b superseded_by: 3 updated_at: '2022-02-22T02:22:22Z' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Project Without Staging Workflow: value: code: not_found summary: Project project_name doesn't have an associated Staging Workflow Unknown Staging Project: value: code: not_found summary: 'Staging Project ''staging_project_name'' not found in Staging: ''project_name''' Unknown Project: value: code: not_found summary: Project 'project_name' not found. tags: - Staging Workflow post: summary: Add requests to the staging project. description: | Add requests to the specified staging project except those that are excluded from the staging workflow. Pass `remove_exclusion` to stop excluding the requests before adding them to the staging project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A - in: query name: remove_exclusion schema: type: string description: | Set to `1` if you want to stop excluding the specified requests before you add them to the staging project. Don't pass this parameter to only stage the requests that are not excluded. example: 1 requestBody: description: List of requests to be added to the staging project. content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true xml: name: requests examples: Multiple Requests: value: request: - id: 1 - id: 2 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: With Excluded Requests: value: code: invalid_request summary: 'Request ID currently excluded from project project_name. Use --remove-exclusion if you want to force this action. ' Unknown Request: value: code: invalid_request summary: Request ID doesn't exist Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Without Staging Workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Staging Project: value: code: not_found summary: 'Staging Project ''project_name:Staging:G'' not found in Staging: ''project_name''' Unknown Project: value: code: not_found summary: Project 'project_name' not found. '424': description: Unacceptable State content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unacceptable State: value: code: staging_project_not_in_acceptable_state sumary: 'Can''t change staged requests: Project ''project_name'' is being accepted.' tags: - Staging Workflow delete: summary: Delete requests from the staging project. description: Delete the given requests from the staging project they were staged in. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: staging_project_name schema: type: string required: true description: Staging Project Name example: openSUSE:Factory:Staging:A requestBody: description: List of requests to be removed from the staging project. content: application/xml; charset=utf-8: schema: type: object properties: request: type: array items: type: object properties: id: type: integer example: 42 xml: attribute: true xml: name: requests examples: Multiple Requests: value: request: - id: 1 - id: 2 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Request Not Staged: value: code: invalid_request summary: 'Error while unassigning requests: Request ''ID'' is not staged' Request Not In Staging: value: code: invalid_request summary: 'Error while unassigning requests: Requests with number: ID don''t belong to Staging: project_name' Wrong Request Number: value: code: invalid_request summary: Error while parsing the numbers of the requests Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Without Staging Workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: not_found summary: Project 'project_name' not found. tags: - Staging Workflow "/staging/{project_name}/workflow": post: summary: Create a staging workflow for the specified project description: Create a staging workflow associated to the project and the manager group specified in the body of the request security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: Title of the staging workflow's managers group content: application/xml; charset=utf-8: schema: type: object properties: managers: type: string example: group-test xml: attribute: true xml: name: workflow responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Staging Workflow Exists: description: The project is already associated to a staging workflow value: code: staging_workflow_exists summary: 'Project project_name already has an associated Staging Workflow with id: ID' Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body Invalid Request: value: code: invalid_request summary: 'Staging for project_name couldn''t be created:' '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow put: summary: Change the managers group of a staging workflow description: Change the managers group of the staging workflow associated to the specified project. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: Title of the staging workflow's managers group content: application/xml; charset=utf-8: schema: type: object properties: managers: type: string example: group-test xml: attribute: true xml: name: workflow responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '400': description: | Bad Request. XML Schema used for body validation: [status.rng](../schema/status.rng). content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid XML Format: value: code: invalid_xml_format summary: XML format is not valid Empty Body: value: code: invalid_request summary: Empty body Invalid Request: value: code: invalid_request summary: 'Staging for project_name couldn''t be updated:' '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow delete: summary: Delete the staging workflow of the specified project description: | Delete the staging workflow associated to the given project (a.k.a staging workflow project). The staging projects associated to that workflow are not removed unless the parameter `with_staging_projects` is given. security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - name: with_staging_projects in: query schema: type: integer description: | Set to `1` if you want to delete all the staging projects associated to the staging workflow when it is deleted. Staging projects' names usually look like: project_name:Staging:A, project_name:Staging:B etc. responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: project_without_staging_workflow: value: code: not_found sumary: Project project_name doesn't have an associated Staging Workflow Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Staging Workflow "/statistics": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. tags: - Statistics "/statistics/active_request_creators/{project_name}": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin tags: - Statistics "/statistics/activity/{project_name}/{package_name}": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Statistics "/statistics/added_timestamp/{project_name}/{package_name}": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Statistics "/statistics/global_counters": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. tags: - Statistics "/statistics/latest_added": get: summary: Get a list of last added project and packages description: Get a list of last added project and packages security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 10 entries to be returned. example: 20 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: array items: type: object properties: name: type: string xml: attribute: true packages: type: integer xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true package: type: array items: type: object properties: project: type: string xml: attribute: true name: type: string xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true xml: name: package xml: name: latest_added example: package: - name: pgbackrest project: openSUSE:Factory:Staging:adi:24 created: '2023-06-01T07:07:24Z' project: - name: openSUSE:Factory:Staging:adi:24 created: '2023-06-01T07:07:22Z' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Statistics "/statistics/latest_updated": get: summary: Get a list of last updated project and packages description: Get a list of last updated project and packages security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 10 entries to be returned. example: 20 - in: query name: timelimit schema: type: integer description: Limit the maximum age to this number of days. example: 1 - in: query name: prjfilter schema: type: string description: Filter by project name. example: openSUSE:Factory - in: query name: pkgfilter schema: type: string description: Filter by package name. example: 0ad responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: array items: type: object properties: name: type: string xml: attribute: true packages: type: integer xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true package: type: array items: type: object properties: project: type: string xml: attribute: true name: type: string xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true xml: name: package xml: name: latest_updated example: package: - name: calc project: openSUSE:Factory:Staging:adi:26 created: '2023-06-01T07:07:36Z' project: - name: openSUSE:Factory:Staging:adi:26 created: '2023-06-01T07:07:27Z' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Statistics "/statistics/maintenance_statistics/{project_name}": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin tags: - Statistics "/statistics/most_active_packages": get: summary: Get a list of the most active packages description: Get a list of the most active packages security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 10 entries to be returned. example: 20 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: array items: type: object properties: name: type: string xml: attribute: true packages: type: integer xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true package: type: array items: type: object properties: project: type: string xml: attribute: true name: type: string xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true xml: name: package xml: name: most_active example: package: - activity: 1371.487973151121 project: openSUSE:Factory:Staging name: dashboard - activity: 1369.5483848725057 project: home:repo-checker name: reports '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Statistics "/statistics/most_active_projects": get: summary: Get a list of the most active projects description: Get a list of the most active projects security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 10 entries to be returned. example: 20 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: project: type: array items: type: object properties: name: type: string xml: attribute: true packages: type: integer xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true package: type: array items: type: object properties: project: type: string xml: attribute: true name: type: string xml: attribute: true activity: type: number xml: attribute: true created: type: string xml: attribute: true updated: type: string xml: attribute: true xml: name: package xml: name: most_active example: project: - activity: 1371.492028553694 packages: 1 name: openSUSE:Factory:Staging - activity: 1369.5524345398396 packages: 2 name: home:repo-checker '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Statistics "/statistics/updated_timestamp/{project_name}/{package_name}": get: deprecated: true summary: This endpoint is deprecated description: This endpoint is no longer supported or might not work as expected. parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: package_name schema: type: string required: true description: Package name example: ctris tags: - Statistics "/status/messages": get: summary: Get list of status messages description: Get a list of all status messages security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 1000 entries to be returned. example: 20 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: status_message: type: array items: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message count: type: integer xml: attribute: true xml: name: status_messages example: count: 2 status_message: - id: 2 message: OBS 3.0 is released! user: Iggy severity: announcement scope: all_users created_at: 2021-10-15 13:28:22 UTC - id: 1 message: Feature number 42 was implemented! user: Iggy severity: announcement scope: all_users created_at: 2021-10-12 11:18:12 UTC '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Status Messages post: summary: Create a status message description: | Create a new status message (Only admins are allowed to add status messages). Possible values for severity: (information, green, yellow, red, announcement). Possible values for scope: (all_users, logged_in_users, admin_users, in_beta_users, in_rollout_users) security: - basic_authentication: [] requestBody: description: Attributes for status message required: true content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message example: message: Feature number 42 was implemented! severity: announcement scope: all_users responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad request. Validation Error content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Validation Failed: value: code: validation_failed summary: 'status_message validation error: 2:0: ERROR: Element '''': No matching global declaration available for the validation root.' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Status message no permission. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: status message no permission: value: code: put_request_no_permission summary: Requires admin privileges tags: - Status Messages "/status_message": get: summary: Get list of status messages description: Get a list of all status messages security: - basic_authentication: [] parameters: - in: query name: limit schema: type: integer description: Override default maximum value of 1000 entries to be returned. example: 20 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: status_message: type: array items: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message count: type: integer xml: attribute: true xml: name: status_messages example: count: 2 status_message: - id: 2 message: OBS 3.0 is released! user: Iggy severity: announcement scope: all_users created_at: 2021-10-15 13:28:22 UTC - id: 1 message: Feature number 42 was implemented! user: Iggy severity: announcement scope: all_users created_at: 2021-10-12 11:18:12 UTC '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Status Messages "/status/messages/{id}": get: summary: Get a status message description: Find a status message with id security: - basic_authentication: [] parameters: - in: path name: id required: true schema: type: integer responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: id: type: integer xml: attribute: true message: type: string user: type: string severity: type: string scope: type: string created_at: type: string xml: name: status_message example: id: 2 message: OBS 3.0 is released! user: Iggy severity: announcement scope: all_users created_at: 2021-10-15 13:28:22 UTC '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 tags: - Status Messages delete: summary: Delete a status message description: Delete a status message with id security: - basic_authentication: [] parameters: - in: path name: id required: true schema: type: integer responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Status message no permission. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: status message no permission: value: code: put_request_no_permission summary: Requires admin privileges '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 tags: - Status Messages "/status/project/{project_name}": get: summary: Get list of packages inside a project description: Get a full list of packages and their status security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: package: type: array items: type: object properties: project: type: string xml: attribute: true name: type: string xml: attribute: true version: type: string xml: attribute: true srcmd5: type: string xml: attribute: true changesmd5: type: string xml: attribute: true maxmtime: type: string xml: attribute: true release: type: string xml: attribute: true verifymd5: type: string xml: attribute: true link: type: object properties: project: type: string xml: attribute: true package: type: string xml: attribute: true error: type: string xml: name: package xml: name: packages example: package: - project: home:Admin name: ruby version: 1 srcmd5: 7fbfafc07ebb87ef62119216619d0fa5 changesmd5: d0fa5 - project: home:Admin name: linked_package version: 1.1 verifymd5: 7fbfafc07ebb87ef62rrrvvv555 srcmd5: 7fbfafc07ebb87ef62119216619d0fa5 link: project: home:Admin package: ut '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Status Project "/status/workerstatus": get: deprecated: true summary: Lists status of workers, jobs, backend services and general statistics. description: | Lists status of workers, running jobs, waiting jobs, status of the backend services and general statistics. This endpoint is exactly the same as `GET /worker/_status`, please use that one. security: - basic_authentication: [] responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: clients: type: integer xml: attribute: true idle: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true building: type: array items: type: object properties: repository: type: string xml: attribute: true arch: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true starttime: type: string xml: attribute: true workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true down: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true waiting: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true blocked: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true buildavg: type: array items: type: object properties: arch: type: string xml: attribute: true buildavg: type: string xml: attribute: true partition: type: array items: type: object properties: name: type: string xml: attribute: true daemon: type: array items: type: object properties: type: type: string xml: attribute: true state: type: string xml: attribute: true starttime: type: string xml: attribute: true arch: type: string xml: attribute: true queue: type: object properties: high: type: string xml: attribute: true med: type: string xml: attribute: true low: type: string xml: attribute: true next: type: string xml: attribute: true xml: name: workerstatus example: clients: '2' idle: - workerid: 1a1f67b948b6:1 hostarch: x86_64 building: - repository: openSUSE_11.3_Update arch: x86_64 project: home:enzokiel package: android-sdk starttime: '1289838671' workerid: 1a1f67b948b6:2 hostarch: x86_64 down: - workerid: armbuild03:1 hostarch: aarch64 waiting: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' blocked: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' buildavg: - arch: i586 buildavg: '1200' - arch: x86_64 buildavg: '1200' partition: - daemon: - type: srcserver state: running starttime: '1617711138' - type: servicedispatch state: running starttime: '1617711144' - type: service state: running starttime: '1617711144' - type: clouduploadserver state: running starttime: '1617711145' - type: clouduploadworker state: running starttime: '1617711144' - type: scheduler arch: i586 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: scheduler arch: x86_64 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: repserver state: running starttime: '1617711143' - type: dispatcher state: running starttime: '1617711144' - type: publisher state: running starttime: '1617711145' - type: signer state: running starttime: '1617711146' - name: back-main daemon: - type: scheduler arch: aarch64 state: running starttime: '1617148925' queue: high: '0' med: '1' low: '4' next: '22' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Status Project "/status_reports/built/{project_name}/{repository_name}/{architecture_name}/reports/{build_id}": get: summary: Get list of checks in the built project repository description: Get a full list of checks in the built project repository's status reports security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: build_id schema: type: integer required: true description: The id of the build. example: 16 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: check: type: array items: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check uuid: type: integer xml: attribute: true xml: name: status_report example: check: - name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ - name: Second required: true state: success short_description: This is the second of the checks url: https://check.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 tags: - Status Reports post: summary: Submit a check to a built project repository's status report description: Create or update a check to the status report for the built project repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: build_id schema: type: integer required: true description: The id of the build. example: 16 requestBody: description: Check definition. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check example: name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: update_status/report_not_authorized summary: Sorry, you are not authorized to update this status/report. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid State: value: code: invalid_check summary: "Could not save check: State State '\U0001F680' is not a valid. Valid states are: pending, error, failure, success" tags: - Status Reports "/status_reports/published/{project_name}/{repository_name}/reports/{build_id}": get: summary: Get list of checks in the published project repository description: Get a full list of checks in the published project repository's status reports security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: build_id schema: type: integer required: true description: The id of the build. example: 16 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: check: type: array items: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check uuid: type: integer xml: attribute: true xml: name: status_report example: check: - name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ - name: Second required: true state: success short_description: This is the second of the checks url: https://check.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 tags: - Status Reports post: summary: Submit a check to a published project repository's status report description: Create or update a check to the status report for the published project repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: build_id schema: type: integer required: true description: The id of the build. example: 16 requestBody: description: Check definition. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check example: name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: update_status/report_not_authorized summary: Sorry, you are not authorized to update this status/report. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid State: value: code: invalid_check summary: "Could not save check: State State '\U0001F680' is not a valid. Valid states are: pending, error, failure, success" tags: - Status Reports "/status_reports/requests/{id}/reports": get: summary: Get list of checks in the request description: Get a full list of checks in the request's status reports security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: check: type: array items: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check uuid: type: integer xml: attribute: true xml: name: status_report example: check: - name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ - name: Second required: true state: success short_description: This is the second of the checks url: https://check.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 tags: - Status Reports post: summary: Submit a check to the request's status report description: Create or update a check to the status report for the request security: - basic_authentication: [] parameters: - in: path name: id schema: type: integer required: true description: Id of the choosen request. example: 743 requestBody: description: Check definition. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: string example: first_ci xml: attribute: true required: type: string enum: - true - false xml: attribute: true state: type: string enum: - pending - error - failure - success short_description: type: string example: A short description of the check url: type: string example: https://ci.opensuse.org/ xml: name: check example: name: First required: false state: pending short_description: This is the first of the checks url: https://ci.opensuse.org/ '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: update_status/report_not_authorized summary: Sorry, you are not authorized to update this status/report. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Not Found: value: code: not_found summary: Couldn't find StatusMessage with 'id'=300 '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Invalid State: value: code: invalid_check summary: "Could not save check: State State '\U0001F680' is not a valid. Valid states are: pending, error, failure, success" tags: - Status Reports "/status_reports/built_repositories/{project_name}/{repository_name}/{architecture_name}/required_checks": get: summary: Get list of required checks in the built repository description: Get a full list of required checks in the built repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed architecture: x86_64 name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository Unknown Architecture: value: code: not_found summary: Couldn't find Architecture tags: - Status Reports - Required Checks post: summary: Submit a required checks list to the built repository description: Submit a new or modified required checks list to the built repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 requestBody: description: Required checks list. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed architecture: x86_64 name: - first - second responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed architecture: x86_64 name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: create_repository_architecture_not_authorized summary: Sorry, you are not authorized to create this repository architecture. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository Unknown Architecture: value: code: not_found summary: Couldn't find Architecture '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/status_reports/built_repositories/{project_name}/{repository_name}/{architecture_name}/required_checks/{check_name}": delete: summary: Delete a required check from the built repository description: Delete a required check from the built repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: check_name schema: type: string required: true description: Check name. example: first responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: delete_repository_architecture_not_authorized summary: Sorry, you are not authorized to delete this repository architecture. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository Unknown Architecture: value: code: not_found summary: Couldn't find Architecture '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/status_reports/projects/{project_name}/required_checks": get: summary: Get list of required checks in the project description: Get a full list of required checks in the project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' tags: - Status Reports - Required Checks post: summary: Submit a required checks list to the project description: Submit a new or modified required checks list to the project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin requestBody: description: Required checks list. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin name: - first - second responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: create_project_not_authorized summary: Sorry, you are not authorized to create this project. '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/status_reports/projects/{project_name}/required_checks/{check_name}": delete: summary: Delete a required checks from the project description: Delete a required check from the project security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: check_name schema: type: string required: true description: Check name. example: first responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: delete_project_not_authorized summary: Sorry, you are not authorized to delete this project. '404': description: | Unknown project. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: .' '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/status_reports/repositories/{project_name}/{repository_name}/required_checks": get: summary: Get list of required checks in the project repository description: Get a full list of required checks in the project repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository tags: - Status Reports - Required Checks post: summary: Submit a required checks list to the project repository description: Submit a new or modified required checks list to the project repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed requestBody: description: Required checks list. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed name: - first - second responses: '200': description: OK. The request has succeeded. content: application/xml; charset=utf-8: schema: type: object properties: name: type: array items: type: string example: - first - second project: type: string xml: attribute: true example: home:Admin repository: type: string xml: attribute: true example: openSUSE_Tumbleweed architecture: type: string xml: attribute: true example: x86_64 xml: name: required_checks example: project: home:Admin repository: openSUSE_Tumbleweed name: - first - second '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: create_repository_not_authorized summary: Sorry, you are not authorized to create this repository. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/status_reports/repositories/{project_name}/{repository_name}/required_checks/{check_name}": delete: summary: Delete a required check from the project repository description: Delete a required checks from the project repository security: - basic_authentication: [] parameters: - in: path name: project_name schema: type: string required: true description: Project name example: home:Admin - in: path name: repository_name schema: type: string required: true description: Repository name example: openSUSE_Tumbleweed - in: path name: check_name schema: type: string required: true description: Check name. example: first responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '403': description: | Forbidden. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: delete_repository_not_authorized summary: Sorry, you are not authorized to delete this repository. '404': description: | Not Found. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Unknown Project: value: code: unknown_project summary: 'Project not found: home:some_project' Unknown Repository: value: code: not_found summary: Couldn't find Repository '422': description: | Unprocessable Content. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: Could not save: value: code: invalid_required_check summary: 'Could not save required check:' Could not delete: value: code: invalid_required_check summary: 'Could not delete required check:' tags: - Status Reports - Required Checks "/trigger": post: summary: Trigger a rebuild, release or service run via an API token description: | This route allows to trigger - a Project/Package rebuild - a Project/Package release - a Package service run via an API token. You are required to authenticate with the API token secret. The API token secret needs to be provided either by HTTP headers or by a Hash-based Message Authentication Code (HMAC). See the [/person/{login}/token](#/Person/post_person__login__token) endpoint for information how to create an API token. security: - GitLab_key_authentication: [] parameters: - in: header name: X-OBS-SIGNATURE description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-HUB-SIGNATURE-256 description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-Pagure-Signature-256 description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-GitLab-Token description: The API token secret. schema: type: string example: THE_TOKEN_SECRET - in: header name: Authorization description: The API token secret in the Token realm. schema: type: string example: Token THE_TOKEN_SECRET - in: query name: id description: | Numerical ID of the token to trigger. This is required if you authenticate via a HMAC. schema: type: integer example: 1 - in: query name: project description: | If the API token does not have a package assigned you can set a project via this parameter. The operation of the API token is then executed on this project. schema: type: string example: home:user - in: query name: package description: | If the API token does not have a package assigned you can set a package via this parameter. The operation of the API token is then executed on this package. Setting this requires the project parameter to be set too. schema: type: string example: vim - in: query name: repository description: | Restrict the API token operation to this repository. Only has an effect if the API token operation is 'rebuild' or 'release'. schema: type: string example: openSUSE_Factory - in: query name: arch description: | Restrict the API token operation to this architecture with this name. Only has an effect when the API token operation is 'rebuild' or 'release'. schema: type: string example: x86_64 - in: query name: targetproject description: | Release binaries only to the provided project with this name. Setting this requires the 'targetrepository' parameter to be set also. Only has an effect if the API token operation is 'release'. schema: type: string example: devel:languages:ruby - in: query name: targetrepository description: | Release binaries only to the target repository with this name. Setting this requires the 'targetproject' parameter to be set also. Only has an effect if the API token operation is 'release'. schema: type: string example: openSUSE_Factory - in: query name: filter_source_repository description: | Release binaries only from the repository with this name. Only has an effect if the API token operation is 'release'. schema: type: string example: openSUSE_Factory responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_token summary: No valid token found '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: permission_denied summary: No valid token found '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: unknown_project: summary: Project not found value: code: unknown_project details: 'Project not found: home:Admin' unknown_package: summary: Package not found value: code: unknown_package details: 'Package not found: home:Admin/foo' tags: - Trigger "/trigger/rebuild": post: summary: Trigger a Project/Package rebuild description: | This endpoint behaves exactly as the [/trigger](#/Trigger/post_trigger) endpoint but only allows API tokens with the operation 'rebuild' to be triggered. security: - GitLab_key_authentication: [] tags: - Trigger "/trigger/release": post: summary: Trigger a Project/Package release description: | This endpoint behaves exactly as the [/trigger](#/Trigger/post_trigger) endpoint but only allows API tokens the the operation 'release' to be triggered. security: - GitLab_key_authentication: [] tags: - Trigger "/trigger/runservice": post: summary: Trigger a Package service run description: | This endpoint behaves exactly as the [/trigger](#/Trigger/post_trigger) endpoint but only allows API tokens with the operation 'runservice' to be triggered. security: - GitLab_key_authentication: [] tags: - Trigger "/trigger/workflow": post: summary: Trigger a SCM/CI Workflow via an API token description: | This route allows to trigger an [OBS SCM/CI workflow](https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.scm_ci_workflow_integration) via an API token. You are required to authenticate with the API token secret. The API token secret needs to be provided either by HTTP headers or by a Hash-based Message Authentication Code (HMAC). See the [/person/{login}/token](#/Person/post_person__login__token) endpoint for information how to create an API token. security: - GitLab_key_authentication: [] parameters: - in: header name: X-OBS-SIGNATURE description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-HUB-SIGNATURE-256 description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-Pagure-Signature-256 description: | A HMAC of the request body, signed with the API token secret. Only useful in combination with the id parameter. schema: type: string example: 123458568938927827827 - in: header name: X-GitLab-Token description: The API token secret. schema: type: string example: THE_TOKEN_SECRET - in: header name: Authorization description: The API token secret in the Token realm. schema: type: string example: Token THE_TOKEN_SECRET - in: query name: id description: | Numerical ID of the token to trigger. This is required if you authenticate via a HMAC. schema: type: integer example: 1 responses: '200': description: | OK. The request has succeeded. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: ok summary: Ok '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: invalid_token summary: No valid token found '403': description: Forbidden. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: permission_denied summary: No valid token found '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: unknown_project: summary: Project not found value: code: unknown_project details: 'Project not found: home:Admin' unknown_package: summary: Package not found value: code: unknown_package details: 'Package not found: home:Admin/foo' tags: - Trigger "/trigger/webhook": post: deprecated: true summary: Trigger an operation description: This endpoint behaves exactly as the [/trigger](#/Trigger) endpoint. security: - GitLab_key_authentication: [] tags: - Trigger "/worker/_status": get: summary: Lists status of workers, jobs, backend services and general statistics. description: Lists status of workers, running jobs, waiting jobs, status of the backend services and general statistics. security: - basic_authentication: [] responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: clients: type: integer xml: attribute: true idle: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true building: type: array items: type: object properties: repository: type: string xml: attribute: true arch: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true starttime: type: string xml: attribute: true workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true down: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true waiting: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true blocked: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true buildavg: type: array items: type: object properties: arch: type: string xml: attribute: true buildavg: type: string xml: attribute: true partition: type: array items: type: object properties: name: type: string xml: attribute: true daemon: type: array items: type: object properties: type: type: string xml: attribute: true state: type: string xml: attribute: true starttime: type: string xml: attribute: true arch: type: string xml: attribute: true queue: type: object properties: high: type: string xml: attribute: true med: type: string xml: attribute: true low: type: string xml: attribute: true next: type: string xml: attribute: true xml: name: workerstatus example: clients: '2' idle: - workerid: 1a1f67b948b6:1 hostarch: x86_64 building: - repository: openSUSE_11.3_Update arch: x86_64 project: home:enzokiel package: android-sdk starttime: '1289838671' workerid: 1a1f67b948b6:2 hostarch: x86_64 down: - workerid: armbuild03:1 hostarch: aarch64 waiting: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' blocked: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' buildavg: - arch: i586 buildavg: '1200' - arch: x86_64 buildavg: '1200' partition: - daemon: - type: srcserver state: running starttime: '1617711138' - type: servicedispatch state: running starttime: '1617711144' - type: service state: running starttime: '1617711144' - type: clouduploadserver state: running starttime: '1617711145' - type: clouduploadworker state: running starttime: '1617711144' - type: scheduler arch: i586 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: scheduler arch: x86_64 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: repserver state: running starttime: '1617711143' - type: dispatcher state: running starttime: '1617711144' - type: publisher state: running starttime: '1617711145' - type: signer state: running starttime: '1617711146' - name: back-main daemon: - type: scheduler arch: aarch64 state: running starttime: '1617148925' queue: high: '0' med: '1' low: '4' next: '22' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Workers "/worker/status": get: deprecated: true summary: Lists status of workers, jobs, backend services and general statistics. description: | Lists status of workers, running jobs, waiting jobs, status of the backend services and general statistics. This endpoint is exactly the same as `GET /worker/_status`, please use that one. security: - basic_authentication: [] responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: clients: type: integer xml: attribute: true idle: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true building: type: array items: type: object properties: repository: type: string xml: attribute: true arch: type: string xml: attribute: true project: type: string xml: attribute: true package: type: string xml: attribute: true starttime: type: string xml: attribute: true workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true down: type: array items: type: object properties: workerid: type: string xml: attribute: true hostarch: type: string xml: attribute: true waiting: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true blocked: type: array items: type: object properties: arch: type: string xml: attribute: true jobs: type: string xml: attribute: true buildavg: type: array items: type: object properties: arch: type: string xml: attribute: true buildavg: type: string xml: attribute: true partition: type: array items: type: object properties: name: type: string xml: attribute: true daemon: type: array items: type: object properties: type: type: string xml: attribute: true state: type: string xml: attribute: true starttime: type: string xml: attribute: true arch: type: string xml: attribute: true queue: type: object properties: high: type: string xml: attribute: true med: type: string xml: attribute: true low: type: string xml: attribute: true next: type: string xml: attribute: true xml: name: workerstatus example: clients: '2' idle: - workerid: 1a1f67b948b6:1 hostarch: x86_64 building: - repository: openSUSE_11.3_Update arch: x86_64 project: home:enzokiel package: android-sdk starttime: '1289838671' workerid: 1a1f67b948b6:2 hostarch: x86_64 down: - workerid: armbuild03:1 hostarch: aarch64 waiting: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' blocked: - arch: i586 jobs: '0' - arch: x86_64 jobs: '0' buildavg: - arch: i586 buildavg: '1200' - arch: x86_64 buildavg: '1200' partition: - daemon: - type: srcserver state: running starttime: '1617711138' - type: servicedispatch state: running starttime: '1617711144' - type: service state: running starttime: '1617711144' - type: clouduploadserver state: running starttime: '1617711145' - type: clouduploadworker state: running starttime: '1617711144' - type: scheduler arch: i586 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: scheduler arch: x86_64 state: running starttime: '1617711145' queue: high: '0' med: '0' low: '11' next: '0' - type: repserver state: running starttime: '1617711143' - type: dispatcher state: running starttime: '1617711144' - type: publisher state: running starttime: '1617711145' - type: signer state: running starttime: '1617711146' - name: back-main daemon: - type: scheduler arch: aarch64 state: running starttime: '1617148925' queue: high: '0' med: '1' low: '4' next: '22' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required tags: - Workers "/worker/{architecture_name}:{worker_id}": get: summary: Lists capabilites of a worker. description: | Lists capabilites of a worker. This can be useful when checking for constraints. This operation is the same as `GET /worker/capability/{architecture_name}:{worker_id}`. security: - basic_authentication: [] parameters: - in: path name: architecture_name schema: type: string required: true description: Architecture name example: x86_64 - in: path name: worker_id schema: type: string required: true description: Worker id. example: 1a1f67b948b6:1 responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: hostarch: type: string xml: attribute: true registerserver: type: string xml: attribute: true workerid: type: string xml: attribute: true hostlabel: type: string sandbox: type: string linux: type: object properties: version: type: string flavor: type: string hardware: type: object properties: cpu: type: object properties: flag: type: array items: type: string processors: type: string jobs: type: string xml: name: worker example: hostarch: x86_64 registerserver: http://backend:5252 workerid: 1a1f67b948b6:1 hostlabel: OBS_WORKER_SECURITY_LEVEL_ sandbox: chroot linux: version: 5.11.6-1 flavor: default hardware: cpu: flag: - fpu - vme - de - pse - tsc - msr processors: '8' jobs: '1' '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: '404' summary: 'remote error: unknown worker (http://backend:5252/worker/x86_64:1a1f67b948bf:1)' details: '404 remote error: unknown worker (http://backend:5252/worker/x86_64:1a1f67b948bf:1)' tags: - Workers "/worker?cmd=checkconstraints": post: summary: Lists workers which match a constraints filter. description: | Given a project, package, repository and architecture, list workers which can build with that restrictions, and also match a constraints filter. This endpoint doesn't create or modify any data. More information about constraints can be found in the [user guide](https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.build_job_constraints.html). This operation is the same as `POST /worker/command/run?cmd=checkconstraints`. security: - basic_authentication: [] parameters: - in: query name: project schema: type: string required: true example: home:user1 description: Project name. - in: query name: repository schema: type: string required: true description: Repository name. example: openSUSE_Tumbleweed - in: query name: arch schema: type: string required: true description: Architecture name. example: x86_64 - in: query name: package schema: type: string required: true description: Package name. example: test_package requestBody: description: Constraints XML filter required: true content: application/xml; charset=utf-8: schema: type: object properties: hostlabel: type: string sandbox: type: string example: chroot linux: type: object properties: version: type: object properties: min: type: string max: type: string flavor: type: string hardware: type: object properties: cpu: type: object properties: flag: type: array items: type: string processors: type: string disk: type: object properties: size: type: string memory: type: object properties: size: type: string physicalmemory: type: object properties: size: type: string xml: name: constraints examples: cpu_flags: summary: Cpu flags value: hardware: cpu: flag: - mmx - sse2 processors: summary: Number of processors value: hardware: processors: 2 mix: summary: Linux version and linux flavor value: linux: version: min: 3.0 max: 4.0 flavor: default responses: '200': description: OK content: application/xml; charset=utf-8: schema: type: object properties: count: type: integer xml: attribute: true name: type: string xml: attribute: true rev: type: string xml: attribute: true vrev: type: string xml: attribute: true srcmd5: type: string xml: attribute: true entry: type: array items: type: object properties: name: type: string xml: attribute: true md5: type: string xml: attribute: true size: type: string xml: attribute: true mtime: type: string xml: attribute: true xml: name: directory examples: two_workers: summary: Two Workers Satisfy the Constraints value: entry: - name: x86_64:1a1f67b948b6:1 - name: x86_64:1a1f67b948b6:2 no_workers: summary: No Workers Satisfy the Constraints value: '400': description: Bad Request. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: missing_parameter summary: Required Parameter arch missing '401': description: | Unauthorized. XML Schema used for body validation: [status.rng](../schema/status.rng) content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status examples: anonymous_user: value: code: anonymous_user summary: Anonymous user is not allowed here - please login summary: Anonymous User authentication_required: value: code: authentication_required summary: Unknown user 'Admin' or invalid password summary: Authentication Required '404': description: Not Found. content: application/xml; charset=utf-8: schema: type: object properties: code: type: string xml: attribute: true origin: type: string xml: attribute: true summary: type: string details: type: string data: type: array items: type: string xml: name: status example: code: 404 summary: repository 'home:Admin/openSUSE_Tumbleweed' has no architecture 'x86_64d' tags: - Workers components: securitySchemes: basic_authentication: type: http scheme: basic GitLab_key_authentication: type: apiKey in: header name: X-GitLab-Token externalDocs: url: https://openbuildservice.org/help/ description: Open Build Service - Documentation