---
title: "Update User Journey"
method: PATCH
path: "/api/v2/user_journeys/{id}"
tags: ["User Journeys"]
---

# Update User Journey

`PATCH /api/v2/user_journeys/{id}`

Update a User Journey. Cannot update User Journeys with a Voided or Rescinded state

## Path parameters

- `id` string, uuid, required

## Request body

- RequestsUserJourneyUpdate
  - `expiration_date` string, YYYY-MM-DD
  - `office_location_id` union
    - string, uuid
    - object
      - `workday` string
  - `custom_fields` object
  - `documents` object[]
    - `document_type` string
    - `document_number` string
    - `document_title` string
    - `document_description` string
    - `attachments` object[]
      - `file_name` string
      - `file_content_base64` string, Base64

## Response `200`

The request has succeeded.

- ResponsesUserJourneyUpdate
  - `id` string, uuid, required
  - `journey_id` string, uuid, required
  - `user_id` string, uuid, required
  - `transition_type` 'pre_offer' | 'offer' | 'post_offer' | 'onboarding' | 'offboarding', required
  - `state` 'draft' | 'needs_attention' | 'pending_approval' | 'approved' | 'rejected' | 'rescinded' | 'user_pending' | 'submitted' | 'declined' | 'completed' | 'voided', required
  - `created_at` string, YYYY-MM-DD, required
  - `expiration_date` string, YYYY-MM-DD, required
  - `office_location` ModelsOfficeLocation, required
    - `id` string, uuid, required
    - `external_ids` object
      - `workday` string
    - `address1` string
    - `address2` string
    - `address3` string
    - `city` string, required
    - `state` string
    - `region` string
    - `country` string, required
    - `postal_code` string
    - `time_zone` string
    - `latitude` number, float
    - `longitude` number, float
  - `custom_field_values` object[], required
    - `id` string
    - `value` string
    - `name` string
    - `key` string

## Other responses

- `404` — The server cannot find the requested resource.
- `422` — Client error

## Changes

- **2026-03-20** `e6f4a2b1e696` — 1 warning
  - removed the request property `state`
- **2026-03-20** `f30bd25c50fa` — 1 warning, 1 info
  - added the new `voided` enum value to the `state` response property for the response status `200`
  - added the new `voided` enum value to the request property `state`
- **2026-03-09** `fd9ba8047579` — 2 info
  - added `#/components/schemas/Models.OfficeLocation` to the `office_location` response property `anyOf` list for the response status `200`
  - removed `#/components/schemas/OfficeLocation` from the `office_location` response property `anyOf` list for the response status `200`
- **2026-03-09** `3f638e7bcdd4` — 12 breaking, 52 warning, 22 info
  - for the `path` request parameter `id`, the type/format was changed from `string`/`` to `string`/`uuid`
  - request property `state` was restricted to a list of enum values
  - the `custom_fields` request property type/format changed from ``/`` to `object`/``
  - the `documents/items/attachments/items/file_content_base64` request property type/format changed from `string`/`` to `string`/`Base64`
  - …82 more
- …earlier changes not shown

[Full history](https://skmtc.dev/xpand-io/apis/xpand-api/changes/api/v2/user_journeys/:id/patch.md)

---

[API](https://skmtc.dev/xpand-io/apis/xpand-api.md) · [All operations](https://skmtc.dev/xpand-io/apis/xpand-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xpand-io/xpand-api/revisions/85bece7875fd/schema)
