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

# Lista as versões da regra de comissão de um tier (histórico imutável)

> Lista todas as versões da regra de comissão própria do tier, formando o histórico imutável (da mais recente à mais antiga).



## OpenAPI

````yaml /openapi.json get /programs/{programId}/tiers/{tierId}/commission-rules
openapi: 3.1.0
info:
  title: Repass API
  description: >-
    API pública do Repass — plataforma de gestão de afiliados: programas, links,
    tracking, atribuição, conversões, comissões, payouts, fiscal (BR),
    reprocessamento, event store e webhooks.
  version: 0.1.0
servers:
  - url: https://api.userepass.com
    description: Produção
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: Profile
    description: Perfil do usuário autenticado.
  - name: Guide
    description: >-
      Guia de onboarding do painel: estado de tours, telas visitadas e
      preferências por usuário e organização.
  - name: Portal
    description: >-
      Portal do afiliado: sessão por identidade de afiliado (sem org), convites
      e claim.
  - name: Programs
    description: 'Programas de afiliados: configuração, atribuição, hold e tiers.'
  - name: Commission Rules
    description: Regras de comissão versionadas (imutáveis) por programa.
  - name: Affiliates
    description: 'Ciclo de vida do afiliado: cadastro, aprovação, tier, saldo.'
  - name: Terms
    description: Termos do programa, versionados.
  - name: Materials
    description: >-
      Materiais (criativos) do programa: upload pelo gestor e download pelos
      afiliados.
  - name: Links
    description: Links rastreáveis e domínios de redirecionamento.
  - name: Coupons
    description: Cupons de afiliado e sync com gateway.
  - name: Pagamentos por PIX
    description: Habilitação de pagamentos por PIX (onboarding e documentos).
  - name: Tracking
    description: Endpoints públicos de redirect e registro de cliques.
  - name: Clicks
    description: Consulta de cliques e estatísticas de link.
  - name: Conversions
    description: 'Conversões: ingestão S2S, atribuição, matching, fraude e auditoria.'
  - name: Commissions
    description: Comissões calculadas, holds, aprovação, void e clawback.
  - name: Payouts
    description: Ciclos de pagamento, prévia, execução e comprovantes.
  - name: Invoices
    description: Notas fiscais (PJ), envio e validação (BR).
  - name: Fraud
    description: Fila de revisão e decisões de fraude.
  - name: Reprocess
    description: Reprocessamento com dry-run obrigatório e relatório de impacto.
  - name: Events
    description: Histórico de eventos para auditoria e consulta.
  - name: Notifications
    description: >-
      Notificações ao operador (falhas de sincronização, payouts e afins) —
      registro in-app espelhado por e-mail aos owners/admins.
  - name: Webhooks
    description: Endpoints de webhook, entregas, retries e dead-letter.
  - name: Ingest
    description: Ingestão de eventos de cobrança (S2S e gateways).
  - name: Settings
    description: Configurações por organização (políticas e integrações).
  - name: Billing
    description: 'Plano e cobrança: contadores de uso da organização para o painel.'
  - name: Dashboard
    description: >-
      Métricas agregadas da operação (receita, top afiliados, conversões,
      comissões, novos afiliados) para a home e os relatórios do gestor.
  - name: Health
    description: Liveness do serviço.
paths:
  /programs/{programId}/tiers/{tierId}/commission-rules:
    get:
      tags:
        - Commission Rules
      summary: Lista as versões da regra de comissão de um tier (histórico imutável)
      description: >-
        Lista todas as versões da regra de comissão própria do tier, formando o
        histórico imutável (da mais recente à mais antiga).
      operationId: listTierCommissionRules
      parameters:
        - schema:
            type: string
            pattern: ^prog_[0-9A-HJKMNP-TV-Z]{26}$
          in: path
          name: programId
          required: true
        - schema:
            type: string
            pattern: ^tier_[0-9A-HJKMNP-TV-Z]{26}$
          in: path
          name: tierId
          required: true
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: >-
                            Identificador único da regra de comissão (prefixo
                            `comm_` + ULID).
                          example: comm_01J9ZK8QF3N2P5R7T9V1W3X5Y7
                        programId:
                          type: string
                          description: Identificador do programa ao qual a regra pertence.
                          example: prog_01J9ZK8QF3N2P5R7T9V1W3X5Y7
                        version:
                          type: integer
                          minimum: -9007199254740991
                          maximum: 9007199254740991
                          description: >-
                            Versão da regra. Cada alteração cria uma nova versão
                            (regras são imutáveis).
                          example: 1
                        programTierId:
                          anyOf:
                            - type: string
                              pattern: ^tier_[0-9A-HJKMNP-TV-Z]{26}$
                            - type: 'null'
                          description: >-
                            Dono da regra: `null` = regra padrão do programa;
                            preenchido = histórico próprio do tier (prefixo
                            `tier_` + ULID).
                          example: null
                        type:
                          type: string
                          enum:
                            - percentage
                            - fixed
                            - tiered
                          description: >-
                            Tipo da regra: `percentage` (percentual sobre a
                            venda), `fixed` (valor fixo por conversão) ou
                            `tiered` (faixas por volume).
                          example: percentage
                        percentage:
                          anyOf:
                            - type: number
                              minimum: 0
                              maximum: 100
                              multipleOf: 0.01
                              description: >-
                                Percentual de comissão (0 a 100, com até 2 casas
                                decimais).
                              example: 15
                            - type: 'null'
                          description: >-
                            Percentual de comissão (apenas para regras
                            `percentage`).
                        fixedAmountCents:
                          anyOf:
                            - type: integer
                              minimum: -9007199254740991
                              maximum: 9007199254740991
                            - type: 'null'
                          description: Valor fixo em centavos (apenas para regras `fixed`).
                          example: 1990
                        recurrence:
                          oneOf:
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  description: >-
                                    Comissão paga uma única vez, na primeira
                                    conversão.
                                  enum:
                                    - one_time
                              required:
                                - kind
                              additionalProperties: false
                              description: 'Recorrência única: comissão paga apenas uma vez.'
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  description: >-
                                    Comissão paga em todas as renovações,
                                    indefinidamente.
                                  enum:
                                    - lifetime
                              required:
                                - kind
                              additionalProperties: false
                              description: >-
                                Recorrência vitalícia: comissão em todos os
                                ciclos.
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  description: Comissão paga por um número fixo de meses.
                                  enum:
                                    - months
                                months:
                                  type: integer
                                  minimum: 1
                                  maximum: 120
                                  description: >-
                                    Quantidade de meses em que a comissão é
                                    paga.
                                  example: 12
                              required:
                                - kind
                                - months
                              additionalProperties: false
                              description: >-
                                Recorrência por prazo: comissão paga por N
                                meses.
                            - type: object
                              properties:
                                kind:
                                  type: string
                                  description: >-
                                    Comissão com percentual que varia por ciclo
                                    de cobrança.
                                  enum:
                                    - decreasing
                                steps:
                                  minItems: 1
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      cycle:
                                        type: integer
                                        minimum: 1
                                        maximum: 9007199254740991
                                        description: >-
                                          Número do ciclo de cobrança (começa em
                                          1).
                                        example: 1
                                      percentage:
                                        type: number
                                        minimum: 0
                                        maximum: 100
                                        multipleOf: 0.01
                                        description: >-
                                          Percentual de comissão aplicado neste
                                          ciclo.
                                        example: 15
                                    required:
                                      - cycle
                                      - percentage
                                    additionalProperties: false
                                  description: >-
                                    Degraus de percentual por ciclo (pelo menos
                                    1).
                              required:
                                - kind
                                - steps
                              additionalProperties: false
                              description: >-
                                Recorrência decrescente: percentuais diferentes
                                por ciclo de cobrança.
                          description: Política de recorrência da comissão.
                        tiers:
                          anyOf:
                            - type: array
                              items:
                                type: object
                                properties:
                                  minCount:
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                    description: >-
                                      Volume mínimo de conversões para a faixa
                                      valer. A faixa-base usa `minCount: 0`.
                                    example: 0
                                  percentage:
                                    description: >-
                                      Percentual de comissão da faixa
                                      (alternativo a `fixedAmountCents`).
                                    type: number
                                    minimum: 0
                                    maximum: 100
                                    multipleOf: 0.01
                                    example: 15
                                  fixedAmountCents:
                                    description: >-
                                      Valor fixo de comissão da faixa, em
                                      centavos (alternativo a `percentage`).
                                      Ex.: 1990 = R$ 19,90.
                                    example: 1990
                                    type: integer
                                    minimum: 0
                                    maximum: 9007199254740991
                                required:
                                  - minCount
                                additionalProperties: false
                            - type: 'null'
                          description: Faixas de comissão (apenas para regras `tiered`).
                        applicableProductIds:
                          anyOf:
                            - type: array
                              items:
                                type: string
                            - type: 'null'
                          description: >-
                            IDs dos produtos aos quais a regra se aplica (null =
                            todos).
                        createdAt:
                          description: Data de criação desta versão da regra (ISO-8601).
                          example: '2026-06-13T12:00:00.000Z'
                          type: string
                          format: date-time
                      required:
                        - id
                        - programId
                        - version
                        - programTierId
                        - type
                        - percentage
                        - fixedAmountCents
                        - recurrence
                        - tiers
                        - applicableProductIds
                        - createdAt
                      additionalProperties: false
                required:
                  - data
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Chave de API (prefixo `rstr_`) enviada como `Authorization: Bearer
        rstr_...`.
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: Chave de API (prefixo `rstr_`) enviada no header `x-api-key`.

````