{"id":18716338,"url":"https://github.com/killbill/kbcli","last_synced_at":"2025-10-19T16:56:02.079Z","repository":{"id":36380514,"uuid":"40685386","full_name":"killbill/kbcli","owner":"killbill","description":"GO client library for Kill Bill","archived":false,"fork":false,"pushed_at":"2024-01-04T20:07:50.000Z","size":2395,"stargazers_count":24,"open_issues_count":6,"forks_count":17,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T08:12:18.611Z","etag":null,"topics":["billing","killbill","payments","subscriptions"],"latest_commit_sha":null,"homepage":"https://killbill.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/killbill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-08-13T22:56:26.000Z","updated_at":"2023-05-01T07:45:37.000Z","dependencies_parsed_at":"2024-06-18T21:17:04.287Z","dependency_job_id":"7839a5b0-731b-40b2-b425-6b178c7ec7f4","html_url":"https://github.com/killbill/kbcli","commit_stats":{"total_commits":97,"total_committers":7,"mean_commits":"13.857142857142858","dds":0.6082474226804124,"last_synced_commit":"90fc80f348cd6b4ca783101fefc9dc121e2085a3"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killbill%2Fkbcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killbill%2Fkbcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killbill%2Fkbcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/killbill%2Fkbcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/killbill","download_url":"https://codeload.github.com/killbill/kbcli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248573410,"owners_count":21126824,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["billing","killbill","payments","subscriptions"],"created_at":"2024-11-07T13:12:19.885Z","updated_at":"2025-10-19T16:56:01.982Z","avatar_url":"https://github.com/killbill.png","language":"Go","readme":"# Kill Bill go client library and kill bill command line\nThis repository contains killbill go client library (kbclient)\nand killbill command line tool (kbcmd)\n\n## Versions\n\n| KB Version | KBCli Version |\n|------------|---------------|\n| 0.20.x     | 1.x.y         |\n| 0.22.x     | 2.x.y         |\n| 0.24.x     | 3.x.y         |\n\n\n\n## Kill bill go client library\nKill bill go client library is a go package that can be used to connect to Kill Bill server.\n\n### Install\n```bash\ngo get -u github.com/killbill/kbcli/v3\n```\n\n### Creating new client\n```go\n    trp := httptransport.New(\"127.0.0.1:8080\", \"\", nil)\n    // Add text/xml producer which is not handled by openapi runtime.\n    trp.Producers[\"text/xml\"] = runtime.TextProducer()\n    // Set this to true to dump http messages\n    trp.Debug = false\n    // Authentication\n    authWriter := runtime.ClientAuthInfoWriterFunc(func(r runtime.ClientRequest, _ strfmt.Registry) error {\n        encoded := base64.StdEncoding.EncodeToString([]byte(\"admin\"/*username*/ + \":\" + \"password\" /**password*/))\n        if err := r.SetHeaderParam(\"Authorization\", \"Basic \"+encoded); err != nil {\n            return err\n        }\n        if err := r.SetHeaderParam(\"X-KillBill-ApiKey\", apiKey); err != nil {\n            return err\n        }\n        if err := r.SetHeaderParam(\"X-KillBill-ApiSecret\", apiSecret); err != nil {\n            return err\n        }\n        return nil\n    })\n    client := kbclient.New(trp, strfmt.Default, authWriter, kbclient.KillbillDefaults{})\n```\n\nLook at the [complete example here](examples/listaccounts/main.go).\nFor more examples, look at [kbcmd tool](kbcmd/README.md).\n\n### Wrapper client\n\nWe also provide a client wrapper (a higher level and easier to use api) that is built (not generated) on top of the generated code.\nSee the package `killbill` package under the `wrapper` directory.\n\nThere is a suite of test `client_test.go` that shows how to use it.\n\n### Client code generation\n\nWe use a forked version of the `go-swagger` client hosted under https://github.com/killbill/go-swagger.\nEvery so often we rebase our fork from upstream to keep it up-to-date. Given a version of a `swagger` binary, the\nclient can be regenarated using:\n\n`swagger  generate client -f kbswagger.yaml -m kbmodel -c kbclient --default-scheme=http`\n\n\n### Generating dev extensions\nWe also have dev extension APIs (like clock etc), that are in swagger-dev.json. To generate,\nrun the following.\n\n```bash\n# Regenerate the tool\nswagger generate client -f swagger-dev.json -m kbmodel -c kbclient --default-scheme=http\n\n# Delete the client file.\nrm kbclient/kill_bill_dev_client.go\n```\n\n## Kill bill command line tool (kbcmd)\nkbcmd is a command line tool that uses the go client library. This tool can do many of the\nkill bill operations. More details are [available here in README](kbcmd/README.md).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillbill%2Fkbcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkillbill%2Fkbcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkillbill%2Fkbcli/lists"}