Create workspace brand

Changed on

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Adds a brand you already have to a workspace, from its kit and, optionally, its design system. The brand is ready right away. To have Base44 build a brand from a description instead, use Generate workspace brand.

kit.title becomes the brand's title, and it can't exactly match another brand's title in the workspace. kit and design_system are stored as you send them, up to 1 MB together. If the workspace has no default brand, this brand becomes the default.

Retrying a create that succeeded returns a 409, because the title is then taken, or the plan-limit 403 when the new brand filled the workspace's limit.

Brands need the Builder plan or higher. An Enterprise workspace can have any number of brands, and any other workspace on Builder or a higher plan can have 1. A brand whose status is failed doesn't count. Over the limit this returns a 403 whose detail.reason is design_system_limit_reached and whose detail.limit is the workspace's limit.

This is limited to 60 requests per minute, shared with the other endpoints that change brands, except generating one. A signed-in session has its own limit, and every personal access token for the workspace shares one. Some workspaces have a different limit.

<Note>Call this as an owner or admin of the workspace, with a personal access token for that workspace sent as a Bearer token, or from a signed-in session. A read-only token is refused, and workspace API keys aren't accepted.</Note>

post/api/workspace/{workspace_id}/brands

Request

  • Base URL: https://app.base44.com
  • URL: https://app.base44.com/api/workspace/{workspace_id}/brands
  • Auth: HTTP bearer

Path parameters

workspace_idstring required

ID of the workspace. With a personal access token, use the token's workspace. Get it from organization_id in Get app.

Request body

kitobject required

The brand's identity. It needs a non-empty title, which becomes the brand's title, and a description. Brands Base44 generates also carry tagLine, values, toneOfVoice, designGuidelines, componentStyle, and a logo with its url. Nothing else in it is checked.

design_systemobject

The brand's design system: its tokens, such as colors and fonts, and its component sections. It's stored as you send it. When you include tokens, send it as an object. Defaults to an empty object.

Example request

{
  "kit": {
    "description": "A family furniture workshop that builds solid oak tables and chairs to order.",
    "logo": {
      "altText": "Nordwind logo",
      "url": "https://media.base44.com/images/public/nordwind-logo.png"
    },
    "tagLine": "Furniture built to last",
    "title": "Nordwind",
    "toneOfVoice": [
      "Warm",
      "Plain-spoken"
    ],
    "values": [
      "Craft",
      "Honesty",
      "Durability"
    ]
  },
  "design_system": {
    "tokens": {
      "colors": [
        {
          "label": "Primary",
          "token": "primary",
          "value": "#0B7A3B"
        },
        {
          "label": "Background",
          "token": "background",
          "value": "#FAF7F2"
        }
      ],
      "fonts": [
        {
          "family": "Fraunces",
          "role": "heading"
        },
        {
          "family": "Inter",
          "role": "body"
        }
      ]
    }
  }
}

Response

The new brand.

status'success' required

Always success.

messagestring required

Short confirmation. Its wording can change, so don't parse it.

idstring required

ID of the new brand.

Example response

{
  "status": "success",
  "message": "Brand 'Nordwind' added",
  "id": "68e0c4a1b9d2f7003a5e1b42"
}

Changes