luniumpay-com Comissão (sub fee) API

A taxa que um parceiro põe por cima da taxa da Lunium, paga pelo usuário final dele, e o saque dessa comissão em cripto.

Operations 3

GET /comissao Saldo da sub fee (comissão do parceiro) #
GET /comissao/extrato Extrato da comissão #
POST /comissao/sacar Sacar a comissão em cripto #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/luniumpay-com:luniumpay-com-comiss-o-sub-fee-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

luniumpay-com-comiss-o-sub-fee-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Luniumpay Com Comissão (sub fee) API
  version: 1.48.0
  contact:
    name: Lunium
    email: contato@luniumpay.com
    url: https://luniumpay.com/integrar?utm_source=openapi&utm_medium=spec
  x-documentation-revision: 2026-09-17.4
  x-lunium-partners:
    name: Lunium Partners — comunidade oficial de integradores
    url: https://t.me/+FerOZMRRP_g5MDk5
    description: Avisos operacionais, mudanças de contrato e troca entre parceiros. Nunca publique uma chave de API no grupo.
  description: 'Operations tagged Comissão (sub fee) across 2 of this provider''s published API definitions: api.json, luniumpay-com-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.luniumpay.com
  description: Produção
security:
- ApiKey: []
tags:
- name: Comissão (sub fee)
  description: A taxa que um parceiro põe por cima da taxa da Lunium, paga pelo usuário final dele, e o saque dessa comissão em cripto.
paths:
  /comissao:
    get:
      tags:
      - Comissão (sub fee)
      summary: Saldo da sub fee (comissão do parceiro)
      security:
      - ApiKey: []
      description: 'Quatro subfees independentes: compra (partner_fee_bps), depósito Pix em saldo BRL (partner_deposito_fee_bps), venda (partner_cashout_fee_bps) e saída da custódia (partner_saque_fee_bps). Configure via PATCH /keys/me. Depósito credita comissão somente após Pix liberado e saldo creditado (paid/sent), uma vez por cobrança, com a taxa congelada na criação. Venda exige PIX pago; saída exige saque concluído. Não há cobrança retroativa. Limite e política de saque em politica.saque e min_saque_cents.'
      responses:
        '200':
          description: Saldo, política e minimo de saque
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Comissao'
        '401':
          description: Sem chave
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
      operationId: getComissao
      x-operation-id-source: derived
    servers:
    - url: https://api.luniumpay.com
      description: Produção
  /comissao/extrato:
    get:
      tags:
      - Comissão (sub fee)
      summary: Extrato da comissão
      security:
      - ApiKey: []
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
          default: 50
          maximum: 200
      - name: before
        in: query
        schema:
          type: string
        description: id do último item da página anterior
      responses:
        '200':
          description: Lançamentos, do mais recente para o mais antigo
          content:
            application/json:
              schema:
                type: object
                properties:
                  itens:
                    type: array
                    items:
                      $ref: '#/components/schemas/ComissaoEvento'
                  has_more:
                    type: boolean
                  next_before:
                    type:
                    - string
                    - 'null'
        '401':
          description: Sem chave
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
      operationId: getComissaoExtrato
      x-operation-id-source: derived
    servers:
    - url: https://api.luniumpay.com
      description: Produção
  /comissao/sacar:
    post:
      tags:
      - Comissão (sub fee)
      summary: Sacar a comissão em cripto
      security:
      - ApiKey: []
      description: 'Saque MANUAL da comissão, em cripto, na rede e moeda que você escolher (qualquer rota viva de GET /cashin/catalog). Sem taxa: a sub fee já foi paga pelo usuário final na própria operação. Mínimo US$ 10 pela cotação do momento (veja `min_saque_cents` em GET /comissao). Uma vez a cada 24 h (janela corrida). A entrega é a mesma do cash-in: acompanhe pelo `saque.cashin_id` em GET /cashin/{cashin_id}/status ou pelo webhook cashin.settled.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - amount_cents
              - payout_address
              properties:
                amount_cents:
                  type: integer
                  minimum: 1
                  description: Valor em centavos de REAL a converter (≥ min_saque_cents).
                asset:
                  type: string
                  default: usdt
                  description: usdt | usdc (Polygon) ou um ativo de GET /cashin/catalog.
                chain:
                  type: string
                  default: polygon
                payout_address:
                  type: string
                  description: Sua carteira na rede escolhida.
                payout_tag:
                  type: string
                  description: memo/tag nas redes que exigem.
                external_id:
                  type: string
                  maxLength: 64
                  description: Identificador idempotente de até 64 caracteres. Mantenha o mesmo identificador e todos os parâmetros nos retries. A comparação de divergência varia por rota; não use o replay para alterar uma operação. 409 external_id_divergente sinaliza conflito detectado.
      responses:
        '200':
          description: Saque criado e em entrega
          content:
            application/json:
              schema:
                type: object
                properties:
                  saque:
                    $ref: '#/components/schemas/Cobranca'
                  comissao:
                    $ref: '#/components/schemas/Comissao'
        '400':
          description: valor_invalido | valor_abaixo_do_minimo (traz min_saque_cents) | rede_indisponivel | asset_invalido | payout_address_invalido | sandbox_sem_saque
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '402':
          description: saldo_insuficiente — comissão disponível menor que o pedido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '409':
          description: external_id_divergente
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '429':
          description: saque_comissao_diario — traz proximo_saque_em
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
        '503':
          description: provedor_indisponivel — sem cotação para aferir o mínimo
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Erro'
      operationId: postComissaoSacar
      x-operation-id-source: derived
    servers:
    - url: https://api.luniumpay.com
      description: Produção
components:
  schemas:
    Cobranca:
      type: object
      description: Resposta de criação da cobrança, com QR. Para status/lista/webhook veja StatusCobranca.
      properties:
        cashin_id:
          type: string
          description: Identificador da cobrança (ci_…).
        status:
          type: string
          description: Estado do PIX. paid não comprova sozinho crédito/entrega; leia settlement_status.
          enum:
          - pending
          - delayed
          - under_review
          - paid
          - expired
          - refunded
          - failed
        amount_cents:
          type: integer
          description: Valor do PIX em centavos.
        destino:
          type: string
          description: cripto (entrega on-chain) ou saldo (credita a custódia BRL da chave, usável em POST /payouts e POST /saldo/sacar-cripto).
          enum:
          - cripto
          - saldo
        fonte:
          type: string
          enum:
          - pix
          - saldo
          description: 'Fonte do valor na criação: PIX ou saque do saldo.'
        customer_ref:
          type:
          - string
          - 'null'
          description: Sua referência do cliente final (subconta no saldo).
          maxLength: 80
        payout_address:
          type:
          - string
          - 'null'
          description: Carteira que recebe a cripto (destino=cripto).
        payout_tag:
          type:
          - string
          - 'null'
          description: Memo/tag da carteira de destino em redes coletivas (destino=cripto).
        chain:
          type: string
          description: Rede de entrega (id de GET /cashin/catalog).
        asset:
          type: string
          description: Ativo entregue (usdt, usdc, btc, …).
        lunium_fee_bps:
          type: integer
          description: Taxa percentual congelada na cobrança, em bps.
        lunium_fee_fixed_cents:
          type: integer
          description: Parcela fixa congelada na cobrança, em centavos.
        partner_fee_bps:
          type: integer
          description: Subfee exclusiva do depósito Pix em saldo BRL, em basis points (100 = 1%). Padrão 0, máximo 1000. Aplicada ao valor recebido após a taxa fixa Lunium, descontada antes do crédito no saldo. Independente de compra, venda e saque. Congelada na criação; comissão creditada somente após liberação e crédito concluído (paid/sent). Para compra direta, este campo congela partner_fee_bps.
        qr_copypaste:
          type:
          - string
          - 'null'
          description: PIX copia e cola na criação; null no saque custodial.
        qr_image_url:
          type:
          - string
          - 'null'
          description: Imagem do QR (PNG) — só na resposta da criação.
        external_id:
          type:
          - string
          - 'null'
          description: Identificador idempotente de até 64 caracteres. Mantenha o mesmo identificador e todos os parâmetros nos retries. A comparação de divergência varia por rota; não use o replay para alterar uma operação. 409 external_id_divergente sinaliza conflito detectado.
          maxLength: 64
        created_at:
          type:
          - string
          - 'null'
          format: date-time
        expires_at:
          type:
          - string
          - 'null'
          format: date-time
          description: Validade da própria cobrança; leia este timestamp, inclusive para validade estendida pelo bot.
        delay_until:
          type:
          - string
          - 'null'
          format: date-time
          description: Instante de liberação informado para retenção do provedor, quando disponível.
        liberar_em:
          type:
          - string
          - 'null'
          format: date-time
          description: Quando o crédito no saldo sai da carência. null quando já entra disponível (padrão desde 16/09/2026).
        hold_hours:
          type: integer
          description: Retenção local da cobrança em horas. Não é alias de held_hours nem da carência geral do saldo.
        held_hours:
          type: integer
          description: Retenção solicitada ao provedor. Pode ser zero enquanto existe retenção local (hold_hours/liberar_em).
        held:
          type: boolean
          description: true quando held_hours > 0. Isoladamente não revela retenção local.
        sandbox:
          type: boolean
          description: True for fictitious sandbox operations.
        simulation:
          type: object
          additionalProperties: true
        sandbox_payment:
          type: object
          properties:
            method:
              const: POST
            path:
              type: string
        timeline:
          type: array
          items:
            type: object
            additionalProperties: true
        delivery_mode:
          type: string
          enum:
          - full
          - split
          description: 'Só em chain="liquid": como o DePix foi entregue. Ausente nas outras redes.'
        net_cents:
          type: integer
          description: 'Só em chain="liquid" com delivery_mode="split": quanto o destinatário recebe em DePix, já sem a taxa. É este valor que a Lunium envia on-chain.'
        fee_total_cents:
          type: integer
          description: 'Só em chain="liquid" com delivery_mode="split": tudo que saiu do bruto (taxa fixa + percentual). net_cents + fee_total_cents == amount_cents.'
        lunium_fee_cents:
          type: integer
          minimum: 0
          description: Parte da taxa em centavos para depósito Pix em saldo BRL; calculada com os valores congelados da cobrança.
        partner_fee_cents:
          type: integer
          minimum: 0
          description: Parte da taxa em centavos para depósito Pix em saldo BRL; calculada com os valores congelados da cobrança.
    Comissao:
      type: object
      properties:
        disponivel_cents:
          type: integer
        creditado_cents:
          type: integer
        estornado_cents:
          type: integer
        sacado_cents:
          type: integer
        operacoes:
          type: integer
        ultimo_credito_em:
          type:
          - string
          - 'null'
          format: date-time
        moeda:
          type: string
        sandbox:
          type: boolean
        min_saque_cents:
          type:
          - integer
          - 'null'
          description: US$ 10 convertidos pela cotação de AGORA. null = sem cotação no momento (o saque recusa).
        pode_sacar_agora:
          type: boolean
        ultimo_saque_em:
          type:
          - string
          - 'null'
          format: date-time
        proximo_saque_em:
          type:
          - string
          - 'null'
          format: date-time
        politica:
          type: object
          properties:
            partner_deposito_fee_bps:
              type: integer
              minimum: 0
              maximum: 1000
              default: 0
              description: Subfee exclusiva do depósito Pix em saldo BRL, em basis points (100 = 1%). Padrão 0, máximo 1000. Aplicada ao valor recebido após a taxa fixa Lunium, descontada antes do crédito no saldo. Independente de compra, venda e saque. Congelada na criação; comissão creditada somente após liberação e crédito concluído (paid/sent).
      required:
      - disponivel_cents
      - creditado_cents
      - sacado_cents
      - operacoes
      - moeda
      - sandbox
      - pode_sacar_agora
      - politica
    Erro:
      type: object
      description: Erro da API; campos podem variar por caminho, inclusive respostas de infraestrutura. Combine código HTTP com erro e acao quando presentes; detail é para exibição, não decisão. Tolere códigos novos.
      properties:
        erro:
          type: string
          description: Codigo estavel de erro. Ramifique por ele, nunca pelo texto de detail. Esta lista e gerada a partir dos codigos que a API realmente emite.
          x-known-values:
          - amount_invalido
          - asset_invalido
          - br_code_indisponivel
          - br_code_invalido
          - br_code_sem_valor
          - brl_amount_invalido
          - campos_conflitantes
          - campos_obrigatorios
          - carencia_primeiro_deposito
          - carteira_indisponivel
          - carteira_nao_liberada
          - cashin_indisponivel
          - cashout_indisponivel
          - catalogo_indisponivel
          - chave_ausente
          - chave_desconhecida
          - chave_incorreta
          - chave_nao_encontrada
          - chave_obrigatoria
          - conflito
          - consulta_indisponivel
          - corpo_grande_demais
          - cotacao_divergente
          - cotacao_expirada
          - cotacao_indisponivel
          - cotacao_recusada
          - criacao_recusada
          - custodia_desligada
          - deposit_obrigatorio
          - destino_invalido
          - devolucao_indisponivel
          - documento_invalido
          - em_conciliacao
          - em_processamento
          - email_invalido
          - email_obrigatorio
          - endpoint_nao_respondeu
          - erro_interno
          - external_id_divergente
          - formato_invalido
          - funding_source_invalido
          - ja_entregue
          - limite_consultas
          - limite_de_chaves_teste
          - limite_diario
          - limite_diario_recebedor
          - limite_do_pagador
          - limite_indisponivel
          - liquidante_indisponivel
          - mandate_contraparte_nao_autorizada
          - mandate_valor_acima_do_teto
          - memo_obrigatorio
          - metodo_nao_permitido
          - muitas_tentativas
          - muitos_pedidos_abertos
          - nao_autenticado
          - nao_encontrado
          - nao_permitido
          - nao_processavel
          - origem_igual_destino
          - outcome_invalido
          - pagador_bloqueado
          - pagador_recusado_pelo_provedor
          - pagamentos_indisponiveis
          - payer_tax_invalido
          - payer_tax_number_invalido
          - payout_address_invalido
          - payout_address_obrigatorio
          - payout_nao_liberado
          - payout_recusado
          - pix_key_invalida
          - pix_key_obrigatoria
          - provedor_indisponivel
          - provedor_sem_resposta
          - rate_limit
          - rede_indisponivel
          - referencia_recusada
          - refund_address_imutavel
          - refund_address_invalida
          - requisicao_invalida
          - saldo_insuficiente
          - sandbox_sem_cashin
          - sandbox_sem_saldo
          - sandbox_sem_saque
          - saque_comissao_diario
          - saque_indisponivel
          - status_invalido
          - tax_number_obrigatorio
          - taxa_alterada
          - tempo_esgotado
          - temporariamente_indisponivel
          - tipo_ambiguo
          - valor_abaixo_do_minimo
          - valor_acima_do_maximo
          - valor_invalido
          - webhook_nao_configurado
          - webhook_url_invalida
        acao:
          type: string
          enum:
          - corrigir
          - repetir
          - esperar
          - parar
          - falar_com_suporte
          description: 'corrigir = o pedido esta errado, repetir identico nunca funciona · repetir = falha transitoria nossa, tente de novo · esperar = cota renova, volte depois · parar = nao repita, fale com a gente · falar_com_suporte = nao repita em laco; preserve request_id e external_id e encaminhe a Lunium (ex.: config_provedor).'
        detail:
          type: string
          description: Texto para humano. Nunca ramifique por ele.
        limits:
          type: object
          description: Presente nos erros de limite, ja convertido na moeda da ordem.
        docs:
          type: string
          format: uri
        request_id:
          type: string
          description: Identificador desta requisicao. Vai tambem no header X-Request-ID e e o que citar no suporte. Se voce enviar X-Request-ID no formato [A-Za-z0-9._:-]{8,64}, ele e preservado de ponta a ponta.
          examples:
          - req_62f05f21b3794830a241
        code:
          type: string
          deprecated: true
          description: 'Alias LEGADO de `erro` — SUNSET: deixa de ser enviado em 2026-11-09. NAO ramifique por ele; use `erro` (canonico). Nunca vem sem `erro`.'
    ComissaoEvento:
      type: object
      properties:
        id:
          type: string
        kind:
          type: string
          enum:
          - credito
          - estorno
          - saque
          - saque_estorno
        valor_cents:
          type: integer
          description: 'Com sinal: crédito +, estorno −, saque −, saque_estorno +.'
        sentido:
          type: string
          enum:
          - credito
          - debito
        origem_id:
          type: string
          description: ci_... da cobranca de compra ou do saque em cripto, po_... do saque por PIX, uuid da ordem de venda, ou o id do saque de comissao (kind saque).
        base_cents:
          type: integer
        partner_fee_bps:
          type: integer
        status:
          type: string
        motivo:
          type:
          - string
          - 'null'
          description: 'Origem do lancamento: vazio (compra), ''venda: cripto -> PIX'', ''saida: saque por PIX'', ''saida: saque em cripto'', ou o motivo do estorno.'
        criado_em:
          type: string
          format: date-time
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Chave criada em `POST /keys`. Aparece uma única vez — guarde no momento da criação.
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Your key. `lun_test_…` is sandbox (moves nothing); `lun_…` is production.
externalDocs:
  description: Mínimos e máximos por moeda e rede
  url: https://docs.luniumpay.com/minimos
x-refined-from:
- api.json
- luniumpay-com-openapi.json