Skip to main content

Support Tickets

Manage customer support tickets with attachments and status tracking.

Create Support Ticket

POST
endpoint
/api/support_tickets
Creates a new support ticket. Request Body
userId
integer
ID of the user creating the ticket
roleContext
enum
User role context. Values: GUIDE, TOURIST, GUEST
fullName
string
required
Full name of the person submitting the ticket
email
string
required
Email address for contact
subject
string
required
Subject/title of the support ticket
category
enum
required
Ticket category. Values: RESERVAS_VIAJES, PAGOS_FACTURACION, CUENTA_SEGURIDAD, VERIFICACION_GUIAS, OTRO, GENERAL
message
string
required
Detailed message describing the issue or inquiry
status
enum
Current status. Values: OPEN, IN_PROGRESS, RESOLVED, CLOSED. Default: OPEN
createdAt
string
Timestamp when ticket was created (ISO 8601 format)
updatedAt
string
Timestamp when ticket was last updated (ISO 8601 format)
Response
ticketId
integer
Unique identifier for the support ticket
userId
integer
ID of the user who created the ticket
roleContext
enum
User role context: GUIDE, TOURIST, or GUEST
fullName
string
Full name of the ticket creator
email
string
Contact email address
subject
string
Ticket subject
category
enum
Ticket category
message
string
Ticket message content
status
enum
Current ticket status
createdAt
string
Creation timestamp
updatedAt
string
Last update timestamp
Example Request
curl -X POST http://localhost:8080/api/support_tickets \
  -H "Content-Type: application/json" \
  -d '{
    "userId": 42,
    "roleContext": "TOURIST",
    "fullName": "María González",
    "email": "[email protected]",
    "subject": "Cannot access my booking",
    "category": "RESERVAS_VIAJES",
    "message": "I am unable to view my tour booking from last week. The page shows an error.",
    "status": "OPEN"
  }'
Example Response
{
  "ticketId": 1523,
  "userId": 42,
  "roleContext": "TOURIST",
  "fullName": "María González",
  "email": "[email protected]",
  "subject": "Cannot access my booking",
  "category": "RESERVAS_VIAJES",
  "message": "I am unable to view my tour booking from last week. The page shows an error.",
  "status": "OPEN",
  "createdAt": "2026-03-11T10:30:00",
  "updatedAt": "2026-03-11T10:30:00"
}

Get All Support Tickets

GET
endpoint
/api/support_tickets
Retrieves all support tickets. Example Request
curl http://localhost:8080/api/support_tickets
Example Response
[
  {
    "ticketId": 1523,
    "userId": 42,
    "roleContext": "TOURIST",
    "fullName": "María González",
    "email": "[email protected]",
    "subject": "Cannot access my booking",
    "category": "RESERVAS_VIAJES",
    "message": "I am unable to view my tour booking from last week.",
    "status": "OPEN",
    "createdAt": "2026-03-11T10:30:00",
    "updatedAt": "2026-03-11T10:30:00"
  }
]

Get Support Ticket by ID

GET
endpoint
/api/support_tickets/{id}
Retrieves a specific support ticket by ID. Path Parameters
id
integer
required
The ticket ID
Example Request
curl http://localhost:8080/api/support_tickets/1523
Example Response
{
  "ticketId": 1523,
  "userId": 42,
  "roleContext": "TOURIST",
  "fullName": "María González",
  "email": "[email protected]",
  "subject": "Cannot access my booking",
  "category": "RESERVAS_VIAJES",
  "message": "I am unable to view my tour booking from last week.",
  "status": "IN_PROGRESS",
  "createdAt": "2026-03-11T10:30:00",
  "updatedAt": "2026-03-11T11:15:00"
}

Update Support Ticket

PUT
endpoint
/api/support_tickets/{id}
Updates an existing support ticket. Path Parameters
id
integer
required
The ticket ID
Request Body Same fields as Create Support Ticket. Example Request
curl -X PUT http://localhost:8080/api/support_tickets/1523 \
  -H "Content-Type: application/json" \
  -d '{
    "userId": 42,
    "roleContext": "TOURIST",
    "fullName": "María González",
    "email": "[email protected]",
    "subject": "Cannot access my booking",
    "category": "RESERVAS_VIAJES",
    "message": "I am unable to view my tour booking from last week.",
    "status": "RESOLVED"
  }'

Delete Support Ticket

DELETE
endpoint
/api/support_tickets/{id}
Deletes a support ticket. Path Parameters
id
integer
required
The ticket ID
Example Request
curl -X DELETE http://localhost:8080/api/support_tickets/1523

Support Ticket Attachments

Manage file attachments for support tickets.

Create Attachment

POST
endpoint
/api/support_ticket_attachments
Adds a file attachment to a support ticket. Request Body
ticketId
integer
required
ID of the support ticket
fileUrl
string
required
URL where the file is stored
fileName
string
required
Original name of the file
mimeType
string
MIME type of the file (e.g., “image/png”, “application/pdf”)
fileSizeBytes
integer
File size in bytes
uploadedAt
string
Timestamp when file was uploaded (ISO 8601 format)
Response
attachmentId
integer
Unique identifier for the attachment
ticketId
integer
Associated support ticket ID
fileUrl
string
URL of the stored file
fileName
string
File name
mimeType
string
MIME type
fileSizeBytes
integer
File size in bytes
uploadedAt
string
Upload timestamp
Example Request
curl -X POST http://localhost:8080/api/support_ticket_attachments \
  -H "Content-Type: application/json" \
  -d '{
    "ticketId": 1523,
    "fileUrl": "https://cdn.kinconecta.com/attachments/error-screenshot.png",
    "fileName": "error-screenshot.png",
    "mimeType": "image/png",
    "fileSizeBytes": 245678
  }'
Example Response
{
  "attachmentId": 8821,
  "ticketId": 1523,
  "fileUrl": "https://cdn.kinconecta.com/attachments/error-screenshot.png",
  "fileName": "error-screenshot.png",
  "mimeType": "image/png",
  "fileSizeBytes": 245678,
  "uploadedAt": "2026-03-11T10:31:25"
}

Get All Attachments

GET
endpoint
/api/support_ticket_attachments
Retrieves all support ticket attachments. Example Request
curl http://localhost:8080/api/support_ticket_attachments

Get Attachment by ID

GET
endpoint
/api/support_ticket_attachments/{id}
Retrieves a specific attachment by ID. Path Parameters
id
integer
required
The attachment ID
Example Request
curl http://localhost:8080/api/support_ticket_attachments/8821

Update Attachment

PUT
endpoint
/api/support_ticket_attachments/{id}
Updates an attachment’s metadata. Path Parameters
id
integer
required
The attachment ID
Example Request
curl -X PUT http://localhost:8080/api/support_ticket_attachments/8821 \
  -H "Content-Type: application/json" \
  -d '{
    "ticketId": 1523,
    "fileUrl": "https://cdn.kinconecta.com/attachments/error-screenshot.png",
    "fileName": "error-screenshot-updated.png",
    "mimeType": "image/png",
    "fileSizeBytes": 245678
  }'

Delete Attachment

DELETE
endpoint
/api/support_ticket_attachments/{id}
Deletes an attachment. Path Parameters
id
integer
required
The attachment ID
Example Request
curl -X DELETE http://localhost:8080/api/support_ticket_attachments/8821

Build docs developers (and LLMs) love