import type { ApiClient } from '../../core/ApiClient' import { BaseCrudApi } from '../../core/BaseCrudApi' import type { Ticket, CreateTicketPayload, UpdateTicketPayload, CloseManyTicketsPayload, } from './types' export class TicketsApi extends BaseCrudApi { constructor(client: ApiClient) { super(client, '/tickets') } /** * Closes multiple tickets in a single request. This is the only ticket-close * endpoint exposed by the API — there is no per-ticket close/update route. * * Pass `{ ids }` to close specific tickets, or `{ allContactsSelected: true, query }` * to close every OPEN ticket matching `query` (the backend forces `isOpen: true`). * @permissions tickets.close.all OR tickets.close.me */ closeMany(payload: CloseManyTicketsPayload, headers?: Record): Promise { return this.client.put( `${this.basePath}/close-many`, payload, headers, ) } }