Pular para o conteúdo principal

kobana billing plans

Comandos de kobana billing plans. Toda opção global (Opções globais) vale aqui.

ComandoHTTPDescrição
plans bulk deleteDELETE /v1/plans/bulkExcluir planos em lote
plans itemsGET /v1/plans/{id}/itemsListar itens do plano
plans items updatePUT /v1/plans/{id}/itemsSubstituir itens do plano
plans listGET /v1/plansListar planos
plans createPOST /v1/plansCriar plano
plans updatePUT /v1/plansCriar ou atualizar plano
plans bulk-archivePOST /v1/plans/bulk-archiveArquivar planos em lote
plans bulk-move-groupPOST /v1/plans/bulk-move-groupMover planos para outro grupo em lote
plans getGET /v1/plans/{id}Obter plano
plans deleteDELETE /v1/plans/{id}Excluir plano
plans archivePOST /v1/plans/{id}/archiveArquivar plano
plans duplicatePOST /v1/plans/{id}/duplicateDuplicar plano

plans bulk delete​

Excluir planos em lote

kobana billing plans bulk delete [OPÇÕES]

DELETE /v1/plans/bulk

Exclui os planos informados (soft delete: deleted_at, mesmo efeito de DELETE /v1/plans/{id} em cada um). Planos com assinatura que não esteja cancelada são pulados e retornados em skipped_ids. Exige o nível de acesso delete. Substitui POST /v1/plans/bulk-delete, removido.

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simLista de UUIDs de planos. Mínimo 1.

Outros campos e objetos aninhados: kobana schema billing.plans.bulk.delete.

Respostas

HTTPDescrição
200Resumo da exclusão em lote.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans items​

Listar itens do plano

kobana billing plans items [ID] [OPÇÕES] [COMANDO]

GET /v1/plans/{id}/items

Argumentos do caminho: id

Respostas

HTTPDescrição
200Lista de itens do plano.
404Recurso não encontrado na organização atual.

plans items update​

Substituir itens do plano

kobana billing plans items update [ID] [OPÇÕES]

PUT /v1/plans/{id}/items

Substitui de forma atômica todos os itens do plano. Apenas produtos raiz são aceitos e cada product_id deve ser único na lista.

Argumentos do caminho: id

Corpo da requisição

NomeTipoObrigatórioDescrição
itemsarray<object>sim

Outros campos e objetos aninhados: kobana schema billing.plans.items.update.

Respostas

HTTPDescrição
200Itens do plano substituídos.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans list​

Listar planos

kobana billing plans list [OPÇÕES]

GET /v1/plans

Retorna uma lista paginada dos planos da organização atual.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
pageintegernãoPágina (começa em 1). Padrão: 1.
per_pageintegernãoItens por página. Padrão: 20. Máximo: 100.
sort_bystringnãoCampo de ordenação. Padrão depende do recurso.
sort_orderstringnãoDireção da ordenação. Padrão: desc. Valores: asc, desc.
person_idstringnãoFiltra por UUID da pessoa associada.
person_document_numberstringnãoFiltra por CPF/CNPJ da pessoa (exato).
person_name_containsstringnãoFiltra por nome da pessoa (busca parcial, sem distinção de maiúsculas).
statusstringnãoFiltra por status do plano. Valores: draft, active, archived.
plan_typestringnãoFiltra por tipo do plano. Valores: standard, custom, promotional.
visibilitystringnãoFiltra por visibilidade. Valores: public, private.
plan_group_idstringnãoFiltra por grupo de planos.
company_idstringnãoFiltra por empresa emissora.
billing_account_idstringnãoFiltra planos custom associados a uma conta de cobrança.
scoped_billing_account_idstringnãoRetorna planos disponíveis para a conta de cobrança informada (padrão + custom da conta).
exclude_custom_plansstringnãoQuando true, exclui planos do tipo custom dos resultados. Valores: true, false.
default_billing_cyclestringnãoFiltra por periodicidade de cobrança padrão do plano. Valores: monthly, quarterly, semiannual, annual.
external_idstringnãoFiltra pelo identificador externo do plano.
slugstringnãoFiltra pelo slug do plano.
searchstringnãoBusca textual livre.
created_afterstringnãoData de criação inicial do intervalo (YYYY-MM-DD).
created_beforestringnãoData de criação final do intervalo (YYYY-MM-DD).
updated_afterstringnãoData de atualização inicial do intervalo (YYYY-MM-DD).
updated_beforestringnãoData de atualização final do intervalo (YYYY-MM-DD).

Respostas

HTTPDescrição
200Lista paginada de planos.
404Recurso não encontrado na organização atual.

plans create​

Criar plano

kobana billing plans create [OPÇÕES]

POST /v1/plans

Cria um plano para a organização autenticada.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringsim
slugstringsimApenas letras minúsculas, dígitos e hífens.
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
company_idstring (uuid)não
plan_group_idstring (uuid)não
descriptionstringnão
statusstringnãoValores: draft, active, archived.
plan_typestringnãoPadrão: standard. Valores: standard, custom, promotional.
billing_account_idstring (uuid)não
visibilitystringnãoPadrão: public. Valores: public, private.
featuresarray<string>não
limitsobjectnão
trial_period_daysintegernão
default_billing_cyclestringnãoValores: monthly, quarterly, semiannual, annual.
available_billing_cyclesarray<string>não
itemsarray<object>não
custom_metadataobjectnãoMetadados customizados em formato livre (object).

Outros campos e objetos aninhados: kobana schema billing.plans.create.

Respostas

HTTPDescrição
201Plano criado.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans update​

Criar ou atualizar plano

kobana billing plans update [OPÇÕES]

PUT /v1/plans

Recebe o mesmo corpo do POST, acrescido de id e public_id, e deduplica por id, public_id, external_id e as chaves naturais do recurso, nesta ordem, parando na primeira que encontrar um registro. Se encontrar, atualiza e responde 200; se não, cria e responde 201. Os campos obrigatórios do POST só são exigidos quando nenhum registro é encontrado, e a atualização é parcial: campos ausentes mantêm o valor atual.

Corpo da requisição

NomeTipoObrigatórioDescrição
external_idstringnãoIdentificador no seu sistema externo, para idempotência/sincronização.
company_idstring (uuid)não
plan_group_idstring (uuid)não
namestringnão
slugstringnãoApenas letras minúsculas, dígitos e hífens.
descriptionstringnão
statusstringnãoValores: draft, active, archived.
plan_typestringnãoPadrão: standard. Valores: standard, custom, promotional.
billing_account_idstring (uuid)não
visibilitystringnãoPadrão: public. Valores: public, private.
featuresarray<string>não
limitsobjectnão
trial_period_daysintegernão
default_billing_cyclestringnãoValores: monthly, quarterly, semiannual, annual.
available_billing_cyclesarray<string>não
itemsarray<object>não
custom_metadataobjectnãoMetadados customizados em formato livre (object).
idstring (uuid)nãoUUID do registro. Usado apenas para localizá-lo — nunca é gravado.
public_idstring (uuid)nãoUUID público do registro, usado para localizá-lo.

Outros campos e objetos aninhados: kobana schema billing.plans.update.

Respostas

HTTPDescrição
200Registro atualizado.
201Registro criado.
400Corpo da requisição falhou na validação.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans bulk-archive​

Arquivar planos em lote

kobana billing plans bulk-archive [OPÇÕES]

POST /v1/plans/bulk-archive

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>simLista de UUIDs de planos. Mínimo 1.

Outros campos e objetos aninhados: kobana schema billing.plans.bulk-archive.

Respostas

HTTPDescrição
200Resumo do arquivamento em lote.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans bulk-move-group​

Mover planos para outro grupo em lote

kobana billing plans bulk-move-group [OPÇÕES]

POST /v1/plans/bulk-move-group

Corpo da requisição

NomeTipoObrigatórioDescrição
idsarray<string (uuid)>sim
plan_group_idstring (uuid)simUUID do grupo destino. Use null para remover o agrupamento.

Outros campos e objetos aninhados: kobana schema billing.plans.bulk-move-group.

Respostas

HTTPDescrição
200Resumo da movimentação em lote.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans get​

Obter plano

kobana billing plans get [ID] [OPÇÕES]

GET /v1/plans/{id}

Argumentos do caminho: id

Respostas

HTTPDescrição
200Detalhe do plano.
404Recurso não encontrado na organização atual.

plans delete​

Excluir plano

kobana billing plans delete [ID] [OPÇÕES]

DELETE /v1/plans/{id}

Exclui o plano (soft delete: deleted_at, ele some de toda leitura; as regras de mudança de plano que o citam são removidas). Exige o nível de acesso delete. Retorna 422 enquanto houver assinatura no plano que não esteja cancelada. Até outubro de 2026 esta rota arquivava o plano, ou excluía um rascunho com ?hard=true (o parâmetro deixou de existir) — arquivar é POST /v1/plans/{id}/archive, reversível.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Plano excluído.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans archive​

Arquivar plano

kobana billing plans archive [ID] [OPÇÕES]

POST /v1/plans/{id}/archive

Arquiva o plano: ele continua listado e pode ser restaurado, mas não aceita novas assinaturas; as existentes seguem cobrando. Retorna 422 enquanto houver assinaturas ativas no plano. Exige o nível de acesso write.

Argumentos do caminho: id

Respostas

HTTPDescrição
200Plano arquivado.
404Recurso não encontrado na organização atual.
422Corpo da requisição falhou na validação.

plans duplicate​

Duplicar plano

kobana billing plans duplicate [ID] [OPÇÕES]

POST /v1/plans/{id}/duplicate

Cria uma cópia do plano (incluindo seus itens) no estado de rascunho.

Argumentos do caminho: id

Respostas

HTTPDescrição
201Plano duplicado.
404Recurso não encontrado na organização atual.