Set the phases a card can be moved to directly from a given phase.
Before You Begin
🔗 Use the GraphQL Playground to execute the queries in this guide.
➡️ New to GraphQL? Learn how to navigate the Playground with our Playground Basics Guide.
Prerequisites
- Authentication: Use a Service Account token (Personal Access Tokens are deprecated).
- Permissions: You must be able to manage the pipe the phase belongs to (pipe admin).
- Phase IDs: The ID of the source phase, and the IDs of the phases cards may jump to from it.
Step 1: Find Your Phase IDs
- Via Pipefy UI:
- Click on the gear button that appears when you hover over the phase title and a modal will open over the Kanban area.
- The URL will include the Phase ID:
https://app.pipefy.com/pipes/1234/settings/phases/123456. - Phase ID =
123456(the number after/phases/).
- Via GraphQL Query
- Check on our Get resource IDs page.
Step 2: Execute the Mutation
Use the updatePhaseJumps mutation to replace the jump targets of the phase:
mutation {
updatePhaseJumps(input: {
phaseId: 123456,
targetPhaseIds: [123457, 123460]
}) {
success
}
}
Arguments Breakdown
phaseId: the ID of the phase whose jump targets you want to set.targetPhaseIds: the full list of phases cards can be moved to from this phase. The list replaces the current targets; send an empty list to remove every target. The argument is optional in the schema, but a call without it is rejected withINVALID_INPUT.
Example Response
{
"data": {
"updatePhaseJumps": {
"success": true
}
}
}
Key Notes
- The list replaces every connection. When a phase is created, Pipefy connects it to its neighbouring phases. A call that sends only the new target removes those neighbour connections. To add or remove one connection, first read the current targets (
next_phase_idsandprevious_phase_idsonphase), then send the full list. - Invalid IDs are rejected. IDs of phases from another pipe, of the start form, or of phases that do not exist return an
INVALID_INPUTerror naming them, for exampleInvalid input: targetPhaseIds (987654). Nothing is saved. targetPhaseIdsmust be sent. Omitting it, or sendingnull, returnsInvalid input: targetPhaseIds (null)withINVALID_INPUT, and the current targets are kept.- A phase cannot target itself. Including
phaseIdintargetPhaseIdsreturns aRECORD_INVALIDerror and keeps the current targets. - Setting transitions with
updatePhase. ThejumpTargetIdsargument ofupdatePhasereplaces the same set of transitions while you update other phase settings, andcreatePhasecan skip the neighbor links withconnectNeighbors: false. See Set phase transitions. UnliketargetPhaseIdshere, omittingjumpTargetIdsleaves the transitions unchanged. - Permissions: a user who cannot manage the pipe receives a
PERMISSION_DENIEDerror. - Unknown phase: a
phaseIdthat does not exist, or that is the start form, returnsPhase not found with id: <id>withRESOURCE_NOT_FOUND.

