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

# Custom Theme

Creates or updates a custom theme.


## OpenAPI

````yaml POST /api/v1/theme/custom
openapi: 3.0.2
info:
  title: Scoot Customer API - Complete Documentation
  version: 1.0.0
  description: >-
    Complete API documentation for Scoot customer-facing endpoints with full
    type definitions from the backend service.
servers:
  - url: https://api.scoot.app
    description: Production server
security: []
tags:
  - name: Social
    description: Social event management endpoints
  - name: Room
    description: Room management endpoints
  - name: Theme
    description: Theme and background management endpoints
  - name: Event
    description: Event registration and management endpoints
  - name: Recording
    description: Recording and transcription endpoints
  - name: Playlist
    description: Audio playlist management endpoints
  - name: Badging
    description: Badge and gamification endpoints
  - name: User
    description: User management endpoints
paths:
  /api/v1/theme/custom:
    post:
      tags:
        - BackgroundController
      summary: POST /api/v1/theme/custom
      operationId: post__api_v1_theme_custom
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SocialThemeData'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SocialTheme'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SocialThemeData:
      type: object
      properties:
        theme:
          $ref: '#/components/schemas/SocialTheme'
        imageBytes:
          type: string
          format: byte
        imageFarBytes:
          type: string
          format: byte
        imageMidBytes:
          type: string
          format: byte
        imageNearBytes:
          type: string
          format: byte
        imageFarId:
          type: string
          format: uuid
        imageMidId:
          type: string
          format: uuid
        imageNearId:
          type: string
          format: uuid
    SocialTheme:
      type: object
      properties:
        socialThemeId:
          type: string
          format: uuid
        type:
          enum:
            - LAYERED
            - SINGLE_IMAGE
            - SINGLE_COLOR
        socialThemeName:
          type: string
        description:
          type: string
        colorPrimary:
          type: string
        colorSecondary:
          type: string
        colorBackground:
          type: string
        colorGradientBackground:
          type: string
        colorButtonText:
          type: string
        colorButtonBG:
          type: string
        imageFarURI:
          type: string
        imageMidURI:
          type: string
        imageNearURI:
          type: string
        previewImageURI:
          type: string
        minimapImageURI:
          type: string
        imageWidth:
          type: integer
        imageHeight:
          type: integer
        templateId:
          type: string
        defaultArtifactSetId:
          type: string
          format: uuid
        dateCreated:
          type: string
          format: date-time
        multiSize:
          type: boolean
        addToMiniMap:
          type: boolean
        tiles:
          type: array
          items:
            $ref: '#/components/schemas/SocialThemeImageTile'
        uploadStatus:
          $ref: '#/components/schemas/RequestStatus'
    SocialThemeImageTile:
      type: object
      properties:
        uri:
          type: string
        x:
          type: integer
        'y':
          type: integer
        width:
          type: integer
        height:
          type: integer
    RequestStatus:
      type: object
      properties:
        requestStatusId:
          type: string
          format: uuid
        userId:
          type: string
          format: uuid
        requestId:
          type: string
        status:
          enum:
            - IN_PROGRESS
            - COMPLETED
            - FAILED
        progress:
          type: integer
        failureReason:
          type: string
        startedDateTime:
          type: string
          format: date-time
        endedDateTime:
          type: string
          format: date-time
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````