Skip to content

SDK Mutations ​

Mutation methods are curated — hand-written to cover the most useful write operations on each domain. Every mutation accepts a structured input object (path params + body) and validates it at runtime with Zod before sending the request.

Destruction safety ​

Methods that delete or have destructive side effects require confirm: true in their input to execute. This prevents accidental calls.

ts
// This will throw:
await client.tickets.deleteTicket({ appId: 1, ticketId: 5 })
// → TeamDynamixClientError: 'confirmation required'

// This works:
await client.tickets.deleteTicket({ appId: 1, ticketId: 5, confirm: true })

client.tickets ​

createTicket ​

ts
createTicket(input: {
  appId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates a new ticket. The body should include fields like Title, Description, StatusID, PriorityID, TypeID.

ts
await client.tickets.createTicket({
  appId: 1,
  body: {
    Title: 'New ticket',
    StatusID: 1,
    PriorityID: 2,
  },
})

updateTicket ​

ts
updateTicket(input: {
  appId: string | number
  ticketId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates an existing ticket. Only include the fields you want to change.

ts
await client.tickets.updateTicket({
  appId: 1,
  ticketId: 456,
  body: { StatusID: 3, PriorityID: 1 },
})

deleteTicket ​

ts
deleteTicket(input: {
  appId: string | number
  ticketId: string | number
  confirm: true
}): Promise<unknown>

Acknowledges a ticket cancellation. Requires confirm: true.

addTicketComment ​

ts
addTicketComment(input: {
  appId: string | number
  ticketId: string | number
  body: { Comment: string }
}): Promise<unknown>

Adds a feed item (comment) to a ticket.

ts
await client.tickets.addTicketComment({
  appId: 1,
  ticketId: 456,
  body: { Comment: 'Issue resolved.' },
})

performTicketWorkflowAction ​

ts
performTicketWorkflowAction(input: {
  appId: string | number
  ticketId: string | number
  actionId: string | number
  body?: Record<string, unknown>
}): Promise<unknown>

Executes a workflow action on a ticket. The actionId comes from appIdTicketsIdWorkflowActions() read method.

client.ticketRelationships ​

addTicketAsset ​

ts
addTicketAsset(input: {
  appId: string | number
  ticketId: string | number
  assetId: string | number
}): Promise<unknown>

Links an existing asset to a ticket.

removeTicketAsset ​

ts
removeTicketAsset(input: {
  appId: string | number
  ticketId: string | number
  assetId: string | number
  confirm: true
}): Promise<unknown>

Removes an asset from a ticket. Requires confirm: true.

addTicketContact ​

ts
addTicketContact(input: {
  appId: string | number
  ticketId: string | number
  body: { UID?: string }
}): Promise<unknown>

Adds a contact person to a ticket.

createTicketTask ​

ts
createTicketTask(input: {
  appId: string | number
  ticketId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates a task on a ticket.

updateTicketTask ​

ts
updateTicketTask(input: {
  appId: string | number
  ticketId: string | number
  taskId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates a ticket task.

deleteTicketTask ​

ts
deleteTicketTask(input: {
  appId: string | number
  ticketId: string | number
  taskId: string | number
  confirm: true
}): Promise<unknown>

Deletes a ticket task. Requires confirm: true.

addTicketTaskComment ​

ts
addTicketTaskComment(input: {
  appId: string | number
  ticketId: string | number
  taskId: string | number
  body: { Comment: string }
}): Promise<unknown>

Adds a comment to a ticket task.

client.people ​

addUserToGroup ​

ts
addUserToGroup(input: {
  groupId: string | number
  uid: string | number
}): Promise<unknown>

Adds a single user to a group.

removeUserFromGroup ​

ts
removeUserFromGroup(input: {
  groupId: string | number
  uid: string | number
  confirm: true
}): Promise<unknown>

Removes a user from a group. Requires confirm: true.

client.knowledgeBase ​

createArticle ​

ts
createArticle(input: {
  appId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates a knowledge base article.

updateArticle ​

ts
updateArticle(input: {
  appId: string | number
  articleId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates a knowledge base article.

deleteArticle ​

ts
deleteArticle(input: {
  appId: string | number
  articleId: string | number
  confirm: true
}): Promise<unknown>

Deletes a knowledge base article. Requires confirm: true.

client.assets ​

createAsset ​

ts
createAsset(input: {
  appId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates a new asset.

updateAsset ​

ts
updateAsset(input: {
  appId: string | number
  assetId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates an existing asset.

deleteAsset ​

ts
deleteAsset(input: {
  appId: string | number
  assetId: string | number
  confirm: true
}): Promise<unknown>

Deletes an asset. Requires confirm: true.

addAssetComment ​

ts
addAssetComment(input: {
  appId: string | number
  assetId: string | number
  body: { Comment: string }
}): Promise<unknown>

Adds a feed comment to an asset.

client.cmdb ​

createConfigurationItem ​

ts
createConfigurationItem(input: {
  appId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates a configuration item in the CMDB.

updateConfigurationItem ​

ts
updateConfigurationItem(input: {
  appId: string | number
  ciId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates a configuration item.

deleteConfigurationItem ​

ts
deleteConfigurationItem(input: {
  appId: string | number
  ciId: string | number
  confirm: true
}): Promise<unknown>

Deletes a configuration item. Requires confirm: true.

client.services ​

createServiceOffering ​

ts
createServiceOffering(input: {
  appId: string | number
  serviceId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Creates an offering within a service catalog item.

client.projects ​

createProject ​

ts
createProject(input: {
  body: Record<string, unknown>
}): Promise<unknown>

Creates a new project.

updateProject ​

ts
updateProject(input: {
  projectId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates a project.

deleteProject ​

ts
deleteProject(input: {
  projectId: string | number
  confirm: true
}): Promise<unknown>

Deletes a project. Requires confirm: true.

addProjectComment ​

ts
addProjectComment(input: {
  projectId: string | number
  body: { Comment: string }
}): Promise<unknown>

Adds a comment to a project's feed.

client.time ​

createTimeEntry ​

ts
createTimeEntry(input: {
  body: Record<string, unknown>
}): Promise<unknown>

Creates a time entry.

updateTimeEntry ​

ts
updateTimeEntry(input: {
  entryId: string | number
  body: Record<string, unknown>
}): Promise<unknown>

Updates a time entry.

deleteTimeEntry ​

ts
deleteTimeEntry(input: {
  entryId: string | number
  confirm: true
}): Promise<unknown>

Deletes a time entry. Requires confirm: true.