Design Systems

Full reference for the Design Systems resource in the bluefox.email API. See the API overview for authentication, the response envelope, and pagination.

List the project's design system (merged with its overrides)

GET /v1/projectId/{projectId}/design-systems

Always a single-item list (or empty) - the design system this project is currently using (project.designSystemId), merged with the project's overrides (designSystemParams). Kept as a list for consistency with other resources.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
limitqueryintegerMax items per page. Capped at 30.
skipqueryintegerNumber of items to skip, for pagination.
sortquerystringField to sort by.
orderquerystring
filter[<field>]querystringExact-match filter on a top-level field, e.g. filter[name]=Welcome. Repeatable for multiple fields.

Responses

StatusDescription
200OK
403Missing or invalid API key

Response body

FieldTypeRequiredDescription
itemsarray
countintegerTotal matching items across all pages, not just this page.
nextstringFull URL (path + query string) of the next page, or null if this is the last page.

Set or reset design system overrides for this project

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

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.

Parameters

NameInTypeRequiredDescription
projectIdpathstringyesThe project _id, found in the app under Project Settings.
idpathstringyesThe design system _id - must equal project.designSystemId.

Request body

FieldTypeRequiredDescription
setOverridesarray of object
setOverrides[].categorystring (variables | font | components)yes
setOverrides[].keystringyesvariables: colors|fontStacks|images|links|texts. font: resources|stacks. components: buttons|texts|images|dividers.
setOverrides[].namestringyes
setOverrides[].valueanyyesAny value - shape depends on category/key.
setOverrides[].mainboolean
setOverrides[].descriptionstring
resetOverridesarray of object
resetOverrides[].categorystring (variables | font | components)yes
resetOverrides[].keystringyes
resetOverrides[].namestringyes

Responses

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

Response body

FieldTypeRequiredDescription
_idstring
namestring
variablesobject
variables.colorsarray
variables.fontStacksarray
variables.imagesarray
variables.linksarray
variables.textsarray
fontobject
font.resourcesarray
font.stacksarray
componentsobject
components.buttonsarray
components.textsarray
components.imagesarray
components.dividersarray