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

# Update Theme



## OpenAPI

````yaml /openapi.json patch /v1/workspaces/{workspaceId}/report-theme
openapi: 3.1.0
info:
  title: Specurate API
  description: ''
  version: 1.0.0
  contact: {}
servers:
  - url: https://app.specurate.com/api
    description: API Server
security: []
tags: []
paths:
  /v1/workspaces/{workspaceId}/report-theme:
    patch:
      tags:
        - Report Themes
      summary: Update Theme
      operationId: ReportThemesController_updateTheme_v1
      parameters:
        - name: workspaceId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchReportThemeDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
components:
  schemas:
    PatchReportThemeDto:
      type: object
      properties:
        version:
          type: integer
          minimum: 1
          maximum: 9007199254740991
        settings:
          type: object
          properties:
            logos:
              type: object
              properties:
                primaryAssetId:
                  anyOf:
                    - type: string
                    - type: 'null'
                secondaryAssetId:
                  anyOf:
                    - type: string
                    - type: 'null'
                footerAssetId:
                  anyOf:
                    - type: string
                    - type: 'null'
              additionalProperties: false
            colors:
              type: object
              properties:
                primary:
                  type: string
                  pattern: ^#[0-9A-F]{6}$
                secondary:
                  type: string
                  pattern: ^#[0-9A-F]{6}$
                background:
                  default: '#FFFFFF'
                  type: string
                  pattern: ^#[0-9A-F]{6}$
              additionalProperties: false
            fontFamily:
              type: string
              enum:
                - roboto
                - source-serif
                - noto-sans
            typography:
              type: object
              properties:
                titleScale:
                  type: number
                  minimum: 0.8
                  maximum: 1.5
                bodyScale:
                  type: number
                  minimum: 0.8
                  maximum: 1.25
                headingBold:
                  type: boolean
                headingItalic:
                  type: boolean
                headingTransform:
                  type: string
                  enum:
                    - none
                    - uppercase
                    - title
              additionalProperties: false
            images:
              type: object
              properties:
                ratio:
                  type: string
                  enum:
                    - auto
                    - '1:1'
                    - '4:3'
                    - '3:2'
                    - '16:9'
                fit:
                  type: string
                  enum:
                    - contain
                    - cover
              additionalProperties: false
            header:
              type: object
              properties:
                show:
                  type: boolean
                showLogo:
                  type: boolean
                showProjectName:
                  type: boolean
                text:
                  default: ''
                  type: string
                  maxLength: 200
                logoPosition:
                  type: string
                  enum:
                    - left
                    - center
                    - right
                logoAlign:
                  default: center
                  type: string
                  enum:
                    - left
                    - center
                    - right
                logoSize:
                  type: string
                  enum:
                    - S
                    - M
                    - L
                logoSlot:
                  default: primary
                  type: string
                  enum:
                    - primary
                    - secondary
                    - footer
              additionalProperties: false
            footer:
              type: object
              properties:
                show:
                  type: boolean
                showLogo:
                  type: boolean
                logoPosition:
                  default: center
                  type: string
                  enum:
                    - left
                    - center
                    - right
                pageNumberFormat:
                  type: string
                  enum:
                    - page
                    - page-of-total
                text:
                  type: string
                  maxLength: 500
                disclaimerLine:
                  type: string
                  maxLength: 1000
                showPageNumbers:
                  type: boolean
                numberFormat:
                  type: string
                  minLength: 1
                  maxLength: 80
                excludeCover:
                  type: boolean
                showDate:
                  type: boolean
              additionalProperties: false
            watermark:
              type: object
              properties:
                enabled:
                  type: boolean
                type:
                  type: string
                  enum:
                    - text
                    - image
                text:
                  type: string
                  maxLength: 80
                logoSlot:
                  type: string
                  enum:
                    - primary
                    - secondary
                    - footer
                opacity:
                  anyOf:
                    - type: string
                      enum:
                        - light
                        - medium
                        - strong
                    - type: number
                      minimum: 0.02
                      maximum: 0.25
                position:
                  type: string
                  enum:
                    - diagonal
                    - center
                    - corner
              additionalProperties: false
            disclaimer:
              type: string
              maxLength: 4000
            disclaimerPage:
              type: object
              properties:
                enabled:
                  type: boolean
                text:
                  type: string
                  maxLength: 4000
              additionalProperties: false
          additionalProperties: false
        workspaceLogoAssetId:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - version
        - settings
      additionalProperties: false

````