Suger · Capability

Suger API — Support

Suger API — Support. 8 operations. Lead operation: List Support Tickets. Self-contained Naftiko capability covering one Suger business surface.

Run with Naftiko SugerSupport

What You Can Do

GET
Listsupporttickets — List Support Tickets
/v1/org/{orgid}/support/ticket
POST
Createsupportticket — Create Support Ticket
/v1/org/{orgid}/support/ticket
GET
Getsupportticket — Get Support Ticket
/v1/org/{orgid}/support/ticket/{ticketid}
PATCH
Updatesupportticket — Update Support Ticket
/v1/org/{orgid}/support/ticket/{ticketid}
POST
Createsupportticketattachment — Create Support Ticket Attachment
/v1/org/{orgid}/support/ticket/{ticketid}/attachment
PATCH
Closesupportticket — Close Support Ticket
/v1/org/{orgid}/support/ticket/{ticketid}/close
POST
Createsupportticketcomment — Create Support Ticket Comment
/v1/org/{orgid}/support/ticket/{ticketid}/comment
PATCH
Reopensupportticket — Reopen Support Ticket
/v1/org/{orgid}/support/ticket/{ticketid}/reopen

MCP Tools

list-support-tickets

List Support Tickets

read-only idempotent
create-support-ticket

Create Support Ticket

get-support-ticket

Get Support Ticket

read-only idempotent
update-support-ticket

Update Support Ticket

idempotent
create-support-ticket-attachment

Create Support Ticket Attachment

close-support-ticket

Close Support Ticket

idempotent
create-support-ticket-comment

Create Support Ticket Comment

reopen-support-ticket

Reopen Support Ticket

idempotent

Capability Spec

suger-support.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Suger API — Support
  description: 'Suger API — Support. 8 operations. Lead operation: List Support Tickets. Self-contained Naftiko capability
    covering one Suger business surface.'
  tags:
  - Suger
  - Support
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SUGER_API_KEY: SUGER_API_KEY
capability:
  consumes:
  - type: http
    namespace: suger-support
    baseUri: https://api.suger.cloud
    description: Suger API — Support business capability. Self-contained, no shared references.
    resources:
    - name: org-orgId-support-ticket
      path: /org/{orgId}/support/ticket
      operations:
      - name: listsupporttickets
        method: GET
        description: List Support Tickets
        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: createsupportticket
        method: POST
        description: Create Support Ticket
        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-support-ticket-ticketId
      path: /org/{orgId}/support/ticket/{ticketId}
      operations:
      - name: getsupportticket
        method: GET
        description: Get Support Ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
      - name: updatesupportticket
        method: PATCH
        description: Update Support Ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: org-orgId-support-ticket-ticketId-attachment
      path: /org/{orgId}/support/ticket/{ticketId}/attachment
      operations:
      - name: createsupportticketattachment
        method: POST
        description: Create Support Ticket Attachment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: org-orgId-support-ticket-ticketId-close
      path: /org/{orgId}/support/ticket/{ticketId}/close
      operations:
      - name: closesupportticket
        method: PATCH
        description: Close Support Ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
    - name: org-orgId-support-ticket-ticketId-comment
      path: /org/{orgId}/support/ticket/{ticketId}/comment
      operations:
      - name: createsupportticketcomment
        method: POST
        description: Create Support Ticket Comment
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: org-orgId-support-ticket-ticketId-reopen
      path: /org/{orgId}/support/ticket/{ticketId}/reopen
      operations:
      - name: reopensupportticket
        method: PATCH
        description: Reopen Support Ticket
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: ticketId
          in: path
          type: string
          description: Ticket ID
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.SUGER_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: suger-support-rest
    port: 8080
    description: REST adapter for Suger API — Support. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/org/{orgid}/support/ticket
      name: org-orgid-support-ticket
      description: REST surface for org-orgId-support-ticket.
      operations:
      - method: GET
        name: listsupporttickets
        description: List Support Tickets
        call: suger-support.listsupporttickets
        with:
          orgId: rest.orgId
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createsupportticket
        description: Create Support Ticket
        call: suger-support.createsupportticket
        with:
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/support/ticket/{ticketid}
      name: org-orgid-support-ticket-ticketid
      description: REST surface for org-orgId-support-ticket-ticketId.
      operations:
      - method: GET
        name: getsupportticket
        description: Get Support Ticket
        call: suger-support.getsupportticket
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatesupportticket
        description: Update Support Ticket
        call: suger-support.updatesupportticket
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/support/ticket/{ticketid}/attachment
      name: org-orgid-support-ticket-ticketid-attachment
      description: REST surface for org-orgId-support-ticket-ticketId-attachment.
      operations:
      - method: POST
        name: createsupportticketattachment
        description: Create Support Ticket Attachment
        call: suger-support.createsupportticketattachment
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/support/ticket/{ticketid}/close
      name: org-orgid-support-ticket-ticketid-close
      description: REST surface for org-orgId-support-ticket-ticketId-close.
      operations:
      - method: PATCH
        name: closesupportticket
        description: Close Support Ticket
        call: suger-support.closesupportticket
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/support/ticket/{ticketid}/comment
      name: org-orgid-support-ticket-ticketid-comment
      description: REST surface for org-orgId-support-ticket-ticketId-comment.
      operations:
      - method: POST
        name: createsupportticketcomment
        description: Create Support Ticket Comment
        call: suger-support.createsupportticketcomment
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/support/ticket/{ticketid}/reopen
      name: org-orgid-support-ticket-ticketid-reopen
      description: REST surface for org-orgId-support-ticket-ticketId-reopen.
      operations:
      - method: PATCH
        name: reopensupportticket
        description: Reopen Support Ticket
        call: suger-support.reopensupportticket
        with:
          orgId: rest.orgId
          ticketId: rest.ticketId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: suger-support-mcp
    port: 9090
    transport: http
    description: MCP adapter for Suger API — Support. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-support-tickets
      description: List Support Tickets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-support.listsupporttickets
      with:
        orgId: tools.orgId
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: create-support-ticket
      description: Create Support Ticket
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suger-support.createsupportticket
      with:
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: get-support-ticket
      description: Get Support Ticket
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-support.getsupportticket
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
      outputParameters:
      - type: object
        mapping: $.
    - name: update-support-ticket
      description: Update Support Ticket
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: suger-support.updatesupportticket
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: create-support-ticket-attachment
      description: Create Support Ticket Attachment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suger-support.createsupportticketattachment
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: close-support-ticket
      description: Close Support Ticket
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: suger-support.closesupportticket
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-support-ticket-comment
      description: Create Support Ticket Comment
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: suger-support.createsupportticketcomment
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: reopen-support-ticket
      description: Reopen Support Ticket
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: suger-support.reopensupportticket
      with:
        orgId: tools.orgId
        ticketId: tools.ticketId
      outputParameters:
      - type: object
        mapping: $.