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

# Cadastrar influenciador

> Cadastra um influenciador com seus links (com encurtador e UTMs gerados pela Solomon), cupons e custos, tudo numa única requisição. As URLs passam por validação anti-SSRF (apenas HTTPS, host público). Requer o escopo `influencers.write`.



## OpenAPI

````yaml post /influencers
openapi: 3.1.0
info:
  title: Solomon Admin API
  description: API aberta para integração com a Solomon
  license:
    name: MIT
  version: 1.1.0
servers:
  - url: https://admin-api.sandbox.solomon.com.br/admin/v1
  - url: https://admin-api.solomon.com.br/admin/v1
security:
  - ApiKeyAuth: []
paths:
  /influencers:
    post:
      summary: Cadastrar influenciador
      description: >-
        Cadastra um influenciador com seus links (com encurtador e UTMs gerados
        pela Solomon), cupons e custos, tudo numa única requisição. As URLs
        passam por validação anti-SSRF (apenas HTTPS, host público). Requer o
        escopo `influencers.write`.
      operationId: createInfluencer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInfluencer'
            example:
              name: Duda Raiz
              campaign: Lançamento Verão
              category: influencer
              links:
                - url: https://www.sualoja.com.br/verao
              coupons:
                - cupom: DUDA10
                  start_date: '2026-08-01'
                  end_date: '2026-08-31'
              costs:
                - value: 500
                  frequency: monthly
                  start_date: '2026-08-01'
                  end_date: '2026-08-31'
                  is_campaign_cost: false
                  is_coupon_cost: false
      responses:
        '200':
          description: Influenciador criado; retorna as URLs curtas geradas
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShortUrlsResponse'
        '400':
          description: Erro de validação (URL, datas)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflito de período de cupom
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Erro interno do servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    CreateInfluencer:
      type: object
      required:
        - name
        - links
      properties:
        name:
          type: string
          description: Nome do influenciador (usado como `utm_campaign`)
        campaign:
          type: string
          description: Nome da campanha (usado como `utm_content`)
        category:
          type: string
          example: influencer
        campaign_id:
          type: string
          description: Opcional; gerado quando ausente.
        links:
          type: array
          minItems: 1
          items:
            type: object
            required:
              - url
            properties:
              url:
                type: string
                format: uri
                description: URL de destino (HTTPS, host público)
        coupons:
          type: array
          items:
            $ref: '#/components/schemas/CouponInput'
        costs:
          type: array
          items:
            $ref: '#/components/schemas/CostInput'
    ShortUrlsResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: array
          items:
            type: string
          description: URLs curtas geradas para os links.
          example:
            - track.solomon.com.br/nUzKKX
        request_id:
          type: string
        timestamp:
          type: string
    Error:
      type: object
      properties:
        success:
          type: boolean
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
        request_id:
          type: string
        timestamp:
          type: string
    CouponInput:
      type: object
      required:
        - cupom
      properties:
        cupom:
          type: string
          description: Código do cupom (armazenado em maiúsculas)
        start_date:
          type: string
          format: date
        end_date:
          type: string
          format: date
    CostInput:
      type: object
      required:
        - start_date
      description: >-
        Custo de influenciador. Deve ter ao menos uma taxa diferente de zero
        (`fixed_fee`, `var_fee` ou `value`).
      properties:
        fixed_fee:
          type: number
          description: Comissão fixa (R$)
        var_fee:
          type: number
          description: Comissão variável (%)
        value:
          type: number
          description: >-
            Valor por entrega (R$). Quando > 0, exige `frequency` e entra nos
            custos de marketing.
        start_date:
          type: string
          format: date
          description: Data inicial (obrigatória)
        end_date:
          type: string
          format: date
          description: Data final (opcional)
        frequency:
          type: string
          enum:
            - specific
            - daily
            - weekly
            - monthly
        is_campaign_cost:
          type: boolean
          description: >-
            true = custo de campanha (exige `campaign_id`); false = custo de
            nível influenciador.
        is_coupon_cost:
          type: boolean
          description: true = atribuição por cupom; false = por cupom + link.
  securitySchemes:
    ApiKeyAuth:
      type: http
      scheme: bearer
      description: API Key para autenticação

````