Nurama Developers
Namespaces

supportTicket

Methods and types of the `supportTicket` namespace (`client.supportTicket` / `bot.supportTicket`).

Interfaces

CreateSupportTicketRequest

Properties

PropertyTypeDescription
aiGenerated?booleantrue when the ticket was drafted by Nu via the create_support_ticket chat tool and submitted by the user from the pre-populated draft. Recorded on the ticket for analytics; set it when the ticket form was opened from an AI-draft action.
bodystring-
deviceInfo?Record<string, unknown>Browser/app/device snapshot collected at submit time.
scopeId?stringRequired for workspace/project scope; ignored for user scope.
scopeTypeSupportTicketScope-
subjectstring-

SupportTicket

Properties

PropertyTypeDescription
aiGeneratedbooleanTrue for tickets drafted by Nu's create_support_ticket tool.
chatIdstring-
createdAtstring-
creatorIdstring-
deviceInfoRecord<string, unknown>-
idstring-
prioritystring-
scopeIdstring | null-
scopeTypeSupportTicketScope-
statusSupportTicketStatus-
subjectstring-
ticketNumbernumber-
updatedAtstring-

SupportTicketListParams

Properties

PropertyType
limit?number
page?number
status?SupportTicketStatus

SupportTicketListResponse

Properties

PropertyType
limitnumber
pagenumber
resultsSupportTicket[]
totalPagesnumber
totalResultsnumber

SupportTicketScopeOptions

Properties

PropertyType
projects{ color?: string | null; id: string; logo?: SupportTicketScopeLogo; name: string; slug: string | null; workspaceId: string; }[]
workspaces{ color?: string | null; id: string; logo?: SupportTicketScopeLogo; name: string; slug: string; }[]

Type Aliases

SupportTicketScope

type SupportTicketScope = "user" | "workspace" | "project";

type SupportTicketScopeLogo = 
  | {
[key: string]: unknown;
  files?: unknown[];
}
  | null;

A logo asset (thumbnail-ready) attached to a scope for avatar rendering.


SupportTicketStatus

type SupportTicketStatus = "open" | "pending" | "resolved" | "closed";

Functions

default()

function default(client): {
  createSupportTicket: Promise<SupportTicket>;
  getSupportTicket: Promise<SupportTicket>;
  getSupportTicketScopeOptions: Promise<SupportTicketScopeOptions>;
  listSupportTickets: Promise<SupportTicketListResponse>;
};

Support tickets. A ticket carries the metadata + a backing Chat thread; the conversation itself is sent/read through the regular chat endpoints:

  • send: nuramaClient.chat.createMessage(ticket.chatId, …)
  • read: nuramaClient.chat.getMessages(ticket.chatId, …)

Nurama customer service replies (as the support persona) from the admin site.

Parameters

ParameterType
clientdefault

Returns

NameTypeDescription
createSupportTicket()(data) => Promise<SupportTicket>Create a ticket. The opening message body becomes the first thread entry.
getSupportTicket()(ticketId) => Promise<SupportTicket>-
getSupportTicketScopeOptions()() => Promise<SupportTicketScopeOptions>Workspaces/projects the caller may scope a new ticket to.
listSupportTickets()(params?) => Promise<SupportTicketListResponse>List the caller's own tickets + (for resource admins) tickets in their scope.

On this page