# DO NOT EDIT THIS FILE. It is generated from a template. Changes should be # proposed against the template. --- openapi: '3.0.0' info: title: Patchwork API description: > Patchwork is a web-based patch tracking system designed to facilitate the contribution and management of contributions to an open-source project. contact: email: patchwork@lists.ozlabs.org license: name: GPL v2 License url: https://www.gnu.org/licenses/gpl-2.0.html version: '1.0' paths: /api/1.0/: get: description: List API resources. operationId: api_list parameters: [] responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Index' tags: - api /api/1.0/bundles/: get: description: List bundles. operationId: bundles_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - in: query name: project description: An ID or linkname of a project to filter bundles by. schema: title: '' type: string - in: query name: owner description: An ID or username of a user to filter bundles by. schema: title: '' type: string - in: query name: public description: Show only public (`true`) or private (`false`) bundles. schema: title: '' type: string enum: - 'true' - 'false' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Bundle' tags: - bundles /api/1.0/bundles/{id}/: get: description: Show a bundle. operationId: bundles_read parameters: - in: path name: id required: true description: A unique integer value identifying this bundle. schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Bundle' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - bundles /api/1.0/covers/: get: description: List cover letters. operationId: covers_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/BeforeFilter' - $ref: '#/components/parameters/SinceFilter' - in: query name: project description: > An ID or linkname of a project to filter cover letters by. schema: title: '' type: string - in: query name: series description: An ID of a series to filter cover letters by. schema: title: '' type: string - in: query name: submitter description: > An ID or email address of a person to filter cover letters by. schema: title: '' type: string responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/CoverLetterList' tags: - covers /api/1.0/covers/{id}/: get: description: Show a cover letter. operationId: covers_read parameters: - in: path name: id description: A unique integer value identifying this cover letter. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/CoverLetterDetail' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - covers /api/1.0/covers/{id}/comments/: get: description: List comments operationId: cover_comments_list parameters: - in: path name: id description: > A unique integer value identifying the parent cover letter. required: true schema: title: ID type: integer - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Comment' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - comments /api/1.0/events/: get: description: List events. operationId: events_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/BeforeFilter' - $ref: '#/components/parameters/SinceFilter' - in: query name: project description: An ID or linkname of a project to filter events by. schema: title: '' type: string - in: query name: category description: An event category to filter events by. schema: title: '' type: string enum: - cover-created - patch-created - patch-completed - patch-state-changed - patch-delegated - check-created - series-created - series-completed - in: query name: series description: An ID of a series to filter events by. schema: title: '' type: integer - in: query name: patch description: An ID of a patch to filter events by. schema: title: '' type: integer - in: query name: cover description: An ID of a cover letter to filter events by. schema: title: '' type: integer responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: oneOf: - $ref: '#/components/schemas/EventCoverCreated' - $ref: '#/components/schemas/EventPatchCreated' - $ref: '#/components/schemas/EventPatchCompleted' - $ref: '#/components/schemas/EventPatchStateChanged' - $ref: '#/components/schemas/EventPatchDelegated' - $ref: '#/components/schemas/EventCheckCreated' - $ref: '#/components/schemas/EventSeriesCreated' - $ref: '#/components/schemas/EventSeriesCompleted' discriminator: propertyName: category mapping: cover-created: '#/components/schemas/EventCoverCreated' patch-created: '#/components/schemas/EventPatchCreated' patch-completed: > '#/components/schemas/EventPatchCompleted' patch-state-changed: > '#/components/schemas/EventPatchStateChanged' patch-delegated: > '#/components/schemas/EventPatchDelegated' check-created: '#/components/schemas/EventCheckCreated' series-created: '#/components/schemas/EventSeriesCreated' series-completed: > '#/components/schemas/EventSeriesCompleted' tags: - events /api/1.0/patches/: get: description: List patches. operationId: patches_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/BeforeFilter' - $ref: '#/components/parameters/SinceFilter' - in: query name: project description: An ID or linkname of a project to filter patches by. schema: title: '' type: string - in: query name: series description: An ID of a series to filter patches by. schema: title: '' type: integer - in: query name: submitter description: > An ID or email address of a person to filter patches by. schema: title: '' type: string - in: query name: delegate description: An ID or username of a user to filter patches by. schema: title: '' type: string - in: query name: state description: A slug representation of a state to filter patches by. schema: title: '' type: string - in: query name: archived description: > Show only archived (`true`) or non-archived (`false`) patches. schema: title: '' type: string enum: - 'true' - 'false' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/PatchList' tags: - patches /api/1.0/patches/{id}/: get: description: Show a patch. operationId: patches_read parameters: - in: path name: id description: A unique integer value identifying this patch. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PatchDetail' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - patches patch: description: Update a patch (partial). operationId: patches_partial_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this patch. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/Patch' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PatchDetail' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/ErrorPatchUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - patches put: description: Update a patch. operationId: patches_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this patch. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/Patch' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PatchDetail' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/ErrorPatchUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - patches /api/1.0/patches/{id}/comments/: get: description: List comments operationId: patch_comments_list parameters: - in: path name: id description: A unique integer value identifying the parent patch. required: true schema: title: ID type: integer - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Comment' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - comments /api/1.0/patches/{patch_id}/checks/: get: description: List checks. operationId: checks_list parameters: - in: path name: patch_id description: A unique integer value identifying the parent patch. required: true schema: title: Patch ID type: integer - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/BeforeFilter' - $ref: '#/components/parameters/SinceFilter' - in: query name: user description: An ID or username of a user to filter checks by. schema: title: '' type: string - in: query name: state description: A check state to filter checks by. schema: title: '' type: string enum: - pending - success - warning - fail - in: query name: context description: A check context to filter checks by. schema: title: '' type: string responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Check' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - checks post: description: Create a check. operationId: checks_create security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: patch_id description: A unique integer value identifying the parent patch. required: true schema: title: Patch ID type: integer requestBody: $ref: '#/components/requestBodies/Check' responses: '201': description: '' content: application/json: schema: $ref: '#/components/schemas/Check' '400': description: Invalid Request content: application/json: schema: $ref: '#/components/schemas/ErrorCheckCreate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - checks /api/1.0/patches/{patch_id}/checks/{check_id}/: get: description: Show a check. operationId: checks_read parameters: - in: path name: patch_id description: A unique integer value identifying the parent patch. required: true schema: title: Patch ID type: integer - in: path name: check_id description: A unique integer value identifying this check. required: true schema: title: Check ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Check' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - checks /api/1.0/people/: get: description: List people. operationId: people_list security: - basicAuth: [] - apiKeyAuth: [] parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Person' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' tags: - people /api/1.0/people/{id}/: get: description: Show a person. operationId: people_read security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this person. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Person' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - people /api/1.0/projects/: get: description: List projects. operationId: projects_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Project' tags: - projects /api/1.0/projects/{id}/: get: description: Show a project. operationId: projects_read parameters: - in: path name: id description: A unique integer value identifying this project. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Project' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - projects patch: description: Update a project (partial). operationId: projects_partial_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this project. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/Project' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorProjectUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - projects put: description: Update a project. operationId: projects_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this project. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/Project' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Project' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorProjectUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - projects /api/1.0/series/: get: description: List series. operationId: series_list parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' - $ref: '#/components/parameters/BeforeFilter' - $ref: '#/components/parameters/SinceFilter' - in: query name: submitter description: An ID or email address of a person to filter series by. schema: title: '' type: string - in: query name: project description: An ID or linkname of a project to filter series by. schema: title: '' type: string responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/Series' tags: - series /api/1.0/series/{id}/: get: description: Show a series. operationId: series_read parameters: - in: path name: id description: A unique integer value identifying this series. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/Series' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - series /api/1.0/users/: get: description: List users. operationId: users_list security: - basicAuth: [] - apiKeyAuth: [] parameters: - $ref: '#/components/parameters/Page' - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/Order' - $ref: '#/components/parameters/Search' responses: '200': description: '' headers: Link: $ref: '#/components/headers/Link' content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' tags: - users /api/1.0/users/{id}/: get: description: Show a user. operationId: users_read security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this user. required: true schema: title: ID type: integer responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/User' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - users patch: description: Update a user (partial). operationId: users_partial_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this user. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/User' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorUserUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - users put: description: Update a user. operationId: users_update security: - basicAuth: [] - apiKeyAuth: [] parameters: - in: path name: id description: A unique integer value identifying this user. required: true schema: title: ID type: integer requestBody: $ref: '#/components/requestBodies/User' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/User' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorUserUpdate' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' tags: - users components: securitySchemes: basicAuth: type: http scheme: basic apiKeyAuth: type: http scheme: bearer parameters: Page: in: query name: page description: A page number within the paginated result set. schema: title: Page type: integer PageSize: in: query name: per_page description: Number of results to return per page. schema: title: Page size type: integer Order: in: query name: order description: Which field to use when ordering the results. schema: title: Ordering type: string Search: in: query name: q description: A search term. schema: title: Search type: string BeforeFilter: in: query name: before description: Latest date-time to retrieve results for. schema: title: '' type: string SinceFilter: in: query name: since description: Earliest date-time to retrieve results for. schema: title: '' type: string headers: Link: description: > Links to related resources, in the format defined by [RFC 5988](https://tools.ietf.org/html/rfc5988#section-5). This will include a link with relation type `next` to the next page, if there is a next page. schema: type: string requestBodies: Check: required: true content: application/json: schema: $ref: '#/components/schemas/CheckCreate' multipart/form-data: schema: $ref: '#/components/schemas/CheckCreate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CheckCreate' Patch: required: true content: application/json: schema: $ref: '#/components/schemas/PatchUpdate' multipart/form-data: schema: $ref: '#/components/schemas/PatchUpdate' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/PatchUpdate' Project: required: true content: application/json: schema: $ref: '#/components/schemas/Project' multipart/form-data: schema: $ref: '#/components/schemas/Project' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Project' User: required: true content: application/json: schema: $ref: '#/components/schemas/User' multipart/form-data: schema: $ref: '#/components/schemas/User' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/User' schemas: Index: type: object properties: bundles: title: Bundles URL type: string format: uri readOnly: true covers: title: Covers URL type: string format: uri readOnly: true events: title: Events URL type: string format: uri readOnly: true patches: title: Patches URL type: string format: uri readOnly: true people: title: People URL type: string format: uri readOnly: true projects: title: Projects URL type: string format: uri readOnly: true users: title: Users URL type: string format: uri readOnly: true Bundle: required: - name type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true project: $ref: '#/components/schemas/ProjectEmbedded' name: title: Name type: string minLength: 1 maxLength: 50 owner: type: object title: Owner readOnly: true allOf: - $ref: '#/components/schemas/UserEmbedded' patches: type: array items: $ref: '#/components/schemas/PatchEmbedded' readOnly: true uniqueItems: true public: title: Public type: boolean mbox: title: Mbox type: string format: uri readOnly: true Check: type: object properties: id: title: ID type: integer readOnly: true url: title: Url type: string format: uri readOnly: true user: $ref: '#/components/schemas/UserEmbedded' date: title: Date type: string format: iso8601 readOnly: true state: title: State description: The state of the check. type: string enum: - pending - success - warning - fail target_url: title: Target URL description: > The target URL to associate with this check. This should be specific to the patch. type: string format: uri maxLength: 200 nullable: true context: title: Context description: > A label to discern check from checks of other testing systems. type: string pattern: ^[-a-zA-Z0-9_]+$ minLength: 1 maxLength: 255 description: title: Description description: A brief description of the check. type: string nullable: true CheckCreate: type: object properties: state: title: State description: The state of the check. type: string enum: - pending - success - warning - fail target_url: title: Target URL description: The target URL to associate with this check. This should be specific to the patch. type: string format: uri maxLength: 200 nullable: true context: title: Context description: > A label to discern check from checks of other testing systems. type: string pattern: ^[-a-zA-Z0-9_]+$ minLength: 1 maxLength: 255 description: title: Description description: A brief description of the check. type: string nullable: true Comment: type: object properties: id: title: ID type: integer readOnly: true msgid: title: Message ID type: string readOnly: true minLength: 1 maxLength: 255 date: title: Date type: string format: iso8601 readOnly: true subject: title: Subject type: string readOnly: true submitter: type: object title: Submitter allOf: - $ref: '#/components/schemas/PersonEmbedded' content: title: Content type: string readOnly: true minLength: 1 headers: title: Headers type: array items: type: string readOnly: true CoverLetterList: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true project: $ref: '#/components/schemas/ProjectEmbedded' msgid: title: Message ID type: string readOnly: true minLength: 1 maxLength: 255 date: title: Date type: string format: iso8601 readOnly: true name: title: Name type: string readOnly: true minLength: 1 maxLength: 255 submitter: type: object title: Submitter readOnly: true allOf: - $ref: '#/components/schemas/PersonEmbedded' series: type: array items: $ref: '#/components/schemas/SeriesEmbedded' readOnly: true CoverLetterDetail: allOf: - $ref: '#/components/schemas/CoverLetterList' - properties: headers: title: Headers type: array items: type: string readOnly: true content: title: Content type: string readOnly: true minLength: 1 EventBase: type: object properties: id: title: ID type: integer readOnly: true category: title: Category description: The category of the event. type: string readOnly: true project: $ref: '#/components/schemas/ProjectEmbedded' date: title: Date description: The time this event was created. type: string format: iso8601 readOnly: true payload: type: object EventCoverCreated: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - cover-created payload: properties: cover: title: Cover type: string readOnly: true EventPatchCreated: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - patch-created payload: properties: patch: $ref: '#/components/schemas/PatchEmbedded' EventPatchCompleted: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - patch-completed payload: properties: patch: $ref: '#/components/schemas/PatchEmbedded' series: $ref: '#/components/schemas/SeriesEmbedded' EventPatchStateChanged: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - patch-state-changed payload: properties: patch: $ref: '#/components/schemas/PatchEmbedded' previous_state: title: Previous state type: string current_state: title: Current state type: string EventPatchDelegated: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - patch-delegated payload: properties: patch: $ref: '#/components/schemas/PatchEmbedded' previous_delegate: allOf: - $ref: '#/components/schemas/UserEmbedded' - title: Previous delegate current_delegate: allOf: - $ref: '#/components/schemas/UserEmbedded' - title: Current delegate EventCheckCreated: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - check-created payload: properties: patch: $ref: '#/components/schemas/PatchEmbedded' check: $ref: '#/components/schemas/CheckEmbedded' EventSeriesCreated: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - series-created payload: properties: series: $ref: '#/components/schemas/SeriesEmbedded' EventSeriesCompleted: allOf: - $ref: '#/components/schemas/EventBase' - type: object properties: category: enum: - series-completed payload: properties: series: $ref: '#/components/schemas/SeriesEmbedded' PatchList: required: - state - delegate type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true project: $ref: '#/components/schemas/ProjectEmbedded' msgid: title: Message ID type: string readOnly: true minLength: 1 maxLength: 255 date: title: Date type: string format: iso8601 readOnly: true name: title: Name type: string readOnly: true minLength: 1 maxLength: 255 commit_ref: title: Commit ref type: string maxLength: 255 nullable: true pull_url: title: Pull URL type: string format: uri maxLength: 255 nullable: true state: title: State type: string archived: title: Archived type: boolean hash: title: Hash type: string readOnly: true minLength: 1 submitter: type: object title: Submitter readOnly: true allOf: - $ref: '#/components/schemas/PersonEmbedded' delegate: type: object title: Delegate nullable: true readOnly: true allOf: - $ref: '#/components/schemas/UserEmbedded' mbox: title: Mbox type: string format: uri readOnly: true series: type: array items: $ref: '#/components/schemas/SeriesEmbedded' readOnly: true check: title: Check type: string readOnly: true enum: - pending - success - warning - fail checks: title: Checks type: string format: uri readOnly: true tags: title: Tags type: array items: type: string readOnly: true PatchDetail: allOf: - $ref: '#/components/schemas/PatchList' - properties: headers: title: Headers type: array items: type: string readOnly: true content: title: Content type: string readOnly: true minLength: 1 diff: title: Diff type: string readOnly: true minLength: 1 prefixes: title: Prefixes type: array items: type: string readOnly: true PatchUpdate: type: object properties: commit_ref: title: Commit ref type: string maxLength: 255 nullable: true pull_url: title: Pull URL type: string format: uri maxLength: 255 nullable: true state: title: State type: string archived: title: Archived type: boolean delegate: title: Delegate type: integer nullable: true Person: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true name: title: Name type: string readOnly: true minLength: 1 maxLength: 255 email: title: Email type: string format: email readOnly: true minLength: 1 maxLength: 255 user: type: object title: User nullable: true readOnly: true allOf: - $ref: '#/components/schemas/UserEmbedded' Project: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true name: title: Name type: string readOnly: true minLength: 1 maxLength: 255 link_name: title: Link name type: string readOnly: true minLength: 1 maxLength: 255 list_id: title: List ID type: string readOnly: true minLength: 1 maxLength: 255 list_email: title: List email type: string format: email readOnly: true minLength: 1 maxLength: 200 web_url: title: Web URL type: string format: uri maxLength: 2000 scm_url: title: SCM URL type: string format: uri maxLength: 2000 webscm_url: title: Web SCM URL type: string format: uri maxLength: 2000 maintainers: type: array items: $ref: '#/components/schemas/UserEmbedded' readOnly: true uniqueItems: true Series: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true project: $ref: '#/components/schemas/ProjectEmbedded' name: title: Name description: > An optional name to associate with the series, e.g. "John's PCI series". type: string maxLength: 255 nullable: true date: title: Date type: string format: iso8601 readOnly: true submitter: type: object title: Submitter readOnly: true allOf: - $ref: '#/components/schemas/PersonEmbedded' version: title: Version description: > Version of series as indicated by the subject prefix(es). type: integer total: title: Total description: > Number of patches in series as indicated by the subject prefix(es). type: integer readOnly: true received_total: title: Received total type: integer readOnly: true received_all: title: Received all type: boolean readOnly: true mbox: title: Mbox type: string format: uri readOnly: true cover_letter: $ref: '#/components/schemas/CoverLetterEmbedded' patches: type: array items: $ref: '#/components/schemas/PatchEmbedded' readOnly: true uniqueItems: true User: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true username: title: Username type: string readOnly: true minLength: 1 maxLength: 150 first_name: title: First name type: string maxLength: 30 last_name: title: Last name type: string maxLength: 150 email: title: Email address type: string format: email readOnly: true minLength: 1 CheckEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: Url type: string format: uri readOnly: true date: title: Date type: string format: iso8601 readOnly: true state: title: State description: The state of the check. type: string readOnly: true enum: - pending - success - warning - fail target_url: title: Target url description: > The target URL to associate with this check. This should be specific to the patch. type: string format: uri maxLength: 200 nullable: true readOnly: true context: title: Context description: > A label to discern check from checks of other testing systems. type: string pattern: ^[-a-zA-Z0-9_]+$ maxLength: 255 minLength: 1 readOnly: true CoverLetterEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true msgid: title: Message ID type: string readOnly: true minLength: 1 date: title: Date type: string format: iso8601 readOnly: true name: title: Name type: string readOnly: true minLength: 1 mbox: title: Mbox type: string format: uri readOnly: true PatchEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true msgid: title: Message ID type: string readOnly: true minLength: 1 date: title: Date type: string format: iso8601 readOnly: true name: title: Name type: string readOnly: true minLength: 1 mbox: title: Mbox type: string format: uri readOnly: true PersonEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true name: title: Name type: string readOnly: true minLength: 1 email: title: Email type: string format: email readOnly: true minLength: 1 ProjectEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true name: title: Name type: string readOnly: true minLength: 1 link_name: title: Link name type: string readOnly: true maxLength: 255 minLength: 1 list_id: title: List ID type: string readOnly: true maxLength: 255 minLength: 1 list_email: title: List email type: string format: email readOnly: true maxLength: 200 minLength: 1 web_url: title: Web URL type: string format: uri readOnly: true maxLength: 2000 scm_url: title: SCM URL type: string format: uri readOnly: true maxLength: 2000 webscm_url: title: WebSCM URL type: string format: uri readOnly: true maxLength: 2000 SeriesEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true name: title: Name description: > An optional name to associate with the series, e.g. "John's PCI series". type: string readOnly: true maxLength: 255 nullable: true date: title: Date type: string format: iso8601 readOnly: true version: title: Version description: > Version of series as indicated by the subject prefix(es). type: integer readOnly: true mbox: title: Mbox type: string format: uri readOnly: true UserEmbedded: type: object properties: id: title: ID type: integer readOnly: true url: title: URL type: string format: uri readOnly: true username: title: Username type: string readOnly: true minLength: 1 maxLength: 150 first_name: title: First name type: string maxLength: 30 readOnly: true last_name: title: Last name type: string maxLength: 150 readOnly: true email: title: Email address type: string format: email readOnly: true minLength: 1 Error: type: object properties: detail: title: Detail type: string readOnly: true ErrorCheckCreate: type: object properties: state: title: State type: string readOnly: true target_url: title: Target URL type: string readOnly: true context: title: Context type: string readOnly: true description: title: Description type: string readOnly: true ErrorPatchUpdate: type: object properties: state: title: State type: string readOnly: true delegate: title: Delegate type: string readOnly: true commit_ref: title: Commit ref type: string readOnly: true archived: title: Archived type: string readOnly: true ErrorProjectUpdate: type: object properties: web_url: title: Web URL type: string format: uri readOnly: true scm_url: title: SCM URL type: string format: uri readOnly: true webscm_url: title: Web SCM URL type: string format: uri readOnly: true ErrorUserUpdate: type: object properties: first_name: title: First name type: string readOnly: true last_name: title: First name type: string readOnly: true