> ## 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.

# Extract a workspace design system



## OpenAPI

````yaml /openapi.json post /api/v1/workspaces/{workspace}/profile/design/extract
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}/profile/design/extract:
    post:
      tags:
        - Workspaces
      summary: Extract a workspace design system
      operationId: extractWorkspaceDesign
      parameters:
        - name: workspace
          in: path
          required: true
          schema:
            type: string
            pattern: ^[a-z0-9-]+$
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceSettingsMutation'
      security:
        - cookieAuth: []
        - bearerAuth:
            - settings:write
components:
  schemas:
    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

````