POST /tickets/merge
Merge tickets
Merge multiple duplicate tickets into one primary ticket
Authentication Required
Authorization: Bearer {token}
header string This header is required to access this endpoint
Required Parameters
x-account-id
header string Account ID for the request
Request Body
{ "primaryTicketId": "string", "ticketIdsToMerge": [ "string" ]}{ "primaryTicketId": "string", "ticketIdsToMerge": [ "string" ], "mergeComments": true, "mergeAttachments": true, "closeSecondaryTickets": true, "addMergeNote": true}Try it out
Loading...
Output:
Responses
Description
Tickets merged successfully
{ "success": false, "primaryTicketId": "string", "mergedTicketIds": [ "string" ], "commentsMerged": 0, "attachmentsMerged": 0, "secondaryTicketsClosed": false, "mergeNote": { "id": "string", "body": "string" }, "errors": [ { "ticketId": "string", "error": "string" } ], "executionTime": 0}Description
Bad Request - Invalid ticket IDs or merge configuration
Description
Unauthorized - User not authenticated
Description
Forbidden - User does not have permission to merge tickets
Description
One or more tickets not found
Description
Conflict - Cannot merge tickets from different accounts
Description
Internal server error
References
#/components/parameters/xAccountIdHeader
in: headername: x-account-idschema: type: stringdescription: Account ID for the requestrequired: trueexample: "2311"|export type xAccountIdHeader = any; // Schema type not fully supported#/components/schemas/MergeResult
type: objectproperties: success: type: boolean description: Overall merge success status primaryTicketId: type: string description: ID of the primary ticket mergedTicketIds: type: array items: type: string description: IDs of tickets that were merged commentsMerged: type: integer description: Total number of comments merged attachmentsMerged: type: integer description: Total number of attachments merged secondaryTicketsClosed: type: boolean description: Whether secondary tickets were closed mergeNote: type: object nullable: true properties: id: type: string body: type: string description: Internal note added to document the merge errors: type: array items: type: object properties: ticketId: type: string error: type: string description: Any errors encountered during merge executionTime: type: number description: Total execution time in milliseconds|export interface MergeResult { /** Overall merge success status */ success?: boolean; /** ID of the primary ticket */ primaryTicketId?: string; /** IDs of tickets that were merged */ mergedTicketIds?: string[]; /** Total number of comments merged */ commentsMerged?: number; /** Total number of attachments merged */ attachmentsMerged?: number; /** Whether secondary tickets were closed */ secondaryTicketsClosed?: boolean; /** Internal note added to document the merge */ mergeNote?: { id?: string; body?: string }; /** Any errors encountered during merge */ errors?: { ticketId?: string; error?: string }[]; /** Total execution time in milliseconds */ executionTime?: number;}Route Source Code
Check out the source code for this route entrypoint here: /tickets/merge/route.ts
Or the swagger.yaml spec this documentation was generated from:
/tickets/merge/swagger.yaml