---
title: "Update a program."
method: PUT
path: "/api/v1/programs/{id}"
tags: ["Programs"]
---

# Update a program.

`PUT /api/v1/programs/{id}`

## Request

- Base URL: `https://api-dev.fusehealth.com`
- URL: `https://api-dev.fusehealth.com/api/v1/programs/{id}`
- Auth: API key in header `x-api-key`

Update a program.

## Path parameters

- `id` string, required

## Request body

- object
  - `name` string

## Response `200`

Success

- object
  - `success` boolean
  - `message` string
  - `data` Program: Program.toJSON plus derived links and ClinicProgram overrides.
    - `id` string, uuid
    - `name` string
    - `description` string, nullable
    - `isActive` boolean
    - `isFeatured` boolean
    - `nonMedicalServiceFee` number
    - `heroImageUrl` string, nullable
    - `customSlug` string, nullable
    - `accentColor` string, nullable
    - `sellableProductCount` integer
    - `unpricedProductCount` integer
    - `programGlobalProducts` ProgramGlobalProduct[]
      - `id` string, uuid
      - `displayOrder` integer
      - `isPatientVisible` boolean
      - `globalProduct` object

## Other responses

- `401`: Missing, invalid, inactive, or expired API key (or JWT)
- `403`: Authenticated but not permitted (insufficient scope, wrong role, or FUSE feature not enabled)
- `404`: Resource not found (or not owned by the key's clinic)

---

[API](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external.md) · [All operations](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/llms.txt) · [OpenAPI document](https://skmtc.dev/fusehealth/apis/fuse-brand-api-external/revisions/50821832728c?raw)
