---
title: "Service settings: category, online visibility, approval, notice, booking window, start windows, add-ons, required previous appointment, image"
method: PATCH
path: "/api/v1/services/{id}/settings"
---

# Service settings: category, online visibility, approval, notice, booking window, start windows, add-ons, required previous appointment, image

`PATCH /api/v1/services/{id}/settings`

## Request

- Base URL: `http://127.0.0.1:4310`
- URL: `http://127.0.0.1:4310/api/v1/services/{id}/settings`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sfb_session`

## Path parameters

- `id` string, required

## Request body

- object
  - `category_id` string
  - `online` boolean
  - `requires_approval` boolean
  - `approval_hours` integer
  - `min_notice_minutes` integer
  - `max_advance_days` integer
  - `deposit_percent` integer, nullable
  - `deposit_fixed_minor` integer, nullable
  - `resource_type` string
  - `summary` string
  - `prerequisite_service_id` string, uuid, nullable: Another active service the client must have had first (for example a patch test); null clears it
  - `prerequisite_min_hours` integer, nullable: Hours between the end of the required appointment and this one (default 48)
  - `image_url` string
  - `image_alt` string
  - `image_licence` string
  - `allow_external_image` boolean
  - `windows` object[]
    - `weekday` integer, required
    - `start_minute` integer, required
    - `end_minute` integer, required
  - `add_on_ids` string[]
  - `expected_version` integer

## Response `200`

OK

- object

## Other responses

- `400`: Validation error
- `401`: Unauthenticated
- `403`: Forbidden
- `404`: Not found
- `409`: Conflict or invalid state

---

[API](https://skmtc.dev/scalingfirm/apis/tsf-booking-api.md) · [All operations](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scalingfirm/apis/tsf-booking-api/revisions/81704199cd37?raw)
