List pulls

List pull requests for a target repository.

Endpoints

GET /api/v1/teams/{team_slug}/repos/{repo_slug}/pulls
GET /api/v1/users/{username}/repos/{repo_slug}/pulls
Authenticated

Request

Query parameters (all filters are AND'd):

  • status (optional): open, draft, closed, merged
  • target_ref (optional): filter by target branch (case-sensitive)
  • created_by (optional): filter by creator username (case-insensitive)
  • merged_by (optional): filter by merger username (case-insensitive)
  • closed_by (optional): filter by closer username (case-insensitive)
  • page (optional, 1-based)
  • per_page (optional)

Usage

curl --header "Authorization: Bearer $PEARING_API_TOKEN" \
  "$PEARING_API_URL/v1/teams/platform/repos/website/pulls?status=open&page=1"

Success

200 OK with a paginated pull list. Each pull includes creator actor fields and nullable merge/close actor fields.

{
  "results": [
    {
      "uuid": "...",
      "number": 42,
      "target_ref": "main",
      "source_repo": "alice/website-fork",
      "source_ref": "feature-x",
      "title": "Ship feature x",
      "body": "Adds feature x.",
      "created_by_uuid": "...",
      "created_by_username": "alice",
      "status": "open",
      "merged_by_uuid": null,
      "merged_by_username": null,
      "closed_by_uuid": null,
      "closed_by_username": null,
      "created_at": "2026-03-09T12:00:00Z",
      "updated_at": "2026-03-09T12:00:00Z"
    }
  ],
  "next": null,
  "previous": null
}

Errors

  • 400 Bad Request for invalid query values (for example invalid status).
  • 403 Forbidden when repo access is denied (repo_access).
  • 404 Not Found when the target repo does not exist.

Common auth errors are documented on the API overview page.