---
title: "Set or reset design system overrides for this project"
method: PATCH
path: "/v1/projectId/{projectId}/design-systems/{id}"
tags: ["Design Systems"]
---

# Set or reset design system overrides for this project

`PATCH /v1/projectId/{projectId}/design-systems/{id}`

## Request

- Base URL: `https://api.bluefox.email`
- URL: `https://api.bluefox.email/v1/projectId/{projectId}/design-systems/{id}`
- Auth: HTTP bearer

Batch operation: setOverrides upserts one or more variable/font/component overrides by name, resetOverrides removes them (falling back to the base design system value). id must be the project's own design system (project.designSystemId) - this endpoint cannot be used to switch a project to a different design system, even one belonging to the same account.

## Path parameters

- `projectId` string, required
- `id` string, required

## Request body

- DesignSystemPatch
  - `setOverrides` object[]
    - `category` 'variables' | 'font' | 'components', required
    - `key` string, required: variables: colors|fontStacks|images|links|texts. font: resources|stacks. components: buttons|texts|images|dividers.
    - `name` string, required
    - `value` unknown, required
    - `main` boolean
    - `description` string
  - `resetOverrides` object[]
    - `category` 'variables' | 'font' | 'components', required
    - `key` string, required
    - `name` string, required

## Response `200`

OK

- object
  - `status` integer
  - `result` DesignSystem: The design system merged with this project's overrides (designSystemParams) - what the project actually renders with.
    - `_id` string
    - `name` string
    - `variables` object
      - `colors` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `fontStacks` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `images` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `links` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `texts` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
    - `font` object
      - `resources` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `stacks` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
    - `components` object
      - `buttons` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `texts` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `images` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.
      - `dividers` DesignSystemEntry[]
        - `name` string: Matches an entry's name is required when calling PATCH .../design-systems/{id} to override or reset it.
        - `value` unknown
        - `main` boolean
        - `description` string
        - `overridden` boolean: True when this project has its own override for this entry, as opposed to inheriting the base design system's value.

## Other responses

- `400`: Invalid request body or query - every violation found (missing/invalid/unexpected fields) is reported in one response, semicolon-separated, not just the first one hit.
- `403`: Missing or invalid API key
- `404`: Design system not found

---

[API](https://skmtc.dev/bluefox/apis/bluefox-email-public-api.md) · [All operations](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bluefox/apis/bluefox-email-public-api/revisions/fa1a0a835c7f?raw)
