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

# List brand kits

> Read an organization's brand colours, logos and fonts.



## OpenAPI

````yaml /openapi.yaml get /api/v1/brands
openapi: 3.1.0
info:
  title: Pixy Public API
  version: 1.0.0
  description: >
    Public API for validating bearer API keys, browsing and duplicating saved

    designs, and generating rendered design output from a Pixy design or
    template.


    The first endpoint in this reference is the API key validation endpoint used
    by

    integrations such as Zapier. Design, template, duplicate, and generate
    endpoints

    follow after it.


    This specification documents the currently exposed public endpoints in

    `apps/pixy-web/app/api/(public)`.
servers:
  - url: https://app.pixy.art
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Auth
    description: Resolve the current user for a Pixy bearer API key.
  - name: Generate
    description: Render design output from a Pixy design or template.
  - name: Templates
    description: Browse public Pixy templates.
  - name: Designs
    description: Browse designs saved in your Pixy organization.
paths:
  /api/v1/brands:
    get:
      tags:
        - Brands
      summary: List brand kits
      description: |
        Returns the brand kits saved by the authenticated organization, with the
        logos, colours and fonts each one holds.

        The values come back ready to send straight back as modifications: every
        entry in `colors` is a hex value a `fill` takes, and every entry in
        `images` is a URL a `src` takes.

        When brand kits are created through the Embed editor with the optional
        `userId`, pass the same `userId` here to return only that embedder
        user's kits.
      operationId: listBrands
      parameters:
        - in: query
          name: userId
          required: false
          schema:
            type: string
            maxLength: 128
          description: >-
            Optional embedder-provided user identifier to return only brand kits
            created with the same Embed `userId`.
          example: user_123
        - in: query
          name: search
          required: false
          schema:
            type: string
          description: Search brand kits by name.
          example: acme
        - in: query
          name: page
          required: false
          schema:
            type: integer
            minimum: 0
            default: 0
          description: Zero-based page index.
          example: 0
        - in: query
          name: perPage
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 24
          description: Number of brand kits to return per page.
          example: 24
        - in: query
          name: orderBy
          required: false
          schema:
            type: string
            enum:
              - latest
              - oldest
            default: latest
          description: Sort by most recently updated, or oldest first.
          example: latest
      responses:
        '200':
          description: Successfully returned brand kits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandListResponse'
              examples:
                success:
                  value:
                    data:
                      - id: brn_123
                        name: Acme
                        description: Acme Corporation
                        url: https://acme.example.com
                        domain: acme.example.com
                        images:
                          - https://assets.example.com/brands/acme-logo.png
                        colors:
                          - '#6c3bf0'
                          - '#ff5c8a'
                        fonts:
                          heading:
                            fontFamily: Actor
                            fontSize: 150
                            fontWeight: 700
                            fontStyle: normal
                        socials:
                          instagram: https://instagram.com/acme
                        createdAt: '2026-05-11T10:00:00.000Z'
                        updatedAt: '2026-05-11T10:05:00.000Z'
                        userId: user_123
                    total: 1
                    page: 0
                    perPage: 24
                    userId: user_123
                    search: ''
        '400':
          description: The request parameters are invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                invalidRequest:
                  value:
                    message: Failed to load brand kits.
        '401':
          description: The bearer token is missing or invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              examples:
                unauthorized:
                  value:
                    message: Unauthorized
      security:
        - bearerAuth: []
      x-codeSamples:
        - lang: javascript
          label: npm / @pixy-art/sdk
          source: |
            import { Pixy } from '@pixy-art/sdk'

            const pixy = new Pixy({
              apiKey: 'YOUR_API_KEY',
            })

            const brands = await pixy.brands.list({
              // Optional: only kits created with this Embed userId.
              userId: 'YOUR_APP_USER_ID',
              perPage: 24,
            })

            const [brand] = brands.data

            // Brand values go straight back into a generate call.
            await pixy.generate(DESIGN_ID, [
              { id: TITLE_ID, fill: brand.colors[0] },
              { id: LOGO_ID, src: brand.images[0] },
            ])
components:
  schemas:
    BrandListResponse:
      type: object
      additionalProperties: false
      required:
        - data
        - total
        - page
        - perPage
        - userId
        - search
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/BrandListItem'
        total:
          type: integer
          description: Total matching brand kits.
        page:
          type: integer
          description: Zero-based page index.
        perPage:
          type: integer
          description: Page size used for the response.
        userId:
          type:
            - string
            - 'null'
          description: Embedder-provided user id filter, when supplied.
        search:
          type: string
          description: Search term used for the response.
    ErrorResponse:
      type: object
      additionalProperties: false
      required:
        - message
      properties:
        message:
          type: string
    BrandListItem:
      type: object
      additionalProperties: false
      required:
        - id
        - name
        - description
        - url
        - domain
        - images
        - colors
        - fonts
        - socials
        - createdAt
        - updatedAt
        - userId
      properties:
        id:
          type: string
          description: Brand kit identifier.
        name:
          type:
            - string
            - 'null'
          description: Brand kit name.
        description:
          type: string
        url:
          type: string
          description: The brand's website, when one was recorded.
        domain:
          type: string
        images:
          type: array
          description: Logo and asset URLs. Each one can be sent as a `src` modification.
          items:
            type: string
        colors:
          type: array
          description: >-
            Brand colours as hex values. Each one can be sent as a `fill`
            modification.
          items:
            type: string
        fonts:
          type: object
          description: Font settings keyed by role — `heading`, `subheading`, `text`.
          additionalProperties:
            $ref: '#/components/schemas/BrandFont'
        socials:
          type: object
          description: Social profile links, keyed by network.
          additionalProperties: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        userId:
          type:
            - string
            - 'null'
          description: >-
            Set when the kit was created through the Embed editor with a
            `userId`.
    BrandFont:
      type: object
      additionalProperties: true
      properties:
        fontFamily:
          type: string
        fontSize:
          type: number
        fontWeight:
          type:
            - number
            - string
        fontStyle:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Organization API key passed as a bearer token.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.