neosourceDocs
Search docs

List inline review threads on a pull request

GET/api/repos/{owner}/{repo}/pulls/{number}/threads

listPullRequestThreads

Authentication is not described for this operation in the spec — that does not mean it is public. Check tokens and scopes.

curl

curl -X GET 'https://neosource.dev/api/repos/OWNER/REPO/pulls/NUMBER/threads'

fetch

fetch("https://neosource.dev/api/repos/OWNER/REPO/pulls/NUMBER/threads", {
  method: "GET",
});

Path parameters

ownerrequired

Repository owner or organization slug.

string

reporequired

Repository name.

string

numberrequired

Change request number.

integerint32

Responses

200Thread list

application/json

PrReviewThreadListResponse

object

threadsrequired

array

items

PrReviewThreadResponse

object

anchor_commitrequired

string

40-char Git OID hex of the commit the line is anchored at.

anchor_linerequired

integerint32

anchor_pathrequired

string

anchor_siderequired
ThreadSide
created_atrequired

integerint64

created_byrequired

string

outdated_at

integer | nullint64

pr_idrequired

string

resolved_at

integer | nullint64

resolved_by

string | null

thread_idrequired

string

updated_atrequired

integerint64

Standard errors

Bodies documented once for the whole API — see standard errors.

  • 400Bad Request — one of: invalid_input
  • 403Forbidden — one of: forbidden
  • 404Not Found — one of: not_found
  • 423Locked — one of: busy
  • 429Rate limited — retry after the `Retry-After` header
  • 500Internal server error
  • 503Service temporarily unavailable / at capacity — retry after the `Retry-After` header
  • 504Gateway timeout — the request exceeded the server's handling budget

Schemas

Referenced above. Listed here rather than expanded inline, so the same definition is not repeated at every level.

ThreadSide

string

Side of the diff a review thread anchors to. `Old` = the line was on the pre-image (red side); `New` = the line is on the post-image (green side). Identical encoding to GitHub's `RIGHT`/`LEFT` but spelled in our domain.

"old""new"