Suger · Capability
Suger API — Billing
Suger API — Billing. 15 operations. Lead operation: List Addons. Self-contained Naftiko capability covering one Suger business surface.
What You Can Do
GET
Listaddons
— List Addons
/v1/org/{orgid}/addon
POST
Createaddon
— Create Addon
/v1/org/{orgid}/addon
DELETE
Deleteaddon
— Delete Addon
/v1/org/{orgid}/addon/{addonid}
GET
Getaddon
— Get Addon
/v1/org/{orgid}/addon/{addonid}
PATCH
Updateaddon
— Update Addon
/v1/org/{orgid}/addon/{addonid}
GET
Listrefundofpaymenttransaction
— List Refunds.
/v1/org/{orgid}/buyer/{buyerid}/paymenttransaction/{paymenttransactionid}/refund
POST
Createrefund
— Create Refund.
/v1/org/{orgid}/buyer/{buyerid}/paymenttransaction/{paymenttransactionid}/refund
GET
Listinvoices
— List Invoices
/v1/org/{orgid}/invoice
GET
Getinvoice
— Get Invoice
/v1/org/{orgid}/invoice/{invoiceid}
PATCH
Updateinvoiceinfo
— Update Invoice Info
/v1/org/{orgid}/invoice/{invoiceid}/info
PATCH
Issueinvoice
— Issue Invoice
/v1/org/{orgid}/invoice/{invoiceid}/issue
PATCH
Payinvoice
— Pay Invoice
/v1/org/{orgid}/invoice/{invoiceid}/pay
GET
Previewinvoiceemail
— Preview Invoice Email
/v1/org/{orgid}/invoice/{invoiceid}/preview
PATCH
Voidinvoice
— Void Invoice
/v1/org/{orgid}/invoice/{invoiceid}/void
GET
Listpaymenttransactions
— List Payment Transactions
/v1/org/{orgid}/paymenttransaction
MCP Tools
list-addons
List Addons
read-only
idempotent
create-addon
Create Addon
delete-addon
Delete Addon
idempotent
get-addon
Get Addon
read-only
idempotent
update-addon
Update Addon
idempotent
list-refunds
List Refunds.
read-only
idempotent
create-refund
Create Refund.
list-invoices
List Invoices
read-only
idempotent
get-invoice
Get Invoice
read-only
idempotent
update-invoice-info
Update Invoice Info
idempotent
issue-invoice
Issue Invoice
idempotent
pay-invoice
Pay Invoice
idempotent
preview-invoice-email
Preview Invoice Email
read-only
idempotent
void-invoice
Void Invoice
idempotent
list-payment-transactions
List Payment Transactions
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Suger API — Billing
description: 'Suger API — Billing. 15 operations. Lead operation: List Addons. Self-contained Naftiko capability covering
one Suger business surface.'
tags:
- Suger
- Billing
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SUGER_API_KEY: SUGER_API_KEY
capability:
consumes:
- type: http
namespace: suger-billing
baseUri: https://api.suger.cloud
description: Suger API — Billing business capability. Self-contained, no shared references.
resources:
- name: org-orgId-addon
path: /org/{orgId}/addon
operations:
- name: listaddons
method: GET
description: List Addons
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: limit
in: query
type: integer
description: List pagination size, default 1000, max value is 1000
- name: offset
in: query
type: integer
description: List pagination offset, default 0
- name: createaddon
method: POST
description: Create Addon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-addon-addonId
path: /org/{orgId}/addon/{addonId}
operations:
- name: deleteaddon
method: DELETE
description: Delete Addon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: addonId
in: path
type: string
description: Addon ID
required: true
- name: getaddon
method: GET
description: Get Addon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: addonId
in: path
type: string
description: Addon ID
required: true
- name: updateaddon
method: PATCH
description: Update Addon
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: addonId
in: path
type: string
description: Addon ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-buyer-buyerId-paymentTransaction-paymentTransactionId-refund
path: /org/{orgId}/buyer/{buyerId}/paymentTransaction/{paymentTransactionId}/refund
operations:
- name: listrefundofpaymenttransaction
method: GET
description: List Refunds.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: buyerId
in: path
type: string
description: Buyer ID
required: true
- name: paymentTransactionId
in: path
type: string
description: Payment transaction ID
required: true
- name: createrefund
method: POST
description: Create Refund.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: buyerId
in: path
type: string
description: Buyer ID
required: true
- name: paymentTransactionId
in: path
type: string
description: Payment transaction ID
required: true
- name: amount
in: query
type: number
description: Refund amount
required: true
- name: org-orgId-invoice
path: /org/{orgId}/invoice
operations:
- name: listinvoices
method: GET
description: List Invoices
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: entitlementId
in: query
type: string
description: Optional, filter by the entitlement ID
- name: buyerId
in: query
type: string
description: Optional, filter by the given buyer ID
- name: status
in: query
type: string
description: Optional, filter by invoice status as filter, if not provided, all status invoices are returned
- name: limit
in: query
type: integer
description: List pagination size, default 1000, max value is 1000
- name: offset
in: query
type: integer
description: List pagination offset, default 0
- name: org-orgId-invoice-invoiceId
path: /org/{orgId}/invoice/{invoiceId}
operations:
- name: getinvoice
method: GET
description: Get Invoice
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: org-orgId-invoice-invoiceId-info
path: /org/{orgId}/invoice/{invoiceId}/info
operations:
- name: updateinvoiceinfo
method: PATCH
description: Update Invoice Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-invoice-invoiceId-issue
path: /org/{orgId}/invoice/{invoiceId}/issue
operations:
- name: issueinvoice
method: PATCH
description: Issue Invoice
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: org-orgId-invoice-invoiceId-pay
path: /org/{orgId}/invoice/{invoiceId}/pay
operations:
- name: payinvoice
method: PATCH
description: Pay Invoice
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: org-orgId-invoice-invoiceId-preview
path: /org/{orgId}/invoice/{invoiceId}/preview
operations:
- name: previewinvoiceemail
method: GET
description: Preview Invoice Email
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: org-orgId-invoice-invoiceId-void
path: /org/{orgId}/invoice/{invoiceId}/void
operations:
- name: voidinvoice
method: PATCH
description: Void Invoice
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: invoiceId
in: path
type: string
description: Invoice ID
required: true
- name: org-orgId-paymentTransaction
path: /org/{orgId}/paymentTransaction
operations:
- name: listpaymenttransactions
method: GET
description: List Payment Transactions
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: buyerId
in: query
type: string
description: Optional, filter by the given buyer ID
- name: entitlementId
in: query
type: string
description: Optional, filter by the given entitlement ID
- name: invoiceId
in: query
type: string
description: Optional, filter by the given invoice ID
- name: status
in: query
type: string
description: Optional, filter by status
- name: type
in: query
type: string
description: Optional, filter by transaction type
- name: limit
in: query
type: integer
description: List pagination size, default 1000, max value is 1000
- name: offset
in: query
type: integer
description: List pagination offset, default 0
authentication:
type: apikey
key: Authorization
value: '{{env.SUGER_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: suger-billing-rest
port: 8080
description: REST adapter for Suger API — Billing. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/org/{orgid}/addon
name: org-orgid-addon
description: REST surface for org-orgId-addon.
operations:
- method: GET
name: listaddons
description: List Addons
call: suger-billing.listaddons
with:
orgId: rest.orgId
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- method: POST
name: createaddon
description: Create Addon
call: suger-billing.createaddon
with:
orgId: rest.orgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/addon/{addonid}
name: org-orgid-addon-addonid
description: REST surface for org-orgId-addon-addonId.
operations:
- method: DELETE
name: deleteaddon
description: Delete Addon
call: suger-billing.deleteaddon
with:
orgId: rest.orgId
addonId: rest.addonId
outputParameters:
- type: object
mapping: $.
- method: GET
name: getaddon
description: Get Addon
call: suger-billing.getaddon
with:
orgId: rest.orgId
addonId: rest.addonId
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateaddon
description: Update Addon
call: suger-billing.updateaddon
with:
orgId: rest.orgId
addonId: rest.addonId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/buyer/{buyerid}/paymenttransaction/{paymenttransactionid}/refund
name: org-orgid-buyer-buyerid-paymenttransaction-paymenttransactionid-refund
description: REST surface for org-orgId-buyer-buyerId-paymentTransaction-paymentTransactionId-refund.
operations:
- method: GET
name: listrefundofpaymenttransaction
description: List Refunds.
call: suger-billing.listrefundofpaymenttransaction
with:
orgId: rest.orgId
buyerId: rest.buyerId
paymentTransactionId: rest.paymentTransactionId
outputParameters:
- type: object
mapping: $.
- method: POST
name: createrefund
description: Create Refund.
call: suger-billing.createrefund
with:
orgId: rest.orgId
buyerId: rest.buyerId
paymentTransactionId: rest.paymentTransactionId
amount: rest.amount
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice
name: org-orgid-invoice
description: REST surface for org-orgId-invoice.
operations:
- method: GET
name: listinvoices
description: List Invoices
call: suger-billing.listinvoices
with:
orgId: rest.orgId
entitlementId: rest.entitlementId
buyerId: rest.buyerId
status: rest.status
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}
name: org-orgid-invoice-invoiceid
description: REST surface for org-orgId-invoice-invoiceId.
operations:
- method: GET
name: getinvoice
description: Get Invoice
call: suger-billing.getinvoice
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}/info
name: org-orgid-invoice-invoiceid-info
description: REST surface for org-orgId-invoice-invoiceId-info.
operations:
- method: PATCH
name: updateinvoiceinfo
description: Update Invoice Info
call: suger-billing.updateinvoiceinfo
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}/issue
name: org-orgid-invoice-invoiceid-issue
description: REST surface for org-orgId-invoice-invoiceId-issue.
operations:
- method: PATCH
name: issueinvoice
description: Issue Invoice
call: suger-billing.issueinvoice
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}/pay
name: org-orgid-invoice-invoiceid-pay
description: REST surface for org-orgId-invoice-invoiceId-pay.
operations:
- method: PATCH
name: payinvoice
description: Pay Invoice
call: suger-billing.payinvoice
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}/preview
name: org-orgid-invoice-invoiceid-preview
description: REST surface for org-orgId-invoice-invoiceId-preview.
operations:
- method: GET
name: previewinvoiceemail
description: Preview Invoice Email
call: suger-billing.previewinvoiceemail
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/invoice/{invoiceid}/void
name: org-orgid-invoice-invoiceid-void
description: REST surface for org-orgId-invoice-invoiceId-void.
operations:
- method: PATCH
name: voidinvoice
description: Void Invoice
call: suger-billing.voidinvoice
with:
orgId: rest.orgId
invoiceId: rest.invoiceId
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/paymenttransaction
name: org-orgid-paymenttransaction
description: REST surface for org-orgId-paymentTransaction.
operations:
- method: GET
name: listpaymenttransactions
description: List Payment Transactions
call: suger-billing.listpaymenttransactions
with:
orgId: rest.orgId
buyerId: rest.buyerId
entitlementId: rest.entitlementId
invoiceId: rest.invoiceId
status: rest.status
type: rest.type
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: suger-billing-mcp
port: 9090
transport: http
description: MCP adapter for Suger API — Billing. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-addons
description: List Addons
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.listaddons
with:
orgId: tools.orgId
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: create-addon
description: Create Addon
hints:
readOnly: false
destructive: false
idempotent: false
call: suger-billing.createaddon
with:
orgId: tools.orgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-addon
description: Delete Addon
hints:
readOnly: false
destructive: true
idempotent: true
call: suger-billing.deleteaddon
with:
orgId: tools.orgId
addonId: tools.addonId
outputParameters:
- type: object
mapping: $.
- name: get-addon
description: Get Addon
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.getaddon
with:
orgId: tools.orgId
addonId: tools.addonId
outputParameters:
- type: object
mapping: $.
- name: update-addon
description: Update Addon
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-billing.updateaddon
with:
orgId: tools.orgId
addonId: tools.addonId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-refunds
description: List Refunds.
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.listrefundofpaymenttransaction
with:
orgId: tools.orgId
buyerId: tools.buyerId
paymentTransactionId: tools.paymentTransactionId
outputParameters:
- type: object
mapping: $.
- name: create-refund
description: Create Refund.
hints:
readOnly: false
destructive: false
idempotent: false
call: suger-billing.createrefund
with:
orgId: tools.orgId
buyerId: tools.buyerId
paymentTransactionId: tools.paymentTransactionId
amount: tools.amount
outputParameters:
- type: object
mapping: $.
- name: list-invoices
description: List Invoices
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.listinvoices
with:
orgId: tools.orgId
entitlementId: tools.entitlementId
buyerId: tools.buyerId
status: tools.status
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: get-invoice
description: Get Invoice
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.getinvoice
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
outputParameters:
- type: object
mapping: $.
- name: update-invoice-info
description: Update Invoice Info
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-billing.updateinvoiceinfo
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: issue-invoice
description: Issue Invoice
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-billing.issueinvoice
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: pay-invoice
description: Pay Invoice
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-billing.payinvoice
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
outputParameters:
- type: object
mapping: $.
- name: preview-invoice-email
description: Preview Invoice Email
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.previewinvoiceemail
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
outputParameters:
- type: object
mapping: $.
- name: void-invoice
description: Void Invoice
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-billing.voidinvoice
with:
orgId: tools.orgId
invoiceId: tools.invoiceId
outputParameters:
- type: object
mapping: $.
- name: list-payment-transactions
description: List Payment Transactions
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-billing.listpaymenttransactions
with:
orgId: tools.orgId
buyerId: tools.buyerId
entitlementId: tools.entitlementId
invoiceId: tools.invoiceId
status: tools.status
type: tools.type
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.