> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ai-cmo.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Update workspace settings



## OpenAPI

````yaml /openapi.json patch /api/v1/workspaces/{workspace}/settings
openapi: 3.0.3
info:
  title: ai-cmo.dev Services API
  version: 1.0.0
servers: []
security: []
tags:
  - name: Meta
    description: Health and the generated API description.
  - name: Auth
    description: Signup, login, sessions and email verification.
  - name: Device authorization
    description: Browser-approved API key provisioning for agents and the MCP server.
  - name: Setup tokens
    description: Single-use tokens that bootstrap a connector or agent.
  - name: MCP
    description: The canonical MCP install prompt.
  - name: Workspaces
    description: Workspace creation, settings, profile and competitors.
  - name: API keys
    description: 'Key lifecycle: create, deliver, acknowledge, rotate, revoke.'
  - name: Connections
    description: Connector status, tests, configuration and credentials.
  - name: Runs
    description: Measurement runs and their jobs.
  - name: Research
    description: The five-stage research pipeline.
  - name: Prompts
    description: The measurement prompt set.
  - name: Recommendations
    description: Recommendation board and guarded lifecycle transitions.
  - name: Reports
    description: Stable report identities and the report catalog.
  - name: Scores & metrics
    description: GEO score, scoreboard, metrics, timeseries and SEO.
  - name: Credits & billing
    description: Micro-USD credits, top-ups and Stripe checkout.
  - name: Team
    description: Members, roles and invitations.
  - name: Chat
    description: The workspace assistant (SSE) and its threads.
  - name: Webhooks
    description: Inbound webhooks.
paths:
  /api/v1/workspaces/{workspace}/settings:
    patch:
      tags:
        - Workspaces
      summary: Update workspace settings
      operationId: updateWorkspaceSettings
      parameters:
        - name: workspace
          in: path
          required: true
          schema:
            type: string
            pattern: ^[a-z0-9-]+$
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WorkspaceUpdate'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceSettingsMutation'
      security:
        - cookieAuth: []
        - bearerAuth:
            - settings:write
components:
  schemas:
    WorkspaceUpdate:
      type: object
      properties:
        displayName:
          type: string
          minLength: 2
          maxLength: 60
        domains:
          type: array
          items:
            type: string
            pattern: ^([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+[a-z]{2,}$
          minItems: 1
          maxItems: 8
        languages:
          type: array
          items:
            type: string
            enum:
              - en
              - es
              - ca
              - fr
          minItems: 1
          maxItems: 10
        about:
          type: string
          maxLength: 4000
        industry:
          type: string
          enum:
            - ''
            - financial-services
            - healthcare
            - technology
            - retail-ecommerce
            - professional-services
            - other
        email:
          type: string
          format: email
          maxLength: 254
        brandColors:
          type: object
          properties:
            primary:
              type: string
              pattern: ^#[0-9a-f]{6}$
            secondary: 2d25f169-f0e4-48c9-8906-9b49fdd65191
            accent: 9505a55b-d0d4-44d5-b68e-b132a80d195c
            background: f2870422-f75d-44d9-a286-8db69e49d9af
            text: 0a9ac32b-11c7-484e-8042-d7c4aa27e65e
          required:
            - primary
            - secondary
            - accent
            - background
            - text
          additionalProperties: false
        brandMeta:
          type: object
          properties:
            faviconUrl:
              anyOf:
                - type: string
                  enum:
                    - ''
                - type: string
                  format: uri
                  maxLength: 500
            logoUrl: e8dfe9f2-492a-40b6-8f57-57c550b6786a
            fontNames:
              type: array
              items:
                type: string
                minLength: 1
                maxLength: 100
              maxItems: 12
          additionalProperties: false
        socials:
          type: object
          properties:
            linkedin:
              anyOf:
                - type: string
                  enum:
                    - ''
                - type: string
                  format: uri
                  maxLength: 500
            x: 9fa621af-1d54-4a50-bdc3-f401569e4ed6
            github: 639d461f-5313-4384-9c90-b6343bddd17a
            instagram: edc7e5e3-4a72-49a7-8830-6a99408ebe68
            youtube: 424396b9-1b06-4565-823a-6b249fd22a21
            tiktok: 5e4ddd60-bc17-4c57-88e5-fffb3ec81481
          required:
            - linkedin
            - x
            - github
            - instagram
            - youtube
            - tiktok
          additionalProperties: false
        productsServices:
          type: string
          maxLength: 10000
        designMd:
          type: string
          maxLength: 50000
      additionalProperties: false
    WorkspaceSettingsMutation:
      anyOf:
        - type: object
          properties:
            ok:
              type: boolean
              enum:
                - true
            updatedAt:
              type: string
            brandColors:
              type: object
              properties:
                primary:
                  type: string
                  pattern: ^#[0-9a-f]{6}$
                secondary: 60878248-1188-4b82-af22-357ded033627
                accent: 469a81d2-7517-4239-81a9-533d91f2dda4
                background: e9e51b6a-a3e4-4070-92a9-d115773ecdc1
                text: 57c71b32-66a8-4d28-8d0b-e59164df35ea
              required:
                - primary
                - secondary
                - accent
                - background
                - text
              additionalProperties: false
            brandMeta:
              type: object
              properties:
                faviconUrl:
                  anyOf:
                    - type: string
                      enum:
                        - ''
                    - type: string
                      format: uri
                      maxLength: 500
                logoUrl: 58867e49-51b9-4b4b-80b9-8b428a68728c
                fontNames:
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 100
                  maxItems: 12
              additionalProperties: false
            about:
              type: string
            extractionRan:
              type: boolean
              enum:
                - true
            designMd:
              type: string
          required:
            - ok
            - extractionRan
            - designMd
          additionalProperties: false
        - type: object
          properties:
            ok: 9c12112a-1d0f-47ea-8cee-6ec820c17bdd
            updatedAt: 00bac38c-ce91-426c-94a6-d7354fff3828
            brandColors: ae75e433-6402-4c67-9687-8cb09b7dbdde
            brandMeta: 677736a6-dc30-48a4-9d51-18c3692574b9
            about: 8d13fadf-6297-4a58-b3f0-cfa9d2867711
            extractionRan:
              type: boolean
              enum:
                - false
            designMd:
              type: string
          required:
            - ok
            - extractionRan
          additionalProperties: false
  securitySchemes:
    cookieAuth:
      type: apiKey
      in: cookie
      name: geo.session
      description: Signed HttpOnly browser session cookie
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: gp_live_<43 base64url characters>
      description: Workspace-bound machine API key

````