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

# Inspect a Brand's active Skill

> Return the complete active Brand Skill as one immutable snapshot. The result identifies the exact Skill and includes its safe structured profile, signed custom-font files, every Markdown file, and referenced Brand Library asset IDs. SKILL.md includes the canonical YAML frontmatter stored in the artifact. No model runs during inspection.



## OpenAPI

````yaml https://www.trybloom.ai/api/v1/spec.json get /brands/{id}/skill
openapi: 3.1.1
info:
  title: Bloom API
  version: 1.0.0
servers:
  - url: https://www.trybloom.ai/api/v1
security:
  - apiKey: []
  - bearer: []
tags:
  - name: Account
    description: >-
      Inspect the authenticated account — profile, credit balance, and
      accessible workspaces.
  - name: Brands
    description: Manage brands and brand identity.
  - name: Images
    description: Generate, edit, and retrieve images.
paths:
  /brands/{id}/skill:
    get:
      tags:
        - Brands
      summary: Inspect a Brand's active Skill
      description: >-
        Return the complete active Brand Skill as one immutable snapshot. The
        result identifies the exact Skill and includes its safe structured
        profile, signed custom-font files, every Markdown file, and referenced
        Brand Library asset IDs. SKILL.md includes the canonical YAML
        frontmatter stored in the artifact. No model runs during inspection.
      operationId: brands.inspect
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
            description: Brand ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      schemaVersion:
                        const: 2
                        description: Response schema version
                      id:
                        type: string
                        format: uuid
                        description: Brand ID
                      skillId:
                        type: string
                        format: uuid
                        description: Canonical identity of this exact immutable Brand Skill
                      basedOnSkillId:
                        anyOf:
                          - type: string
                            format: uuid
                          - type: 'null'
                        description: >-
                          Base Skill ID this Skill was derived from, when
                          available
                      contentHash:
                        type: string
                        description: >-
                          Opaque checksum of the stored Skill artifact; use
                          skillId as the canonical snapshot identity
                      createdAt:
                        type: string
                        format: date-time
                        x-native-type: date
                        description: Time this immutable Skill was created
                      profile:
                        anyOf:
                          - type: object
                            properties:
                              name:
                                anyOf:
                                  - type: string
                                  - type: 'null'
                              primaryLogo:
                                anyOf:
                                  - type: object
                                    properties:
                                      assetId: {}
                                    additionalProperties: false
                                  - type: 'null'
                              colors:
                                anyOf:
                                  - type: array
                                    minItems: 1
                                    maxItems: 8
                                    items:
                                      type: object
                                      properties:
                                        hex:
                                          type: string
                                          pattern: ^#[0-9A-Fa-f]{6}$
                                      required:
                                        - hex
                                      additionalProperties: false
                                    readOnly: true
                                  - type: 'null'
                              typography:
                                type: object
                                properties:
                                  heading:
                                    anyOf:
                                      - anyOf:
                                          - type: object
                                            properties:
                                              source:
                                                const: google
                                              family:
                                                type: string
                                                minLength: 1
                                                maxLength: 120
                                            required:
                                              - source
                                              - family
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              source:
                                                const: custom
                                              family:
                                                type: string
                                                minLength: 1
                                                maxLength: 120
                                              files:
                                                type: array
                                                minItems: 1
                                                items:
                                                  type: object
                                                  properties:
                                                    url:
                                                      type: string
                                                      format: uri
                                                      description: >-
                                                        Temporary signed font URL; retrieve the
                                                        Skill again if the URL expires
                                                    mediaType:
                                                      type: string
                                                    byteLength:
                                                      type: integer
                                                      minimum: -9007199254740991
                                                      maximum: 9007199254740991
                                                      exclusiveMinimum: 0
                                                    sha256:
                                                      type: string
                                                      pattern: ^[a-f0-9]{64}$
                                                    format:
                                                      enum:
                                                        - ttf
                                                        - otf
                                                        - woff
                                                        - woff2
                                                      type: string
                                                    weight:
                                                      type: integer
                                                      minimum: 1
                                                      maximum: 1000
                                                    variable:
                                                      type: boolean
                                                    primary:
                                                      type: boolean
                                                  required:
                                                    - url
                                                    - mediaType
                                                    - byteLength
                                                    - sha256
                                                    - format
                                                    - weight
                                                    - variable
                                                    - primary
                                            required:
                                              - source
                                              - family
                                              - files
                                            additionalProperties: false
                                      - type: 'null'
                                  body:
                                    anyOf:
                                      - anyOf:
                                          - type: object
                                            properties:
                                              source:
                                                const: google
                                              family:
                                                type: string
                                                minLength: 1
                                                maxLength: 120
                                            required:
                                              - source
                                              - family
                                            additionalProperties: false
                                          - type: object
                                            properties:
                                              source:
                                                const: custom
                                              family:
                                                type: string
                                                minLength: 1
                                                maxLength: 120
                                              files:
                                                type: array
                                                minItems: 1
                                                items:
                                                  type: object
                                                  properties:
                                                    url:
                                                      type: string
                                                      format: uri
                                                      description: >-
                                                        Temporary signed font URL; retrieve the
                                                        Skill again if the URL expires
                                                    mediaType:
                                                      type: string
                                                    byteLength:
                                                      type: integer
                                                      minimum: -9007199254740991
                                                      maximum: 9007199254740991
                                                      exclusiveMinimum: 0
                                                    sha256:
                                                      type: string
                                                      pattern: ^[a-f0-9]{64}$
                                                    format:
                                                      enum:
                                                        - ttf
                                                        - otf
                                                        - woff
                                                        - woff2
                                                      type: string
                                                    weight:
                                                      type: integer
                                                      minimum: 1
                                                      maximum: 1000
                                                    variable:
                                                      type: boolean
                                                    primary:
                                                      type: boolean
                                                  required:
                                                    - url
                                                    - mediaType
                                                    - byteLength
                                                    - sha256
                                                    - format
                                                    - weight
                                                    - variable
                                                    - primary
                                            required:
                                              - source
                                              - family
                                              - files
                                            additionalProperties: false
                                      - type: 'null'
                                required:
                                  - heading
                                  - body
                            required:
                              - name
                              - primaryLogo
                              - typography
                            additionalProperties: false
                          - type: 'null'
                        description: >-
                          Structured Brand profile, including temporary signed
                          URLs for custom font files
                      files:
                        type: array
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                              description: Skill-relative Markdown file path
                            content:
                              type: string
                              description: Complete Markdown file contents
                            libraryAssetIds:
                              type: array
                              items:
                                type: string
                                format: uuid
                              description: Brand Library asset IDs referenced by this file
                          required:
                            - path
                            - content
                            - libraryAssetIds
                        description: Complete ordered Markdown file set for this Skill
                    required:
                      - schemaVersion
                      - id
                      - skillId
                      - basedOnSkillId
                      - contentHash
                      - createdAt
                      - profile
                      - files
                required:
                  - data
        '401':
          description: '401'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect401ErrorResponse'
        '403':
          description: '403'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect403ErrorResponse'
        '404':
          description: '404'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect404ErrorResponse'
        '409':
          description: '409'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect409ErrorResponse'
        '429':
          description: '429'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect429ErrorResponse'
          headers:
            Retry-After:
              description: >-
                Seconds until the API-key request limit resets. Present only
                when the request-rate limiter can calculate the delay.
              schema:
                type: integer
                minimum: 0
        '500':
          description: '500'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandsInspect500ErrorResponse'
components:
  schemas:
    BrandsInspect401ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: UNAUTHORIZED
                    status:
                      const: 401
                    message:
                      type: string
                      default: Invalid or missing API credentials
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    BrandsInspect403ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: ACCOUNT_BANNED
                    status:
                      const: 403
                    message:
                      type: string
                      default: This account has been suspended.
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      const: FORBIDDEN
                    status:
                      const: 403
                    message:
                      type: string
                      default: Plan upgrade required
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      const: BETA_ACCESS_REQUIRED
                    status:
                      const: 403
                    message:
                      type: string
                      default: Brand Skill access is not enabled for this workspace
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    BrandsInspect404ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: BRAND_NOT_FOUND
                    status:
                      const: 404
                    message:
                      type: string
                      default: Brand not found
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    BrandsInspect409ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: BRAND_SKILL_UNAVAILABLE
                    status:
                      const: 409
                    message:
                      type: string
                      default: Brand has no inspectable Skill
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    BrandsInspect429ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: TOO_MANY_REQUESTS
                    status:
                      const: 429
                    message:
                      type: string
                      default: Rate limit exceeded
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    BrandsInspect500ErrorResponse:
      type: object
      properties:
        error:
          allOf:
            - $ref: '#/components/schemas/ApiError'
            - anyOf:
                - type: object
                  properties:
                    code:
                      const: INTERNAL_ERROR
                    status:
                      const: 500
                    message:
                      type: string
                      default: Failed to inspect Brand
                    data: {}
                  required:
                    - code
                    - status
                    - message
                - type: object
                  properties:
                    code:
                      type: string
                    status:
                      type: integer
                    message:
                      type: string
                    data: {}
                  required:
                    - code
                    - status
                    - message
      required:
        - error
    ApiError:
      type: object
      properties:
        code:
          type: string
        status:
          type: integer
        message:
          type: string
        data: {}
      required:
        - code
        - status
        - message
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: 'Bloom API key, for example `x-api-key: bloom_sk_...`.'
    bearer:
      type: http
      scheme: bearer
      description: Bloom API key (`Bearer bloom_sk_...`) or Bloom OAuth access token.

````