Update a queued pull request's entry
Patches a live queue entry; an omitted field leaves that attribute unchanged. priorityValue and priorityName are mutually exclusive. skipsTheLine is not settable — it is derived from priorityValue === 0, so send that instead. direct sends the entry directly to the queue past unmet readiness (it needs the Merge PRs with direct to queue permission, and a signed-in user also needs repository-admin permission). allowBatching: false gives the entry a test run of its own.
Authorizations
An API key, sent as Authorization: Bearer <key>. An organization admin creates one in the Trunk app under Settings → Developer → API Keys and chooses the merge-queue permissions it holds; a key with none can read merge queues but change nothing. Those permissions scope merge queue only: every key can use the Flaky Tests and Dynamic CI endpoints, including their writes, whatever permissions it holds.
Path Parameters
The pull request's id.
"0f8fad5b-d9cb-469f-a165-70867728950e"
Body
Patches one or more attributes of a live queue entry; at least one must be sent. priorityValue and priorityName are mutually exclusive. skipsTheLine is not accepted — it is derived from priorityValue === 0, so send that. An omitted field leaves that attribute of the entry unchanged.
0 <= x <= 327671Send the pull request directly to the queue past unmet readiness (branch protection, failing required checks), merging via Trunk's bypass app. It does not skip the queue's own tests. It needs the Merge PRs with direct to queue permission, and a signed-in user also needs repository-admin permission. false clears it. Reflected as QueueEntry.direct.
false
Whether this entry may be tested in a batch with others. false gives it a test run of its own. Sending this field at all needs the Skip batching permission. Omit to leave the entry's current setting alone.
false
Response
The updated pull request
A pull request Trunk has indexed. There is no nested repository object — resolve repositoryId with GET /v2/repositories/{id}.
"0f8fad5b-d9cb-469f-a165-70867728950e"
"7c9e6679-7425-40de-944b-e07fc1f90ae7"
4901
"feat: terminate /v2 at the gateway"
"phil/implement-remaining-apis"
The head commit of the pull request as Trunk last indexed it. Compare against a verification run's testedPullRequests[].sha to tell whether a run tested the current head or a superseded one — a mismatch means the branch moved after that run started.
"9c58bf40e5c1a2b3d4e5f60718293a4b5c6d7e8f"
The branch this pull request targets. Must match the queue's targetBranch to be enqueueable — readiness.doesBaseBranchMatch reports that check.
"main"
"octocat"
True when this pull request's queue entry is non-terminal.
true
"2026-07-28T10:55:00.000Z"
Omitted until the provider sync has populated it.
"https://github.com/acme/widgets/pull/4901"
The pull request's state at the provider, as Trunk last indexed it — not its queue state, which is QueueEntry.state.
open, closed, merged "open"
A pull request's queue membership. There is at most one ever — re-submitting the same pull request mutates this record rather than adding another.
The pull request's page in the Trunk web app. Absent when the repository has no keyed organization.
"https://app.trunk.io/acme/pull/4901?repo=1a2b3c4d"
Whether the authenticated user authored this pull request. Provided on the queue pull-request list (GET /merge-queues/{id}/pull-requests); absent elsewhere and when the caller is not a signed-in user.
true
CI on the head commit. Null when the repository has no CI data. Absent from lists, from a lookup of more than one pull request, and when the CI read failed.