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

# Update Configuration

> Update a project's configuration and shared design system tokens.



## OpenAPI

````yaml PUT /projects/{slug}/config
openapi: 3.1.0
info:
  title: Faces API
  version: '1.0'
  description: >-
    Faces API for creating and managing presentations. Generate presentations
    from prompts, or read and write individual slides. Each slide is a React
    component (face.tsx) with content blocks (face.content.json) and editor
    controls (face.controls.json).
servers:
  - url: https://faces.app/api/v1
    description: API v1
security:
  - bearerAuth: []
paths:
  /projects/{slug}/config:
    put:
      tags:
        - Projects
      summary: Update project configuration
      description: >-
        Update project.config.json. Only keys present in config are changed;
        other keys are preserved. Use this to define or update the project
        design system under tokens before styling slides. See getSlideGuide for
        token naming rules.
      operationId: updateProjectConfig
      parameters:
        - schema:
            type: string
          required: true
          name: slug
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                config:
                  allOf:
                    - $ref: '#/components/schemas/ProjectConfig'
                    - description: Partial project config to merge into the existing file.
              required:
                - config
      responses:
        '200':
          description: Project configuration updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  versionId:
                    type: string
                    description: The new project version ID.
                  config:
                    $ref: '#/components/schemas/ProjectConfig'
                required:
                  - versionId
                  - config
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Project not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    ProjectConfig:
      type: object
      properties:
        layout:
          type: string
          enum:
            - REGULAR
            - CARD
            - SLIDES
            - SLIDESHOW
            - STACKED
        slidesDisplay:
          type: string
          enum:
            - CARDS
            - FULLSCREEN
        stackedOrientation:
          type: string
          enum:
            - VERTICAL
            - HORIZONTAL
        cardsSlidesPerView:
          type: number
          minimum: 0.5
          maximum: 2
        cardsBackgroundColor:
          type: string
        cardsBackgroundImage:
          type: string
        cardsCorners:
          type: string
          enum:
            - ROUND
            - SQUARE
        width:
          type: string
          enum:
            - FULL
            - MEDIUM
            - COMPACT
        mobileCanvas:
          type: string
          enum:
            - LEGACY
            - COMPACT
        theme:
          type: object
          properties:
            fontFamily:
              type: string
            headingFontFamily:
              type: string
            radius:
              type: string
            colors:
              type: object
              properties:
                default:
                  type: object
                  properties:
                    background:
                      type: string
                    foreground:
                      type: string
                    card:
                      type: string
                    card-foreground:
                      type: string
                    card-border:
                      type: string
                    primary:
                      type: string
                    primary-foreground:
                      type: string
                    secondary:
                      type: string
                    secondary-foreground:
                      type: string
                    muted:
                      type: string
                    muted-foreground:
                      type: string
                    accent:
                      type: string
                    accent-foreground:
                      type: string
                    destructive:
                      type: string
                    destructive-foreground:
                      type: string
                    border:
                      type: string
                    input:
                      type: string
                    chart-1:
                      type: string
                    chart-2:
                      type: string
                    chart-3:
                      type: string
                    chart-4:
                      type: string
                    chart-5:
                      type: string
                  required:
                    - background
                    - foreground
                    - card
                    - card-foreground
                    - primary
                    - primary-foreground
                    - secondary
                    - secondary-foreground
                    - muted
                    - muted-foreground
                    - accent
                    - accent-foreground
                    - destructive
                    - destructive-foreground
                    - border
                    - input
                dark:
                  type: object
                  properties:
                    background:
                      type: string
                    foreground:
                      type: string
                    card:
                      type: string
                    card-foreground:
                      type: string
                    card-border:
                      type: string
                    primary:
                      type: string
                    primary-foreground:
                      type: string
                    secondary:
                      type: string
                    secondary-foreground:
                      type: string
                    muted:
                      type: string
                    muted-foreground:
                      type: string
                    accent:
                      type: string
                    accent-foreground:
                      type: string
                    destructive:
                      type: string
                    destructive-foreground:
                      type: string
                    border:
                      type: string
                    input:
                      type: string
                    chart-1:
                      type: string
                    chart-2:
                      type: string
                    chart-3:
                      type: string
                    chart-4:
                      type: string
                    chart-5:
                      type: string
                  required:
                    - background
                    - foreground
                    - card
                    - card-foreground
                    - primary
                    - primary-foreground
                    - secondary
                    - secondary-foreground
                    - muted
                    - muted-foreground
                    - accent
                    - accent-foreground
                    - destructive
                    - destructive-foreground
                    - border
                    - input
              required:
                - default
          required:
            - fontFamily
            - radius
            - colors
        tokens:
          type: object
          properties:
            palette:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    pattern: ^--[a-z][a-z0-9-]*$
                  value:
                    type: string
                    pattern: ^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$
                required:
                  - name
                  - value
              default: []
            fonts:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    pattern: ^--font-[a-z][a-z0-9-]*$
                  family:
                    type: string
                    minLength: 1
                  url:
                    type: string
                    format: uri
                required:
                  - name
                  - family
              default: []
      description: >-
        Project-level settings stored in project.config.json, including the
        shared design system. Color token names must start with --; font token
        names with --font-.
    Error:
      type: object
      properties:
        error:
          type: string
        hint:
          type: string
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key with "faces_" prefix. Create one at Settings > Developers.

````