When to use this
Use theupdatePosition mutation to change details of an existing position: rename it, adjust tags, change visibility, tweak interview timing defaults (max duration, thinking time, retakes), update questions, or configure candidate notifications.
updatePosition is a partial update. Only the top-level fields you include are changed; everything else stays untouched. Arrays (steps, candidateNotifications, tags, users) are the exception: when provided, they fully replace the existing values, so always fetch the current state before updating them.
Before you start
You’ll need the position’sid. If you don’t have it, see Fetching Positions. Don’t forget to send your Hireflix API Key in the X-API-KEY header to https://api.hireflix.com/me.
GraphQL Playground
Update examples
Each tab below shows a focused example. All of them use the sameupdatePosition mutation, changing only the fields relevant to that task. The last tab shows a full example combining everything.
- Basic details
- Timing defaults
- Questions (steps)
- Outro
- Candidate notifications
- Full example
Rename a position, replace its tags, or toggle its public visibility.
- name – new title for the position.
- tags – up to 5 tags, each up to 25 characters. The array fully replaces existing tags.
- public – whether the position is publicly accessible.
Handling the response
updatePosition returns a union type. Always match on the possible cases:
MutationUpdatePositionSuccess– the update succeeded; read the updated position fromdata.PositionNotFoundError– thepositionIddoesn’t match any position on your account.ValidationError– one or more fields failed validation; inspectfieldErrorsfor the offendingpathandmessage.
Key reminders
- Partial updates – omitted top-level fields are left untouched.
- Arrays replace entirely –
steps,candidateNotifications,tags, andusersare fully replaced when provided. Fetch first, then update. - Template IDs – use
template(type: "email") { list { id name } }to map human-readable names to IDs before configuring notifications. maxDurationSecondsreplaces the deprecatedtimeToAnswerfield.
Learn next?
Let’s learn how to archive a position.

