---
title: "Fulfill a service order"
method: POST
path: "/service-orders/{serviceOrderId}/fulfill"
tags: ["service-orders"]
---

# Fulfill a service order

`POST /service-orders/{serviceOrderId}/fulfill`

## Path parameters

- `serviceOrderId` string, uuid, required

## Headers

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

## Request body

- union
  - object
    - `method` 'gift_card', required
    - `resolutionInitializedBy` string
    - `provider` string, required
    - `amount` object, required
      - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
      - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
      - `formattedAmount` string
    - `miscFees` object
      - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
      - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
      - `formattedAmount` string
    - `expenseDescription` string
  - object
    - `method` 'product_replacement', required
    - `product` object, required
      - `value` object, required
        - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
        - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
        - `formattedAmount` string
      - `reimbursementAmount` object
        - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
        - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
        - `formattedAmount` string
      - `referenceId` string, required — replacement product id
      - `name` string, required
    - `url` string
    - `trackingNumber` string
    - `carrier` string
    - `resolutionInitializedBy` string — system or a customer support agent
    - `orderNumber` string
    - `expenseDescription` string
  - object
    - `method` 'shipping_protection', required
    - `products` object[], required
      - `value` object, required
        - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
        - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
        - `formattedAmount` string
      - `referenceId` string, required — replacement product id
      - `name` string, required
  - object
    - `method` 'repair_depot', required
    - `repairCompletedAt` number, required
    - `repairExplanation` string
  - object
    - `method` 'repair_onsite', required
    - `repairCompletedAt` number, required
    - `repairExplanation` string
  - object
    - `method` 'exchange', required
    - `products` object[], required
      - `originalReferenceId` string, required
      - `referenceId` string, required
      - `quantity` number, required
      - `price` object
        - `amount` number, required — Expressed in terms of the smallest currency unit.<p> <ul><li>$19.99 would be 1999</li><li>1.234,56 € would be 123456</li><li>£ 1,999.99 would be 199999</li></ul>
        - `currencyCode` 'AUD' | 'CAD' | 'EUR' | 'GBP' | 'NZD' | 'USD'
        - `formattedAmount` string
    - `replacementOrder` object
      - `orderId` string
      - `transactionId` string
      - `trackingNumber` string
      - `status` string
    - `resolutionInitializedBy` string
    - `fulfilledAt` number
    - `status` string

## Response `200`

Fulfill a service order

- object
  - `id` string, required
  - `status` 'created' | 'accepted' | 'assigned' | 'fulfilled' | 'payment_approved' | 'payment_requested', required

## Other responses

- `400` — The request to the endpoint was invalid
- `403` — Forbidden
- `404` — The specified resource was not found
- `409` — Conflict
- `422` — Unprocessable entity
- `500` — Internal server error

---

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