---
title: "Inspect a Brand Skill"
method: GET
path: "/brands/{id}/skill"
tags: ["Brands"]
---

# Inspect a Brand Skill

`GET /brands/{id}/skill`

## Request

- Base URL: `https://www.rainbrand.com/api/v1`
- URL: `https://www.rainbrand.com/api/v1/brands/{id}/skill`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://www.rainbrand.com/api/auth/oauth2/authorize`
    - Token URL: `https://www.rainbrand.com/api/auth/oauth2/token`

Retrieve the complete active Brand Skill as an immutable snapshot of the brand's profile, guidance, and assets. For a ZIP, [export the Brand Skill](/api-reference/brands/export-a-brand-skill).

## Path parameters

- `id` string, uuid, required: Brand ID

## Response `200`

OK

- object
  - `data` object, required
    - `schemaVersion` unknown, required
    - `id` string, uuid, required: Brand ID
    - `skillId` string, uuid, required: Canonical identity of this complete immutable Brand Skill; use it for caching and versioning
    - `basedOnSkillId` string, uuid, nullable, required: Base Skill ID this Skill was derived from, when available
    - `createdAt` string, date-time, required: Time this immutable Skill was created
    - `profile` object, nullable, required: Structured brand profile, including temporary signed URLs for custom font files
      - `name` string, nullable, required
      - `primaryLogo` object, nullable, required
        - `assetId` unknown
      - `colors` object[], nullable
        - `hex` string, required: Six-digit HEX color value, including the leading #.
        - `name` string: The color's name, when established by the source.
        - `group` string: The source's palette group label. Omit when the source does not group this color.
        - `usage` string: Source-supported guidance on when and how to use this color.
      - `gradients` object[], required: The Brand's evidenced linear gradients in source order, including exact angles, stops, and usage guidance.
        - `name` string, required: The gradient's name, as established by the source.
        - `angle` number, required: The linear gradient's angle in degrees, from 0 up to but not including 360.
        - `stops` object[], required: At least two color stops in non-decreasing position order. Adjacent stops may share a position to create a hard transition.
          - `hex` string, required: Six-digit HEX color value for this stop, including the leading #.
          - `position` number, required: The stop's position as a percentage from 0 to 100.
        - `usage` string: Source-supported guidance on when and how to use this gradient.
      - `typography` object, required
        - `heading` union, required: Deprecated. Font of the role named Heading, if any.
          - object
            - `family` string, required
            - `status` 'unavailable', required
            - `reason` string, required
          - object
            - `source` 'google', required
            - `family` string, required
            - `weight` integer: The weight to use from this Google Fonts family, such as 400 for regular or 700 for bold.
            - `specimen` object: A font specimen: a PNG rendered from this Google Fonts family at the specified weight.
              - …
          - object
            - `source` 'custom', required
            - `family` string, required
            - `files` object[], required
              - …
        - `body` union, required: Deprecated. Font of the role named Body, if any.
          - object
            - `family` string, required
            - `status` 'unavailable', required
            - `reason` string, required
          - object
            - `source` 'google', required
            - `family` string, required
            - `weight` integer: The weight to use from this Google Fonts family, such as 400 for regular or 700 for bold.
            - `specimen` object: A font specimen: a PNG rendered from this Google Fonts family at the specified weight.
              - …
          - object
            - `source` 'custom', required
            - `family` string, required
            - `files` object[], required
              - …
        - `roles` object[], required: The brand's typography roles, most prominent first.
          - `name` string, required: The brand's name for this typography role, such as Eyebrow.
          - `weight` integer, nullable, required: Font weight for this role, or null when unspecified.
          - `font` union, required
            - object
              - …
            - object
              - …
            - object
              - …
      - `logoCatalog` object, nullable, required: Supported logos saved with this Brand Skill version. Null means no catalog was published; an empty items array explicitly records no supported logos. Asset URLs are temporary. Follow exact caller selection and relevant Brand Skill guidance before visibility hints, with the primary logo as a general fallback.
        - `primaryLogoImageId` string, uuid, nullable, required
        - `items` object[], required
          - `imageId` string, uuid, required
          - `form` 'icon' | 'wordmark' | 'lockup', required
          - `contrastsBestOn` string[], nullable, required: Backgrounds that independently pass the visibility check for a transparent logo. An empty array means neither passes. Null means analysis was unavailable for a transparent asset or does not apply to an opaque asset. This heuristic does not establish Brand approval.
          - `asset` object, required
            - `path` string, required
            - `mediaType` string, required
            - `byteLength` integer, required
            - `sha256` string, required
            - `width` integer, required
            - `height` integer, required
            - `aspectRatio` number, required
            - `hasTransparency` boolean, required
            - `url` string, uri, required: Temporary signed URL for the logo bytes saved with this Brand Skill version. Read the version again to refresh an expired URL.
    - `files` union[], required: Every file in this Skill: Markdown files in order with their contents, then images, fonts, and font specimens with download URLs
      - union
        - object
          - `path` string, required: Skill-relative Markdown file path
          - `mediaType` 'text/markdown', required
          - `kind` 'text', required
          - `byteLength` integer, required: The size of the Markdown file in bytes.
          - `content` string, required: Complete Markdown file contents
          - `libraryAssetIds` string[], required: Brand Library asset IDs referenced by this file
        - object
          - `path` string, required: Skill-relative image, font, or other file path
          - `mediaType` string, required
          - `kind` 'image' | 'font' | 'other', required
          - `byteLength` integer: The size of the file in bytes. Omitted for font specimens.
          - `description` string: What an image or font specimen shows, when recorded.
          - `url` string, uri, required: Temporary signed download URL; retrieve the Skill again if the URL expires

## Other responses

- `401`: 401
- `403`: 403
- `404`: 404
- `409`: 409
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/rainbrand/apis/rainbrand-api.md) - [All operations](https://skmtc.dev/rainbrand/apis/rainbrand-api/llms.txt) - [OpenAPI document](https://skmtc.dev/rainbrand/apis/rainbrand-api/revisions/012b8e9da4df?raw)
