---
title: "Update a service order"
method: POST
path: "/service-orders/{serviceOrderId}/update-repair"
tags: ["service-orders"]
---

# Update a service order

`POST /service-orders/{serviceOrderId}/update-repair`

## Request

- Base URL: `https://api.helloextend.com`
- URL: `https://api.helloextend.com/service-orders/{serviceOrderId}/update-repair`
- Auth: none declared. Required headers: `Content-Type`, `X-Extend-Access-Token`, `Accept`

## Path parameters

- `serviceOrderId` string, uuid, required

## Headers

- `Content-Type` string, required
- `X-Extend-Access-Token` string, required
- `Accept` string, required

## Request body

- object
  - `event` string, required: The name of the event
  - `receivedBy` string: Associated with 'product_received' event
  - `receivedAt` number: Associated with 'product_received' event
  - `deliveredTo` string: Associated with 'product_delivered' event
  - `deliveredAt` number: Associated with 'product_delivered' event
  - `diagnosedBy` string: Associated with 'product_diagnosed' event
  - `diagnosticExplanation` string: Associated with 'product_diagnosed' event
  - `diagnosticCompletedAt` number: Associated with 'product_diagnosed' event
  - `isDelayed` boolean: Associated with 'repair_eta' event
  - `delayReason` string: Associated with 'repair_eta' event
  - `estimatedRepairCompletionAt` number: Associated with 'repair_eta' event
  - `repairStartedAt` number: Associated with 'repair_started' event
  - `repairCompletedAt` number: Associated with 'repair_completed' event
  - `repairShippedAt` number: Associated with 'repair_shipped' event
  - `repairExplanation` string: Associated with 'repair_completed' event
  - `partManagementEventType` 'parts_needed' | 'parts_ordered' | 'parts_shipped' | 'parts_delivered': Associated with 'part_management' event
  - `appointmentEventType` 'scheduled' | 'rescheduled' | 'cancelled': Associated with 'appointment_scheduling' event
  - `appointmentDate` number: Associated with 'appointment_scheduling' event
  - `customerContactEventType` 'appointment_reminder' | 'schedule_attempt_failure' | 'appointment_requested' | 'appointment_request_confirmed': Associated with 'customer_contact' event
  - `method` 'email' | 'phone' | 'email_and_phone': Associated with 'customer_contact' event
  - `contactTimestamp` number: Associated with 'customer_contact' event
  - `appointmentTimestamps` number[]: Associated with 'customer_contact' event
  - `availabilityWindows` number[]: Associated with 'batched' event
  - `resolutionType` 'closed' | 'fulfilled': Associated with 'resolved' event
  - `reason` 'no_service_required' | 'new_service_needed' | 'additional_servicing_required' | 'defective_product_not_shipped': Associated with 'resolved' event
  - `metadata` object: JSON Object containing metadata for other events
  - `eventDate` number: Date associated with other events
  - `notes` string: Optional notes field for any event

## Response `200`

Updates a service order

- object
  - `id` string, required

## Other responses

- `400`: The request to the endpoint was invalid
- `403`: Forbidden
- `404`: The specified resource was not found
- `409`: Conflict
- `500`: Internal server error
- `503`: Service unavailable

---

[API](https://skmtc.dev/extend/apis/service-orders-api.md) - [All operations](https://skmtc.dev/extend/apis/service-orders-api/llms.txt) - [OpenAPI document](https://skmtc.dev/extend/apis/service-orders-api/revisions/f4b090d3e36e?raw)
