OpenAPI Specification
openapi: 3.0.1
info:
contact:
email: support@suger.io
name: Suger Support
url: https://www.suger.io/support
description: CRUD operations on a set of resources, including organizations, products, offers, entitlements, usage record groups for meterting, etc.
title: Suger API Support API
version: '1.0'
servers:
- url: https://api.suger.cloud
tags:
- description: Access to Suger Support ticket resources
name: Support
paths:
/org/{orgId}/support/ticket:
get:
description: list support tickets
operationId: ListSupportTickets
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: List pagination size, default 1000, max value is 1000
explode: true
in: query
name: limit
required: false
schema:
type: integer
style: form
- description: List pagination offset, default 0
explode: true
in: query
name: offset
required: false
schema:
type: integer
style: form
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/ListSupportTicketsResponse'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: List Support Tickets
tags:
- Support
post:
description: create support ticket
operationId: CreateSupportTicket
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: Ticket create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Create Support Ticket
tags:
- Support
x-codegen-request-body-name: body
/org/{orgId}/support/ticket/{ticketId}:
get:
description: get support ticket
operationId: GetSupportTicket
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Get Support Ticket
tags:
- Support
patch:
description: update support ticket
operationId: UpdateSupportTicket
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateSupportTicketRequest'
description: Ticket create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Update Support Ticket
tags:
- Support
x-codegen-request-body-name: body
/org/{orgId}/support/ticket/{ticketId}/attachment:
post:
description: create support ticket attachment
operationId: CreateSupportTicketAttachment
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/CreateSupportTicketAttachment_request'
required: true
responses:
'200':
content:
application/json:
schema:
items:
$ref: '#/components/schemas/SupportTicketAttachment'
type: array
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Create Support Ticket Attachment
tags:
- Support
/org/{orgId}/support/ticket/{ticketId}/close:
patch:
description: close suuport ticket
operationId: CloseSupportTicket
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Close Support Ticket
tags:
- Support
/org/{orgId}/support/ticket/{ticketId}/comment:
post:
description: create support ticket comment
operationId: CreateSupportTicketComment
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicketComment'
description: Ticket create request
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicketComment'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Create Support Ticket Comment
tags:
- Support
x-codegen-request-body-name: body
/org/{orgId}/support/ticket/{ticketId}/reopen:
patch:
description: reopen support ticket
operationId: ReopenSupportTicket
parameters:
- description: Organization ID
explode: false
in: path
name: orgId
required: true
schema:
type: string
style: simple
- description: Ticket ID
explode: false
in: path
name: ticketId
required: true
schema:
type: string
style: simple
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/SupportTicket'
description: OK
'400':
content:
application/json:
schema:
type: string
description: Bad request error
'500':
content:
application/json:
schema:
type: string
description: Internal server error
security:
- APIKeyAuth: []
summary: Reopen Support Ticket
tags:
- Support
components:
schemas:
SupportTicketStatus:
enum:
- OPEN
- IN PROGRESS
- IN REVIEW
- BLOCKED
- CLOSED
- ARCHIVED
- DELETED
type: string
x-enum-varnames:
- SupportTicketStatus_OPEN
- SupportTicketStatus_IN_PROGRESS
- SupportTicketStatus_IN_REVIEW
- SupportTicketStatus_BLOCKED
- SupportTicketStatus_CLOSED
- SupportTicketStatus_ARCHIVED
- SupportTicketStatus_DELETED
ListSupportTicketsResponse:
example:
totalCount: 6
items:
- creator: creator
attachments:
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
comments:
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
creationTime: creationTime
description: description
watchers:
- watchers
- watchers
dueTime: dueTime
priority: LOW
organizationId: organizationId
closeTime: closeTime
name: name
id: id
status: OPEN
- creator: creator
attachments:
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
comments:
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
creationTime: creationTime
description: description
watchers:
- watchers
- watchers
dueTime: dueTime
priority: LOW
organizationId: organizationId
closeTime: closeTime
name: name
id: id
status: OPEN
properties:
items:
items:
$ref: '#/components/schemas/SupportTicket'
type: array
totalCount:
description: Only available when the request is made with offset=0.
type: integer
type: object
SupportTicketCommentDetail:
example:
image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
properties:
attachment:
$ref: '#/components/schemas/SupportTicketAttachment'
frame:
$ref: '#/components/schemas/SupportTicketFrame'
image:
$ref: '#/components/schemas/SupportTicketImage'
text:
type: string
type:
type: string
type: object
SupportTicketAttachment:
example:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
properties:
date:
type: string
id:
type: string
mimetype:
type: string
size:
type: integer
thumbnail_large:
type: string
thumbnail_medium:
type: string
thumbnail_small:
type: string
title:
type: string
url:
type: string
type: object
SupportTicket:
example:
creator: creator
attachments:
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
- date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
comments:
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
- date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
creationTime: creationTime
description: description
watchers:
- watchers
- watchers
dueTime: dueTime
priority: LOW
organizationId: organizationId
closeTime: closeTime
name: name
id: id
status: OPEN
properties:
attachments:
items:
$ref: '#/components/schemas/SupportTicketAttachment'
type: array
closeTime:
type: string
comments:
items:
$ref: '#/components/schemas/SupportTicketComment'
type: array
creationTime:
type: string
creator:
type: string
description:
type: string
dueTime:
type: string
id:
type: string
name:
type: string
organizationId:
type: string
priority:
$ref: '#/components/schemas/SupportTicketPriority'
status:
$ref: '#/components/schemas/SupportTicketStatus'
watchers:
items:
type: string
type: array
type: object
SupportTicketFrame:
example:
id: id
url: url
properties:
id:
type: string
url:
type: string
type: object
SupportTicketComment:
example:
date: date
comment_text: comment_text
creator: '{}'
comment:
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
- image:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
attachment:
date: date
thumbnail_small: thumbnail_small
thumbnail_medium: thumbnail_medium
size: 0
thumbnail_large: thumbnail_large
mimetype: mimetype
id: id
title: title
url: url
text: text
type: type
frame:
id: id
url: url
id: id
properties:
comment:
items:
$ref: '#/components/schemas/SupportTicketCommentDetail'
type: array
comment_text:
description: When creating a new comment, only CommentText is required.
type: string
creator:
allOf:
- $ref: '#/components/schemas/SupportTicketUser'
description: who created the comment
type: object
date:
type: string
id:
type: string
type: object
SupportTicketPriority:
enum:
- LOW
- NORMAL
- HIGH
- URGENT
type: string
x-enum-varnames:
- SupportTicketPriority_LOW
- SupportTicketPriority_NORMAL
- SupportTicketPriority_HIGH
- SupportTicketPriority_URGENT
SupportTicketImage:
example:
thumbnail_small: thumbnail_small
extension: extension
thumbnail_medium: thumbnail_medium
thumbnail_large: thumbnail_large
name: name
id: id
title: title
type: type
url: url
properties:
extension:
type: string
id:
type: string
name:
type: string
thumbnail_large:
type: string
thumbnail_medium:
type: string
thumbnail_small:
type: string
title:
type: string
type:
type: string
url:
type: string
type: object
UpdateSupportTicketRequest:
example:
watchers:
- watchers
- watchers
priority: LOW
properties:
priority:
$ref: '#/components/schemas/SupportTicketPriority'
watchers:
items:
type: string
type: array
required:
- priority
- watchers
type: object
SupportTicketUser:
properties:
email:
type: string
id:
description: The Suger user ID.
type: string
isSugerEmployee:
description: Whether the user is a Suger employee.
type: boolean
profilePicture:
type: string
username:
type: string
type: object
CreateSupportTicketAttachment_request:
properties:
file:
description: File to upload
format: binary
type: string
required:
- file
type: object
securitySchemes:
APIKeyAuth:
description: API Key for authorization in format of <Key *****>.
in: header
name: Authorization
type: apiKey
x-original-swagger-version: '2.0'