v1

latestOpenAPI 3.1.0Serval License2026-07-26202952779.1 KB
Ticket API

Create Ticket

Create a new ticket.

post/v2/tickets

Request body

teamIdstring
namestring
descriptionstring
createdByUserIdstring
createdAtstring date-time

A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").

assignedToUserIdstring nullable
parentTicketIdstring nullable

Optional. The ID of the parent ticket (this is a special relationship type)

aiActiveboolean nullable

Optional. Whether AI is active for this ticket. Defaults to false. When true, Serval's AI will respond to messages on this ticket. When false, AI will not respond even if the ticket is at the AI escalation level.

type'TICKET_TYPE_UNSPECIFIED' | 'TICKET_TYPE_REQUEST' | 'TICKET_TYPE_TASK' | 'TICKET_TYPE_MAJOR_INCIDENT' | 'TICKET_TYPE_CONVERSATION' | 'TICKET_TYPE_JOURNEY' | 'TICKET_TYPE_JOURNEY_CONVERSATION' | 'TICKET_TYPE_INCIDENT' | 'TICKET_TYPE_CHANGE' | 'TICKET_TYPE_CUSTOM'
requesterUserIdstring nullable

Optional. The ID of the user this ticket is created on behalf of (the requester). Defaults to created_by_user_id if not provided. Use this when creating a ticket on behalf of someone else, e.g., when creating child tasks in a journey where the requester should be the journey's requester.

waitUntilstring date-time

A timestamp in RFC 3339 format (e.g., "2025-01-15T01:30:15Z").

nameTranslationsobject

Per-language translations. Key = BCP 47 language code, value = translated string.

descriptionTranslationsobject
ticketSubtypestring nullable

Optional. The subtype of the ticket (e.g. "normal", "standard", "emergency" for CHANGE tickets). Must correspond to a configured ticket model for the given team and type.

Response

Success