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

# Update tenant branding

> Upserts the tenant branding. All fields optional: send null to clear, omit to keep. Colors are hex #RRGGBB; URLs https. Requires a tenant-scoped API key (403 NUMBER_SCOPE_NOT_ALLOWED for number-scoped keys). Logo upload: POST /api/branding/logo (dashboard session, multipart PNG/JPG/WebP ≤2MB).

**Requires a tenant-scoped key.**



## OpenAPI

````yaml openapi.json PUT /v1/branding
openapi: 3.1.0
info:
  title: Pilot Status API
  version: 1.0.0
  license:
    name: Pilot Status Terms of Service
    url: https://pilotstatus.com.br/terms
  description: >-
    Public REST API for Pilot Status. Authenticate with the `x-api-key: ps_...`
    header (or `x-api-key-id`). Base URL: https://pilotstatus.com.br
servers:
  - url: https://pilotstatus.com.br
security:
  - apiKey: []
  - apiKeyId: []
paths:
  /v1/branding:
    put:
      tags:
        - Branding
      summary: Update tenant branding
      description: >-
        Upserts the tenant branding. All fields optional: send null to clear,
        omit to keep. Colors are hex #RRGGBB; URLs https. Requires a
        tenant-scoped API key (403 NUMBER_SCOPE_NOT_ALLOWED for number-scoped
        keys). Logo upload: POST /api/branding/logo (dashboard session,
        multipart PNG/JPG/WebP ≤2MB).


        **Requires a tenant-scoped key.**
      operationId: put_branding
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                companyName:
                  type: string
                  description: Header title (replaces "Pilot Status").
                  example: Acme
                primaryColor:
                  type: string
                  description: Primary color (buttons/accents).
                  example: '#1fd286'
                hidePilotStatusBranding:
                  type: boolean
                  description: 'White-label: hides the "Pilot Status" footer.'
                  example: 'true'
            example:
              companyName: Acme
              primaryColor: '#1fd286'
              hidePilotStatusBranding: true
      responses:
        '200':
          description: Set branding
          content:
            application/json:
              example:
                branding:
                  companyName: Acme
                  primaryColor: '#1fd286'
                  hidePilotStatusBranding: true
        '400':
          description: Invalid payload or parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Validation error
        '401':
          description: Missing or invalid `x-api-key` / `x-api-key-id` header
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Unauthorized
        '403':
          description: Number-scoped key used on a tenant-only endpoint
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Number-scoped keys cannot call tenant endpoints
                code: NUMBER_SCOPE_NOT_ALLOWED
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
              example:
                error: Too many requests
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: Your ps_ API key
    apiKeyId:
      type: apiKey
      in: header
      name: x-api-key-id
      description: API key id (alternative to x-api-key)

````