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

# manage brand kit

> The brand kits of this workspace: direction in blocks, colors, fonts, logos and reference files each with a line, the words it spells its own way (corrected in transcripts), and pins (caption templates, text styles, skills, timelines, canvases, graphics) with a note on when each applies. Called with nothing it reads the active kit and lists the kits; kit names another; kits are made, renamed, activated and deleted here. colors and fonts replace the whole list; a block a user wrote is theirs. Nothing invented: facts come from the guidelines in the library, the logos, then the user; a color read by eye is an estimate; an empty section stays empty. delete_kit takes the word "delete". Free.



## OpenAPI

````yaml /openapi.json post /tools/manage_brand_kit
openapi: 3.1.0
info:
  title: Eversince API
  version: '1'
  description: >-
    Every Eversince tool as one POST call, plus the routes beside them: the tool
    list, account and keys, uploads, webhooks and models. The prose is at
    https://docs.eversince.ai.
servers:
  - url: https://eversince.ai/api/v1
security:
  - bearer: []
tags:
  - name: Discovery
    description: The tool list, the same on the MCP server, the REST API and the CLI.
  - name: Workspace
    description: Jobs, balances, settings, templates, skills and the overview.
  - name: Library
    description: >-
      Items, search, import, reading media, comments, boards, calendars, the
      brand kit and public links.
  - name: Timeline
    description: 'Video editing: timelines, clips, captions, sound, language and rendering.'
  - name: Canvas
    description: 'Still editing: canvases, slides, layers and rendering.'
  - name: Generation
    description: Image, video and audio generation, upscaling, cutouts and models.
  - name: Research
    description: 'What platforms publish: pulling and keeping posts.'
  - name: Account
    description: Balances, keys, workspaces and script sessions.
  - name: Uploads
    description: Files into the library by presigned upload or by URL.
  - name: Webhooks
    description: Job results posted to a URL as they complete.
  - name: Models
    description: Generation models and cost estimates.
paths:
  /tools/manage_brand_kit:
    post:
      tags:
        - Library
      summary: manage brand kit
      description: >-
        The brand kits of this workspace: direction in blocks, colors, fonts,
        logos and reference files each with a line, the words it spells its own
        way (corrected in transcripts), and pins (caption templates, text
        styles, skills, timelines, canvases, graphics) with a note on when each
        applies. Called with nothing it reads the active kit and lists the kits;
        kit names another; kits are made, renamed, activated and deleted here.
        colors and fonts replace the whole list; a block a user wrote is theirs.
        Nothing invented: facts come from the guidelines in the library, the
        logos, then the user; a color read by eye is an estimate; an empty
        section stays empty. delete_kit takes the word "delete". Free.
      operationId: manage_brand_kit
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                add_context:
                  description: >-
                    A block of written direction to add: voice, rules, what the
                    brand does and does not do. Blocks the user wrote are
                    theirs; add one rather than rewriting.
                  type: string
                  maxLength: 8000
                remove_context:
                  description: >-
                    The id of a context block to remove, as the kit reads it
                    back.
                  type: string
                  maxLength: 80
                colors:
                  description: The whole palette, replacing what is there.
                  maxItems: 24
                  type: array
                  items:
                    type: object
                    properties:
                      hex:
                        type: string
                        description: '#RGB or #RRGGBB.'
                      role:
                        description: 'What it does: primary, accent, background, text.'
                        type: string
                        maxLength: 40
                    required:
                      - hex
                fonts:
                  description: The whole type list, replacing what is there.
                  maxItems: 12
                  type: array
                  items:
                    type: object
                    properties:
                      family:
                        type: string
                        description: A family the render stack loads.
                      role:
                        description: 'What it sets: headlines, body, captions.'
                        type: string
                        maxLength: 40
                    required:
                      - family
                pin:
                  description: >-
                    Pin one thing to the kit. A caption template or skill
                    already pinned has its note refreshed instead of a second
                    pin.
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - caption_style
                        - text_style
                        - skill
                        - timeline
                        - canvas
                        - graphic
                    ref:
                      description: >-
                        caption_style: the saved caption template's name
                        (captions template). skill: the skill's id as
                        manage_skills lists it. timeline: its id. graphic: a
                        saved graphic's name or id. A text style has none.
                      type: string
                      maxLength: 120
                    name:
                      description: >-
                        text_style: what the kit calls it: "Lower third",
                        "Chapter title".
                      type: string
                      maxLength: 80
                    note:
                      description: >-
                        When it applies: "every talking-head cut", "titles on
                        product videos". One line.
                      type: string
                      maxLength: 200
                    style:
                      description: >-
                        text_style: the text clip fields it sets: fontFamily,
                        fontSize, fontWeight, color, backgroundColor, stroke*,
                        shadow* and the rest of a text clip's Style tab.
                      type: object
                      propertyNames:
                        type: string
                      additionalProperties: {}
                  required:
                    - kind
                update_pin:
                  description: Change what a pin says without pinning it again.
                  type: object
                  properties:
                    id:
                      type: string
                      maxLength: 80
                      description: The pin, by the id the kit reads back.
                    note:
                      description: When it applies, rewritten. Empty clears it.
                      type: string
                      maxLength: 200
                    name:
                      description: >-
                        text_style only: what the kit calls it. The other kinds
                        are named by what they point at.
                      type: string
                      maxLength: 80
                  required:
                    - id
                unpin:
                  description: The id of a pin to remove, as the kit reads it back.
                  type: string
                  maxLength: 80
                add_items:
                  description: >-
                    Library files the brand is made of, 50 a call. A bare ref
                    links as a reference; naming a role or a name on a ref
                    already linked corrects it in place.
                  maxItems: 50
                  type: array
                  items:
                    anyOf:
                      - type: string
                        description: An item ref, item id, or the job id that made it.
                      - type: object
                        properties:
                          ref:
                            type: string
                            description: An item ref, item id, or the job id that made it.
                          role:
                            description: >-
                              logo is the brand's own mark; reference is a file
                              the kit holds as direction, and the default. A
                              file inside an entry is set there by the entry,
                              not here.
                            type: string
                            enum:
                              - logo
                              - reference
                          name:
                            description: >-
                              The kit's line about this file: "Icon on dark",
                              "Outro sting, ends every product video". This is
                              what tells two logos apart when both files are
                              called logo.png. Empty clears it back to the
                              filename.
                            type: string
                            maxLength: 200
                        required:
                          - ref
                remove_items:
                  description: Linked items that are no longer the identity.
                  maxItems: 50
                  type: array
                  items:
                    type: string
                    description: An item ref, item id, or the job id that made it.
                update_context:
                  description: >-
                    Rewrite one context block, by the id the kit reads back. For
                    a block you added; a user's block is theirs to change.
                  type: object
                  properties:
                    id:
                      type: string
                      maxLength: 80
                    text:
                      type: string
                      maxLength: 8000
                  required:
                    - id
                    - text
                kit:
                  description: >-
                    Which kit, by name or id, when the workspace holds more than
                    one. Left out, the workspace's active kit.
                  type: string
                  maxLength: 80
                create_kit:
                  description: >-
                    Make a new kit by this name and work in it for the rest of
                    the call. The free plan holds one kit; the answer says so
                    when there is no room.
                  type: string
                  maxLength: 80
                rename_kit:
                  description: A new name for the kit this call is on.
                  type: string
                  maxLength: 80
                activate_kit:
                  description: >-
                    Make the kit this call is on the workspace's active one, the
                    one read when no kit is named.
                  type: boolean
                delete_kit:
                  description: >-
                    The word "delete", to delete the kit this call is on with
                    its colors, fonts, context, pins and links. There is no way
                    back and the answer says what went; the files stay in the
                    library. Only when the user asked for it.
                  type: string
                  const: delete
                words:
                  description: >-
                    Names this workspace spells its own way, corrected in
                    transcripts after they come back. One word, a name or a
                    piece of jargon, with the spellings it was heard as. Shared
                    by every kit. A one-letter word, or a heard_as under three
                    letters, is refused.
                  type: object
                  properties:
                    add:
                      description: >-
                        Words to add. One already here keeps its spellings and
                        gains these.
                      maxItems: 50
                      type: array
                      items:
                        type: object
                        properties:
                          term:
                            type: string
                            maxLength: 80
                            description: The spelling that is correct.
                          heard_as:
                            description: >-
                              Spellings a transcript came back with instead
                              ("ever sense" for "Eversince"), each replaced by
                              the word. A phrase is matched across words.
                            maxItems: 50
                            type: array
                            items:
                              type: string
                              maxLength: 80
                        required:
                          - term
                    remove:
                      description: Words to drop, by the word itself or by its id.
                      maxItems: 50
                      type: array
                      items:
                        type: string
                context:
                  description: 'Optional: one sentence shown to the user beside this action.'
                  type: string
                  maxLength: 600
      responses:
        '200':
          description: >-
            Done, or a job started for work that runs longer (follow it with
            get_jobs).
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                  - meta
                properties:
                  ok:
                    const: true
                  data:
                    type: object
                    additionalProperties: true
                  meta:
                    type: object
                    properties:
                      request_id:
                        type: string
                      cost:
                        $ref: '#/components/schemas/Cost'
                      cloud_processing:
                        $ref: '#/components/schemas/CloudProcessing'
                  media:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        default:
          $ref: '#/components/responses/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
      description: >-
        Retry a paid dispatch safely: the same key returns the job already
        dispatched instead of charging again.
    WorkspaceId:
      name: x-workspace-id
      in: header
      required: false
      schema:
        type: string
      description: The workspace this one call acts in, when it is not the key's own.
  schemas:
    Cost:
      type: object
      description: AI credits the call cost.
      additionalProperties: true
    CloudProcessing:
      type: object
      description: Cloud processing the call used, and what is left.
      properties:
        ran_on:
          const: cloud
        minutes:
          type: number
        queued_minutes:
          type: number
        left_minutes:
          type: number
        bought_minutes:
          type: number
        note:
          type: string
    Error:
      type: object
      required:
        - ok
        - error
      properties:
        ok:
          const: false
        error:
          type: object
          required:
            - code
            - message
            - retryable
          properties:
            code:
              type: string
            message:
              type: string
              description: What went wrong, in words to act on.
            retryable:
              type: boolean
            suggested_action:
              type: string
              description: The next step that works.
            cloud_processing:
              $ref: '#/components/schemas/CloudProcessing'
  responses:
    Error:
      description: The call was refused or failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        An API key (es_live_…) from Settings, under API keys, or an OAuth access
        token.

````