---
title: "Update a Job Activity"
method: POST
path: "/jobactivity/{uuid}.json"
tags: ["Job Activities"]
---

# Update a Job Activity

`POST /jobactivity/{uuid}.json`

#### OAuth Scope
This endpoint requires the following OAuth scope **manage_schedule**.

## Path parameters

- `uuid` string, uuid, required

## Request body

- JobActivityCreate
  - `job_uuid` string, uuid — The UUID of the job this activity belongs to
  - `staff_uuid` string, uuid — The UUID of the staff member assigned to this activity
  - `start_date` string — The scheduled start date and time of the activity
  - `end_date` string — The scheduled end date and time of the activity
  - `activity_was_scheduled` string — Boolean flag indicating whether this activity was scheduled in advance. Cannot be true if activity_was_recorded is true.
  - `activity_was_recorded` string — Boolean flag indicating whether this activity was recorded after completion rather than scheduled in advance. Cannot be true if activity_was_scheduled is true.
  - `activity_was_automated` string — Integer flag indicating if the activity was automated: 0
  - `has_been_opened` string — Boolean flag indicating whether the assigned staff member has viewed this job activity. Resets to false if the staff member or start time is changed. Only relevant when activity_was_scheduled is true.
  - `has_been_opened_timestamp` string — The date and time when the assigned staff member first viewed this job activity. Format is YYYY-MM-DD HH:MM:SS. Resets when staff member or start time is changed. Only relevant when activity_was_scheduled is true.
  - `travel_time_in_seconds` integer — The estimated travel time to reach this activity location in seconds
  - `travel_distance_in_meters` integer — The estimated travel distance to reach this activity location in meters
  - `allocated_by_staff_uuid` unknown
  - `allocated_timestamp` unknown
  - `material_uuid` string, uuid — The UUID of the material associated with this activity. Used to determine the cost of the activity.
  - `uuid` string, uuid — Unique identifier for this record
  - `edit_by_staff_uuid` string, uuid — UUID of Staff Member who last modified record

## Response `200`

Success - The record was updated successfully

- Result
  - `errorCode` number
  - `message` string

## Other responses

- `400` — Bad Request - The request is malformed or contains invalid parameters
- `401` — Unauthorized - Authentication credentials are missing or invalid
- `403` — Forbidden - You don't have permission to update this resource
- `404` — Not Found - The record to update does not exist or has been deleted
- `429` — Too Many Requests - You have exceeded the rate limit
- `500` — Internal Server Error - An unexpected error occurred on the server

## Changes

- **2025-09-12** `638a8df09bf4` — 2 breaking, 1 warning
  - the `allocated_by_staff_uuid` request property type/format changed from `string`/`uuid` to ``/``
  - the `allocated_timestamp` request property type/format changed from `string`/`` to ``/``
  - removed the request property `active`
- **2025-08-14** `ca9b053c4373` — 5 info
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `404`
  - added the non-success response with the status `429`
  - …1 more
- **2025-08-11** `f2e41074a468` — 2 breaking
  - the `travel_distance_in_meters` request property type/format changed from `string`/`` to `integer`/``
  - the `travel_time_in_seconds` request property type/format changed from `string`/`` to `integer`/``

[Change history](https://skmtc.dev/servicem8/apis/servicem8-api/changes/jobactivity/:uuid.json/post.md)

---

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