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

# Create a brand

> Brands are the visual identity offers display under instead of your team name. Each team manages its own brands; names are matched case-insensitively within the team.



## OpenAPI

````yaml /openapi/openapi-provider.json post /provider/brands
openapi: 3.0.0
info:
  title: OfferGrid API
  description: >-
    **Provider API** - Create and manage service offerings, fulfill orders from
    resellers.


    As a provider, you can:

    - Create and publish service offerings (internet, electricity)

    - Control which resellers can access your offers (all, preferred, or
    selected)

    - View and manage orders from resellers

    - Update order fulfillment status and schedule installations

    - Track order lifecycle from pending to completion
  version: '1.0'
  contact: {}
servers:
  - url: https://api.offergrid.io
    description: Production
  - url: http://localhost:3000
    description: Local development
security: []
tags:
  - name: provider-offers
    description: 'Provider: Manage your service offerings'
  - name: provider-orders
    description: 'Provider: Fulfill orders from resellers'
paths:
  /provider/brands:
    post:
      tags:
        - provider-brands
      summary: Create a brand
      description: >-
        Brands are the visual identity offers display under instead of your team
        name. Each team manages its own brands; names are matched
        case-insensitively within the team.
      operationId: ProviderBrandsController_create
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateBrandDto'
      responses:
        '201':
          description: ''
        '409':
          description: Name already used by your team
      security:
        - api-key: []
components:
  schemas:
    CreateBrandDto:
      type: object
      properties:
        name:
          type: string
          description: >-
            Display name buyers see on offers using this brand. Matched
            case-insensitively within your team — creating a name your team
            already uses returns a conflict.
          example: Direct Energy
        imageUrl:
          type: string
          description: >-
            Logo image URL shown on buyer-facing offer cards. Must serve an
            actual image; cards fall back to name initials when it fails to
            load.
          example: https://cdn.example.com/logos/direct-energy.png
      required:
        - name
      title: Create Brand
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Team API key for authentication. Your team role
        (provider/reseller/hybrid) determines which endpoints you can access.

````