API v1.0

GET /api/1.0/

List API resources.

Show paths to all supported API resources.

Example request:

GET /api/1.0/ HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of API resources

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "bundles": "https://example.com",
        "covers": "https://example.com",
        "events": "https://example.com",
        "patches": "https://example.com",
        "people": "https://example.com",
        "projects": "https://example.com",
        "users": "https://example.com",
        "series": "https://example.com"
    }
    

GET /api/1.0/bundles

List bundles.

List all bundles that the current user has access to. For unauthenticated requests, only public bundles can be shown.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

  • project (string) – An ID or linkname of a project to filter bundles by.

  • owner (string) – An ID or username of a user to filter bundles by.

  • public (string) – Show only public (true) or private (false) bundles.

Example request:

GET /api/1.0/bundles HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of bundles

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "name": "string",
            "owner": {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            },
            "patches": [
                {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                }
            ],
            "public": true,
            "mbox": "https://example.com"
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/bundles/{id}

Show a bundle.

Retrieve a bundle by its ID. The bundle must be either be public or be owned by the currently authenticated user.

Parameters:
  • id (integer) – A unique integer value identifying this bundle.

Example request:

GET /api/1.0/bundles/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A bundle

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "name": "string",
        "owner": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "patches": [
            {
                "id": 1,
                "url": "https://example.com",
                "msgid": "string",
                "date": "string",
                "name": "string",
                "mbox": "https://example.com"
            }
        ],
        "public": true,
        "mbox": "https://example.com"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/covers

List cover letters.

List all cover letters.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

  • before (string) – Latest date-time to retrieve results for.

  • since (string) – Earliest date-time to retrieve results for.

  • project (string) – An ID or linkname of a project to filter cover letters by.

  • series (string) – An ID of a series to filter cover letters by.

  • submitter (string) – An ID or email address of a person to filter cover letters by.

Example request:

GET /api/1.0/covers HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of cover letters

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "msgid": "string",
            "date": "string",
            "name": "string",
            "submitter": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "email": "name@example.com"
            },
            "series": [
                {
                    "id": 1,
                    "url": "https://example.com",
                    "name": "string",
                    "date": "string",
                    "version": 1,
                    "mbox": "https://example.com"
                }
            ]
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/covers/{id}

Show a cover letter.

Retrieve a cover letter by its ID.

Parameters:
  • id (integer) – A unique integer value identifying this cover letter.

Example request:

GET /api/1.0/covers/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A cover letter

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "msgid": "string",
        "date": "string",
        "name": "string",
        "submitter": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com"
        },
        "series": [
            {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "date": "string",
                "version": 1,
                "mbox": "https://example.com"
            }
        ],
        "headers": {},
        "content": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/covers/{id}/comments

List cover letter comments

List all comments for the given cover letter.

Parameters:
  • id (integer) – A unique integer value identifying the parent cover letter.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

Example request:

GET /api/1.0/covers/{id}/comments HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of comments

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "msgid": "string",
            "date": "string",
            "subject": "string",
            "submitter": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "email": "name@example.com"
            },
            "content": "string",
            "headers": {}
        }
    ]
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/events

List events.

List all events. This list can be quite large. You are encouraged to use filters to narrow it to specific categories or project(s).

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • q (string) – A search term.

  • before (string) – Latest date-time to retrieve results for.

  • since (string) – Earliest date-time to retrieve results for.

  • project (string) – An ID or linkname of a project to filter events by.

  • category (string) – An event category to filter events by. These categories are subject to change depending on the version of Patchwork deployed and are not subject to the versionining constraints present across the rest of the API.

  • series (integer) – An ID of a series to filter events by.

  • patch (integer) – An ID of a patch to filter events by.

  • cover (integer) – An ID of a cover letter to filter events by.

Example request:

GET /api/1.0/events HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of events

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "category": "cover-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "cover": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "patch-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "patch-completed",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "series": {
                    "id": 1,
                    "url": "https://example.com",
                    "name": "string",
                    "date": "string",
                    "version": 1,
                    "mbox": "https://example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "patch-state-changed",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "previous_state": "string",
                "current_state": "string"
            }
        },
        {
            "id": 1,
            "category": "patch-relation-changed",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "previous_relation": "string",
                "current_relation": "string"
            }
        },
        {
            "id": 1,
            "category": "patch-delegated",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "previous_delegate": {
                    "id": 1,
                    "url": "https://example.com",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "email": "name@example.com"
                },
                "current_delegate": {
                    "id": 1,
                    "url": "https://example.com",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "email": "name@example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "check-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "check": {
                    "id": 1,
                    "url": "https://example.com",
                    "date": "string",
                    "state": "pending",
                    "target_url": "https://example.com",
                    "context": "string"
                }
            }
        },
        {
            "id": 1,
            "category": "series-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "series": {
                    "id": 1,
                    "url": "https://example.com",
                    "name": "string",
                    "date": "string",
                    "version": 1,
                    "mbox": "https://example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "series-completed",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "series": {
                    "id": 1,
                    "url": "https://example.com",
                    "name": "string",
                    "date": "string",
                    "version": 1,
                    "mbox": "https://example.com"
                }
            }
        },
        {
            "id": 1,
            "category": "cover-comment-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "cover": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "comment": {
                    "id": 1,
                    "msgid": "string",
                    "date": "string",
                    "name": "string"
                }
            }
        },
        {
            "id": 1,
            "category": "patch-comment-created",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "date": "string",
            "payload": {
                "patch": {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                },
                "comment": {
                    "id": 1,
                    "msgid": "string",
                    "date": "string",
                    "name": "string"
                }
            }
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/patches

List patches.

List all patches.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

  • before (string) – Latest date-time to retrieve results for.

  • since (string) – Earliest date-time to retrieve results for.

  • project (string) – An ID or linkname of a project to filter patches by.

  • series (integer) – An ID of a series to filter patches by.

  • submitter (string) – An ID or email address of a person to filter patches by.

  • delegate (string) – An ID or username of a user to filter patches by.

  • state (string) – A slug representation of a state to filter patches by.

  • archived (string) – Show only archived (true) or non-archived (false) patches.

Example request:

GET /api/1.0/patches HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of patches

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "msgid": "string",
            "date": "string",
            "name": "string",
            "commit_ref": "string",
            "pull_url": "https://example.com",
            "state": "string",
            "archived": true,
            "hash": "string",
            "submitter": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "email": "name@example.com"
            },
            "delegate": {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            },
            "mbox": "https://example.com",
            "series": [
                {
                    "id": 1,
                    "url": "https://example.com",
                    "name": "string",
                    "date": "string",
                    "version": 1,
                    "mbox": "https://example.com"
                }
            ],
            "check": "pending",
            "checks": "https://example.com",
            "tags": {}
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/patches/{id}

Show a patch.

Retrieve a patch by its ID.

Parameters:
  • id (integer) – A unique integer value identifying this patch.

Example request:

GET /api/1.0/patches/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A patch

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "msgid": "string",
        "date": "string",
        "name": "string",
        "commit_ref": "string",
        "pull_url": "https://example.com",
        "state": "string",
        "archived": true,
        "hash": "string",
        "submitter": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com"
        },
        "delegate": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "mbox": "https://example.com",
        "series": [
            {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "date": "string",
                "version": 1,
                "mbox": "https://example.com"
            }
        ],
        "check": "pending",
        "checks": "https://example.com",
        "tags": {},
        "headers": {},
        "content": "string",
        "diff": "string",
        "prefixes": [
            "string"
        ]
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PATCH /api/1.0/patches/{id}

Update a patch (partial).

Partially update an existing patch. You must be a maintainer of the project that the patch belongs to.

Parameters:
  • id (integer) – A unique integer value identifying this patch.

Example request:

PATCH /api/1.0/patches/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "commit_ref": "string",
    "pull_url": "https://example.com",
    "state": "string",
    "archived": true,
    "delegate": 1
}
Status Codes:
  • 200 OK

    An updated patch

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "msgid": "string",
        "date": "string",
        "name": "string",
        "commit_ref": "string",
        "pull_url": "https://example.com",
        "state": "string",
        "archived": true,
        "hash": "string",
        "submitter": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com"
        },
        "delegate": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "mbox": "https://example.com",
        "series": [
            {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "date": "string",
                "version": 1,
                "mbox": "https://example.com"
            }
        ],
        "check": "pending",
        "checks": "https://example.com",
        "tags": {},
        "headers": {},
        "content": "string",
        "diff": "string",
        "prefixes": [
            "string"
        ]
    }
    

  • 400 Bad Request

    Invalid request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "state": [
            "string"
        ],
        "delegate": [
            "string"
        ],
        "commit_ref": [
            "string"
        ],
        "archived": [
            "string"
        ]
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PUT /api/1.0/patches/{id}

Update a patch.

Parameters:
  • id (integer) – A unique integer value identifying this patch.

Example request:

PUT /api/1.0/patches/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "commit_ref": "string",
    "pull_url": "https://example.com",
    "state": "string",
    "archived": true,
    "delegate": 1
}
Status Codes:
  • 200 OK

    An updated patch

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "msgid": "string",
        "date": "string",
        "name": "string",
        "commit_ref": "string",
        "pull_url": "https://example.com",
        "state": "string",
        "archived": true,
        "hash": "string",
        "submitter": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com"
        },
        "delegate": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "mbox": "https://example.com",
        "series": [
            {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "date": "string",
                "version": 1,
                "mbox": "https://example.com"
            }
        ],
        "check": "pending",
        "checks": "https://example.com",
        "tags": {},
        "headers": {},
        "content": "string",
        "diff": "string",
        "prefixes": [
            "string"
        ]
    }
    

  • 400 Bad Request

    Invalid request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "state": [
            "string"
        ],
        "delegate": [
            "string"
        ],
        "commit_ref": [
            "string"
        ],
        "archived": [
            "string"
        ]
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/patches/{id}/comments

List patch comments

List all comments for the given patch.

Parameters:
  • id (integer) – A unique integer value identifying the parent patch.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

Example request:

GET /api/1.0/patches/{id}/comments HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of comments

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "msgid": "string",
            "date": "string",
            "subject": "string",
            "submitter": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "email": "name@example.com"
            },
            "content": "string",
            "headers": {}
        }
    ]
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/patches/{patch_id}/checks

List checks.

List all checks for the given patch.

Parameters:
  • patch_id (integer) – A unique integer value identifying the parent patch.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

  • before (string) – Latest date-time to retrieve results for.

  • since (string) – Earliest date-time to retrieve results for.

  • user (string) – An ID or username of a user to filter checks by.

  • state (string) – A check state to filter checks by.

  • context (string) – A check context to filter checks by.

Example request:

GET /api/1.0/patches/{patch_id}/checks HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of checks

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "user": {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            },
            "date": "string",
            "state": "pending",
            "target_url": "https://example.com",
            "context": "string",
            "description": "string"
        }
    ]
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

POST /api/1.0/patches/{patch_id}/checks

Create a check.

Parameters:
  • patch_id (integer) – A unique integer value identifying the parent patch.

Example request:

POST /api/1.0/patches/{patch_id}/checks HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "state": "pending",
    "target_url": "https://example.com",
    "context": "string",
    "description": "string"
}
Status Codes:
  • 201 Created

    Created check

    Example response:

    HTTP/1.1 201 Created
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "user": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "date": "string",
        "state": "pending",
        "target_url": "https://example.com",
        "context": "string",
        "description": "string"
    }
    

  • 400 Bad Request

    Invalid request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "state": [
            "string"
        ],
        "target_url": [
            "string"
        ],
        "context": [
            "string"
        ],
        "description": [
            "string"
        ]
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/patches/{patch_id}/checks/{check_id}

Show a check.

Retrieve a check by its ID.

Parameters:
  • patch_id (integer) – A unique integer value identifying the parent patch.

  • check_id (integer) – A unique integer value identifying this check.

Example request:

GET /api/1.0/patches/{patch_id}/checks/{check_id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A check

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "user": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        },
        "date": "string",
        "state": "pending",
        "target_url": "https://example.com",
        "context": "string",
        "description": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/people

List people.

List all people. A person is anyone that has submitted a patch, a series of patches, or a comment to any project.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

Example request:

GET /api/1.0/people HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of people

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com",
            "user": {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            }
        }
    ]
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/people/{id}

Show a person.

Retrieve a person by their ID. A person is anyone that has submitted a patch, a series of patches, or a comment to any project.

Parameters:
  • id (integer) – A unique integer value identifying this person.

Example request:

GET /api/1.0/people/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A person

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "name": "string",
        "email": "name@example.com",
        "user": {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        }
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/projects

List projects.

List all projects.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

Example request:

GET /api/1.0/projects HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of projects

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com",
            "maintainers": [
                {
                    "id": 1,
                    "url": "https://example.com",
                    "username": "string",
                    "first_name": "string",
                    "last_name": "string",
                    "email": "name@example.com"
                }
            ]
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/projects/{id}

Show a project.

Retrieve a project by its ID.

Parameters:
  • id (string) – A unique integer value identifying this project.

Example request:

GET /api/1.0/projects/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A project

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "name": "string",
        "link_name": "string",
        "list_id": "string",
        "list_email": "name@example.com",
        "web_url": "https://example.com",
        "scm_url": "https://example.com",
        "webscm_url": "https://example.com",
        "maintainers": [
            {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            }
        ]
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PATCH /api/1.0/projects/{id}

Update a project (partial).

Partially update an existing project. You must be a maintainer of the project.

Parameters:
  • id (string) – A unique integer value identifying this project.

Example request:

PATCH /api/1.0/projects/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "web_url": "https://example.com",
    "scm_url": "https://example.com",
    "webscm_url": "https://example.com"
}
Status Codes:
  • 200 OK

    Updated project

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "name": "string",
        "link_name": "string",
        "list_id": "string",
        "list_email": "name@example.com",
        "web_url": "https://example.com",
        "scm_url": "https://example.com",
        "webscm_url": "https://example.com",
        "maintainers": [
            {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            }
        ]
    }
    

  • 400 Bad Request

    Bad request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "web_url": "https://example.com",
        "scm_url": "https://example.com",
        "webscm_url": "https://example.com"
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PUT /api/1.0/projects/{id}

Update a project.

Parameters:
  • id (string) – A unique integer value identifying this project.

Example request:

PUT /api/1.0/projects/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "web_url": "https://example.com",
    "scm_url": "https://example.com",
    "webscm_url": "https://example.com"
}
Status Codes:
  • 200 OK

    Updated project

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "name": "string",
        "link_name": "string",
        "list_id": "string",
        "list_email": "name@example.com",
        "web_url": "https://example.com",
        "scm_url": "https://example.com",
        "webscm_url": "https://example.com",
        "maintainers": [
            {
                "id": 1,
                "url": "https://example.com",
                "username": "string",
                "first_name": "string",
                "last_name": "string",
                "email": "name@example.com"
            }
        ]
    }
    

  • 400 Bad Request

    Bad request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "web_url": "https://example.com",
        "scm_url": "https://example.com",
        "webscm_url": "https://example.com"
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/series

List series.

List all series. A series is a collection of patches with an optional cover letter.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

  • before (string) – Latest date-time to retrieve results for.

  • since (string) – Earliest date-time to retrieve results for.

  • submitter (string) – An ID or email address of a person to filter series by.

  • project (string) – An ID or linkname of a project to filter series by.

Example request:

GET /api/1.0/series HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of series

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "project": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "link_name": "string",
                "list_id": "string",
                "list_email": "name@example.com",
                "web_url": "https://example.com",
                "scm_url": "https://example.com",
                "webscm_url": "https://example.com"
            },
            "name": "string",
            "date": "string",
            "submitter": {
                "id": 1,
                "url": "https://example.com",
                "name": "string",
                "email": "name@example.com"
            },
            "version": 1,
            "total": 1,
            "received_total": 1,
            "received_all": true,
            "mbox": "https://example.com",
            "cover_letter": {
                "id": 1,
                "url": "https://example.com",
                "msgid": "string",
                "date": "string",
                "name": "string",
                "mbox": "https://example.com"
            },
            "patches": [
                {
                    "id": 1,
                    "url": "https://example.com",
                    "msgid": "string",
                    "date": "string",
                    "name": "string",
                    "mbox": "https://example.com"
                }
            ]
        }
    ]
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/series/{id}

Show a series.

Retrieve a series by its ID. A series is a collection of patches with an optional cover letter.

Parameters:
  • id (integer) – A unique integer value identifying this series.

Example request:

GET /api/1.0/series/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A series

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "project": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "link_name": "string",
            "list_id": "string",
            "list_email": "name@example.com",
            "web_url": "https://example.com",
            "scm_url": "https://example.com",
            "webscm_url": "https://example.com"
        },
        "name": "string",
        "date": "string",
        "submitter": {
            "id": 1,
            "url": "https://example.com",
            "name": "string",
            "email": "name@example.com"
        },
        "version": 1,
        "total": 1,
        "received_total": 1,
        "received_all": true,
        "mbox": "https://example.com",
        "cover_letter": {
            "id": 1,
            "url": "https://example.com",
            "msgid": "string",
            "date": "string",
            "name": "string",
            "mbox": "https://example.com"
        },
        "patches": [
            {
                "id": 1,
                "url": "https://example.com",
                "msgid": "string",
                "date": "string",
                "name": "string",
                "mbox": "https://example.com"
            }
        ]
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

GET /api/1.0/users

List users.

List all users.

Query Parameters:
  • page (integer) – A page number within the paginated result set.

  • per_page (integer) – Number of results to return per page.

  • order (string) – Which field to use when ordering the results.

  • q (string) – A search term.

Example request:

GET /api/1.0/users HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    List of users

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    [
        {
            "id": 1,
            "url": "https://example.com",
            "username": "string",
            "first_name": "string",
            "last_name": "string",
            "email": "name@example.com"
        }
    ]
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

Response Headers:
  • Link – 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 and prev to the previous page, if there is a next or previous page. It will also include links with the relation type first and last pointing to the first and last page, respectively.

GET /api/1.0/users/{id}

Show a user.

Retrieve a user by their ID.

Parameters:
  • id (integer) – A unique integer value identifying this user.

Example request:

GET /api/1.0/users/{id} HTTP/1.1
Host: example.com
Status Codes:
  • 200 OK

    A user

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "username": "string",
        "first_name": "string",
        "last_name": "string",
        "email": "name@example.com"
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PATCH /api/1.0/users/{id}

Update a user (partial).

Partially update a user account. Only super users are allowed to update other user’s accounts.

Parameters:
  • id (integer) – A unique integer value identifying this user.

Example request:

PATCH /api/1.0/users/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "first_name": "string",
    "last_name": "string"
}
Status Codes:
  • 200 OK

    Updated user

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "username": "string",
        "first_name": "string",
        "last_name": "string",
        "email": "name@example.com"
    }
    

  • 400 Bad Request

    Bad request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "first_name": "string",
        "last_name": "string"
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

PUT /api/1.0/users/{id}

Update a user.

Parameters:
  • id (integer) – A unique integer value identifying this user.

Example request:

PUT /api/1.0/users/{id} HTTP/1.1
Host: example.com
Content-Type: application/json

{
    "first_name": "string",
    "last_name": "string"
}
Status Codes:
  • 200 OK

    Updated user

    Example response:

    HTTP/1.1 200 OK
    Content-Type: application/json
    
    {
        "id": 1,
        "url": "https://example.com",
        "username": "string",
        "first_name": "string",
        "last_name": "string",
        "email": "name@example.com"
    }
    

  • 400 Bad Request

    Bad request

    Example response:

    HTTP/1.1 400 Bad Request
    Content-Type: application/json
    
    {
        "first_name": "string",
        "last_name": "string"
    }
    

  • 403 Forbidden

    Forbidden

    Example response:

    HTTP/1.1 403 Forbidden
    Content-Type: application/json
    
    {
        "detail": "string"
    }
    

  • 404 Not Found

    Not found

    Example response:

    HTTP/1.1 404 Not Found
    Content-Type: application/json
    
    {
        "detail": "string"
    }