---
title: "Update Extension"
method: PATCH
path: "/api/v1/extensions/{extension_id}"
tags: ["extensions"]
---

# Update Extension

`PATCH /api/v1/extensions/{extension_id}`

## Path parameters

- `extension_id` string, uuid, required

## Request body

- UpdateExtensionRequest — Partial update; route enforces fields_set non-empty.
  - `name` string, nullable
  - `variables` union[], nullable
    - union
      - NumericVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'numeric', required
        - `default` number, nullable
        - `unit` union
          - 'inches' | 'feet' | 'yards' | 'miles' | 'millimeters' | 'centimeters' | 'meters' | 'kilometers'
          - 'sq_inches' | 'sq_feet' | 'sq_yards' | 'sq_miles' | 'sq_mm' | 'sq_cm' | 'sq_meters' | 'sq_km' | 'acres' | 'hectares'
          - 'cu_inches' | 'cu_feet' | 'cu_yards' | 'cu_meters' | 'us_fl_oz' | 'us_pints' | 'us_quarts' | 'us_gallons' | 'milliliters' | 'liters' | 'uk_fl_oz' | 'uk_pints' | 'uk_quarts' | 'uk_gallons'
          - 'each'
        - `decimal_places` integer
        - `minimum` number, nullable
        - `maximum` number, nullable
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - TextVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'text', required
        - `default` string
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - CheckboxVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'checkbox', required
        - `default` boolean
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - DropdownVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'dropdown', required
        - `options` DropdownOption[], required
          - `id` string, required
          - `label` string, required
          - `value` number, nullable
        - `default_option_id` string, required
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - FormulaVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'formula', required
        - `expression` string
        - `unit` union
          - 'inches' | 'feet' | 'yards' | 'miles' | 'millimeters' | 'centimeters' | 'meters' | 'kilometers'
          - 'sq_inches' | 'sq_feet' | 'sq_yards' | 'sq_miles' | 'sq_mm' | 'sq_cm' | 'sq_meters' | 'sq_km' | 'acres' | 'hectares'
          - 'cu_inches' | 'cu_feet' | 'cu_yards' | 'cu_meters' | 'us_fl_oz' | 'us_pints' | 'us_quarts' | 'us_gallons' | 'milliliters' | 'liters' | 'uk_fl_oz' | 'uk_pints' | 'uk_quarts' | 'uk_gallons'
          - 'each'
        - `decimal_places` integer
        - `hide_if_zero` boolean

## Response `200`

Successful Response

- Extension
  - `id` string, uuid, required
  - `owner_id` string, uuid, required
  - `name` string, required
  - `variables` union[]
    - union
      - NumericVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'numeric', required
        - `default` number, nullable
        - `unit` union
          - 'inches' | 'feet' | 'yards' | 'miles' | 'millimeters' | 'centimeters' | 'meters' | 'kilometers'
          - 'sq_inches' | 'sq_feet' | 'sq_yards' | 'sq_miles' | 'sq_mm' | 'sq_cm' | 'sq_meters' | 'sq_km' | 'acres' | 'hectares'
          - 'cu_inches' | 'cu_feet' | 'cu_yards' | 'cu_meters' | 'us_fl_oz' | 'us_pints' | 'us_quarts' | 'us_gallons' | 'milliliters' | 'liters' | 'uk_fl_oz' | 'uk_pints' | 'uk_quarts' | 'uk_gallons'
          - 'each'
        - `decimal_places` integer
        - `minimum` number, nullable
        - `maximum` number, nullable
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - TextVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'text', required
        - `default` string
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - CheckboxVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'checkbox', required
        - `default` boolean
        - `hide_if_zero` boolean
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - DropdownVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'dropdown', required
        - `options` DropdownOption[], required
          - `id` string, required
          - `label` string, required
          - `value` number, nullable
        - `default_option_id` string, required
        - `hide_if_not_used` boolean
        - `clear_if_hidden` boolean
      - FormulaVariable
        - `id` string, required
        - `name` string, required
        - `description` string
        - `hide` boolean
        - `kind` 'formula', required
        - `expression` string
        - `unit` union
          - 'inches' | 'feet' | 'yards' | 'miles' | 'millimeters' | 'centimeters' | 'meters' | 'kilometers'
          - 'sq_inches' | 'sq_feet' | 'sq_yards' | 'sq_miles' | 'sq_mm' | 'sq_cm' | 'sq_meters' | 'sq_km' | 'acres' | 'hectares'
          - 'cu_inches' | 'cu_feet' | 'cu_yards' | 'cu_meters' | 'us_fl_oz' | 'us_pints' | 'us_quarts' | 'us_gallons' | 'milliliters' | 'liters' | 'uk_fl_oz' | 'uk_pints' | 'uk_quarts' | 'uk_gallons'
          - 'each'
        - `decimal_places` integer
        - `hide_if_zero` boolean
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `4XX` — Client Error
- `5XX` — Server Error

---

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