Suger · Capability
Suger API — Product
Suger API — Product. 11 operations. Lead operation: Create Or Update Draft Product. Self-contained Naftiko capability covering one Suger business surface.
What You Can Do
POST
Createorupdatedraftproduct
— Create Or Update Draft Product
/v1/org/{orgid}/draftproduct
GET
Listproductsbypartner
— List Products By Partner
/v1/org/{orgid}/partner/{partner}/product
GET
Listproducts
— List Products
/v1/org/{orgid}/product
POST
Createproduct
— Create Product
/v1/org/{orgid}/product
DELETE
Deleteproduct
— Delete Product
/v1/org/{orgid}/product/{productid}
GET
Getproduct
— Get Product
/v1/org/{orgid}/product/{productid}
PATCH
Updateproduct
— Update Product
/v1/org/{orgid}/product/{productid}
GET
Listproductmeteringdimensions
— List Metering Dimensions Of Product
/v1/org/{orgid}/product/{productid}/dimension
PATCH
Updateproductfulfillmenturl
— Update Product Fulfillment Url
/v1/org/{orgid}/product/{productid}/fulfillmenturl
PATCH
Updateproductmetainfo
— Update Product Meta Info
/v1/org/{orgid}/product/{productid}/metainfo
PATCH
Publishproduct
— Publish Product
/v1/org/{orgid}/product/{productid}/publish
MCP Tools
create-update-draft-product
Create Or Update Draft Product
list-products-partner
List Products By Partner
read-only
idempotent
list-products
List Products
read-only
idempotent
create-product
Create Product
delete-product
Delete Product
idempotent
get-product
Get Product
read-only
idempotent
update-product
Update Product
idempotent
list-metering-dimensions-product
List Metering Dimensions Of Product
read-only
idempotent
update-product-fulfillment-url
Update Product Fulfillment Url
idempotent
update-product-meta-info
Update Product Meta Info
idempotent
publish-product
Publish Product
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Suger API — Product
description: 'Suger API — Product. 11 operations. Lead operation: Create Or Update Draft Product. Self-contained Naftiko
capability covering one Suger business surface.'
tags:
- Suger
- Product
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SUGER_API_KEY: SUGER_API_KEY
capability:
consumes:
- type: http
namespace: suger-product
baseUri: https://api.suger.cloud
description: Suger API — Product business capability. Self-contained, no shared references.
resources:
- name: org-orgId-draftProduct
path: /org/{orgId}/draftProduct
operations:
- name: createorupdatedraftproduct
method: POST
description: Create Or Update Draft Product
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-partner-partner-product
path: /org/{orgId}/partner/{partner}/product
operations:
- name: listproductsbypartner
method: GET
description: List Products By Partner
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: partner
in: path
type: string
description: Cloud Partner
required: true
- name: org-orgId-product
path: /org/{orgId}/product
operations:
- name: listproducts
method: GET
description: List Products
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: partner
in: query
type: string
description: filter by partner
- name: limit
in: query
type: integer
description: List pagination size, default 100, max value is 1000
- name: offset
in: query
type: integer
description: List pagination offset, default 0
- name: createproduct
method: POST
description: Create Product
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-product-productId
path: /org/{orgId}/product/{productId}
operations:
- name: deleteproduct
method: DELETE
description: Delete Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: getproduct
method: GET
description: Get Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: updateproduct
method: PATCH
description: Update Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-product-productId-dimension
path: /org/{orgId}/product/{productId}/dimension
operations:
- name: listproductmeteringdimensions
method: GET
description: List Metering Dimensions Of Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: org-orgId-product-productId-fulfillmentUrl
path: /org/{orgId}/product/{productId}/fulfillmentUrl
operations:
- name: updateproductfulfillmenturl
method: PATCH
description: Update Product Fulfillment Url
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-product-productId-metaInfo
path: /org/{orgId}/product/{productId}/metaInfo
operations:
- name: updateproductmetainfo
method: PATCH
description: Update Product Meta Info
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: org-orgId-product-productId-publish
path: /org/{orgId}/product/{productId}/publish
operations:
- name: publishproduct
method: PATCH
description: Publish Product
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: orgId
in: path
type: string
description: Organization ID
required: true
- name: productId
in: path
type: string
description: Product ID
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: Authorization
value: '{{env.SUGER_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: suger-product-rest
port: 8080
description: REST adapter for Suger API — Product. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/org/{orgid}/draftproduct
name: org-orgid-draftproduct
description: REST surface for org-orgId-draftProduct.
operations:
- method: POST
name: createorupdatedraftproduct
description: Create Or Update Draft Product
call: suger-product.createorupdatedraftproduct
with:
orgId: rest.orgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/partner/{partner}/product
name: org-orgid-partner-partner-product
description: REST surface for org-orgId-partner-partner-product.
operations:
- method: GET
name: listproductsbypartner
description: List Products By Partner
call: suger-product.listproductsbypartner
with:
orgId: rest.orgId
partner: rest.partner
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product
name: org-orgid-product
description: REST surface for org-orgId-product.
operations:
- method: GET
name: listproducts
description: List Products
call: suger-product.listproducts
with:
orgId: rest.orgId
partner: rest.partner
limit: rest.limit
offset: rest.offset
outputParameters:
- type: object
mapping: $.
- method: POST
name: createproduct
description: Create Product
call: suger-product.createproduct
with:
orgId: rest.orgId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product/{productid}
name: org-orgid-product-productid
description: REST surface for org-orgId-product-productId.
operations:
- method: DELETE
name: deleteproduct
description: Delete Product
call: suger-product.deleteproduct
with:
orgId: rest.orgId
productId: rest.productId
outputParameters:
- type: object
mapping: $.
- method: GET
name: getproduct
description: Get Product
call: suger-product.getproduct
with:
orgId: rest.orgId
productId: rest.productId
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updateproduct
description: Update Product
call: suger-product.updateproduct
with:
orgId: rest.orgId
productId: rest.productId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product/{productid}/dimension
name: org-orgid-product-productid-dimension
description: REST surface for org-orgId-product-productId-dimension.
operations:
- method: GET
name: listproductmeteringdimensions
description: List Metering Dimensions Of Product
call: suger-product.listproductmeteringdimensions
with:
orgId: rest.orgId
productId: rest.productId
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product/{productid}/fulfillmenturl
name: org-orgid-product-productid-fulfillmenturl
description: REST surface for org-orgId-product-productId-fulfillmentUrl.
operations:
- method: PATCH
name: updateproductfulfillmenturl
description: Update Product Fulfillment Url
call: suger-product.updateproductfulfillmenturl
with:
orgId: rest.orgId
productId: rest.productId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product/{productid}/metainfo
name: org-orgid-product-productid-metainfo
description: REST surface for org-orgId-product-productId-metaInfo.
operations:
- method: PATCH
name: updateproductmetainfo
description: Update Product Meta Info
call: suger-product.updateproductmetainfo
with:
orgId: rest.orgId
productId: rest.productId
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/org/{orgid}/product/{productid}/publish
name: org-orgid-product-productid-publish
description: REST surface for org-orgId-product-productId-publish.
operations:
- method: PATCH
name: publishproduct
description: Publish Product
call: suger-product.publishproduct
with:
orgId: rest.orgId
productId: rest.productId
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: suger-product-mcp
port: 9090
transport: http
description: MCP adapter for Suger API — Product. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: create-update-draft-product
description: Create Or Update Draft Product
hints:
readOnly: false
destructive: false
idempotent: false
call: suger-product.createorupdatedraftproduct
with:
orgId: tools.orgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-products-partner
description: List Products By Partner
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-product.listproductsbypartner
with:
orgId: tools.orgId
partner: tools.partner
outputParameters:
- type: object
mapping: $.
- name: list-products
description: List Products
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-product.listproducts
with:
orgId: tools.orgId
partner: tools.partner
limit: tools.limit
offset: tools.offset
outputParameters:
- type: object
mapping: $.
- name: create-product
description: Create Product
hints:
readOnly: false
destructive: false
idempotent: false
call: suger-product.createproduct
with:
orgId: tools.orgId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-product
description: Delete Product
hints:
readOnly: false
destructive: true
idempotent: true
call: suger-product.deleteproduct
with:
orgId: tools.orgId
productId: tools.productId
outputParameters:
- type: object
mapping: $.
- name: get-product
description: Get Product
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-product.getproduct
with:
orgId: tools.orgId
productId: tools.productId
outputParameters:
- type: object
mapping: $.
- name: update-product
description: Update Product
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-product.updateproduct
with:
orgId: tools.orgId
productId: tools.productId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-metering-dimensions-product
description: List Metering Dimensions Of Product
hints:
readOnly: true
destructive: false
idempotent: true
call: suger-product.listproductmeteringdimensions
with:
orgId: tools.orgId
productId: tools.productId
outputParameters:
- type: object
mapping: $.
- name: update-product-fulfillment-url
description: Update Product Fulfillment Url
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-product.updateproductfulfillmenturl
with:
orgId: tools.orgId
productId: tools.productId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: update-product-meta-info
description: Update Product Meta Info
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-product.updateproductmetainfo
with:
orgId: tools.orgId
productId: tools.productId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: publish-product
description: Publish Product
hints:
readOnly: false
destructive: false
idempotent: true
call: suger-product.publishproduct
with:
orgId: tools.orgId
productId: tools.productId
body: tools.body
outputParameters:
- type: object
mapping: $.