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

# Update a single brand identity

> Updates brand identity fields. Pass isDefault: true to make the target brand identity the organization's default.



## OpenAPI

````yaml https://api.usenotra.com/openapi.json patch /v1/brand-identities/{brandIdentityId}
openapi: 3.1.1
info:
  title: Notra API
  version: 1.0.0
  description: >-
    OpenAPI schema for Notra content endpoints. Use GET /v1/status for public
    reachability. Error responses include recovery guidance.
servers:
  - url: https://api.usenotra.com
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Content
    description: >-
      Read content. Organization is inferred from the API key
      (identity.externalId).
  - name: Schedules
    description: >-
      Manage scheduled content generation. Organization is inferred from the API
      key (identity.externalId).
  - name: Event Triggers
    description: >-
      Manage event-based content generation triggered by GitHub webhooks.
      Organization is inferred from the API key (identity.externalId).
  - name: Chats
    description: >-
      Manage chat sessions. Organization is inferred from the API key
      (identity.externalId).
  - name: Skills
    description: >-
      Manage reusable writing skills. Organization is inferred from the API key
      (identity.externalId).
paths:
  /v1/brand-identities/{brandIdentityId}:
    patch:
      tags:
        - Content
      summary: Update a single brand identity
      description: >-
        Updates brand identity fields. Pass isDefault: true to make the target
        brand identity the organization's default.
      operationId: updateBrandIdentity
      parameters:
        - schema:
            type: string
            minLength: 1
            pattern: ^[A-Za-z0-9_-]{1,100}$
            example: 51c2f3aa-efdd-4e28-8e69-23fa2dfd3561
          required: true
          in: path
          name: brandIdentityId
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                  example: Notra
                websiteUrl:
                  type: string
                  minLength: 1
                  example: https://usenotra.com
                companyName:
                  type:
                    - string
                    - 'null'
                  minLength: 1
                  maxLength: 200
                  example: Notra
                companyDescription:
                  type:
                    - string
                    - 'null'
                  minLength: 10
                  maxLength: 4000
                  example: AI-native content workflows for software teams.
                toneProfile:
                  type:
                    - string
                    - 'null'
                  enum:
                    - Conversational
                    - Professional
                    - Casual
                    - Formal
                    - null
                  example: Professional
                  description: >-
                    Set a preset tone profile. When provided without customTone,
                    any saved custom tone is cleared.
                customTone:
                  type:
                    - string
                    - 'null'
                  maxLength: 1000
                  example: Clear, direct, and technically confident
                  description: >-
                    Provide a custom tone override. Send an empty string or null
                    to clear it.
                customInstructions:
                  type:
                    - string
                    - 'null'
                  maxLength: 4000
                  example: Avoid hype. Prioritize concrete examples.
                audience:
                  type:
                    - string
                    - 'null'
                  minLength: 10
                  maxLength: 1000
                  example: Engineering leaders and developer tooling teams.
                language:
                  type:
                    - string
                    - 'null'
                  enum:
                    - English
                    - Spanish
                    - French
                    - German
                    - Portuguese
                    - Dutch
                    - Italian
                    - Japanese
                    - Korean
                    - Chinese
                    - Arabic
                    - Hindi
                    - Russian
                    - Turkish
                    - Polish
                    - Swedish
                    - Danish
                    - Norwegian
                    - Finnish
                    - Czech
                    - Romanian
                    - Hungarian
                    - Greek
                    - Thai
                    - Vietnamese
                    - Indonesian
                    - Ukrainian
                    - Hebrew
                    - null
                  example: English
                isDefault:
                  type: boolean
                  enum:
                    - true
                  example: true
                  description: >-
                    Set this brand identity as the organization's default. Only
                    true is accepted.
            examples:
              setDefault:
                summary: Set as default
                value:
                  isDefault: true
              updateAndSetDefault:
                summary: Rename and set as default
                value:
                  name: Notra Marketing
                  isDefault: true
              switchToPresetTone:
                summary: Switch custom tone to preset
                value:
                  toneProfile: Professional
              setCustomTone:
                summary: Set custom tone
                value:
                  customTone: Warm, sharp, and opinionated
      responses:
        '200':
          description: Brand identity updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  organization:
                    type: object
                    properties:
                      id:
                        type: string
                      slug:
                        type: string
                      name:
                        type: string
                      logo:
                        type:
                          - string
                          - 'null'
                    required:
                      - id
                      - slug
                      - name
                      - logo
                  brandIdentity:
                    type: object
                    properties:
                      id:
                        type: string
                      name:
                        type: string
                      isDefault:
                        type: boolean
                      websiteUrl:
                        type: string
                      companyName:
                        type:
                          - string
                          - 'null'
                      companyDescription:
                        type:
                          - string
                          - 'null'
                      toneProfile:
                        type:
                          - string
                          - 'null'
                      customTone:
                        type:
                          - string
                          - 'null'
                      customInstructions:
                        type:
                          - string
                          - 'null'
                      audience:
                        type:
                          - string
                          - 'null'
                      language:
                        type:
                          - string
                          - 'null'
                      createdAt:
                        type: string
                      updatedAt:
                        type: string
                    required:
                      - id
                      - name
                      - isDefault
                      - websiteUrl
                      - companyName
                      - companyDescription
                      - toneProfile
                      - customTone
                      - customInstructions
                      - audience
                      - language
                      - createdAt
                      - updatedAt
                required:
                  - organization
                  - brandIdentity
        '400':
          description: Invalid path params or request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Brand identity not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Brand identity name already exists
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Authentication service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        code:
          type: string
        recovery:
          type: string
      required:
        - error
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Send your API key in the Authorization header as Bearer API_KEY.

````