Tickets
Manage support tickets for community issue tracking and resolution.Get All Tickets
TicketDto
Get Tickets by Community
communityId(UUID, required): Community identifier
TicketDto
Get My Tickets
TicketDto
Errors:
400 BAD_REQUEST: User is not registered as a resident
Get Ticket by ID
id(integer, required): Ticket identifier
TicketDto
Errors:
404 NOT FOUND: Ticket does not exist
Create Ticket
- Residents: Ticket is automatically created for their account. ResidentId and CommunityId fields are ignored.
- Admins (ADMIN_COMPANY/SYSTEM_ADMIN): Must specify either
residentIdorcommunityId:- If
residentIdprovided: Creates ticket for that specific resident - If
communityIdprovided (without residentId): Uses first resident from that community - If neither provided: Returns error
- If
CreateTicketDto
categoriaTicketId(integer, required): Category identifier (1 to 2147483647)contenido(string, optional): Ticket description (max 4,000 characters)residentId(UUID, optional): Resident ID (admin only - creates ticket for specific resident)communityId(UUID, optional): Community ID (admin only - uses first resident if residentId not provided)
TicketDto (201 Created)
Location Header: Location: /api/tickets/{id}
Errors:
400 BAD_REQUEST: User not registered as resident (non-admin)400 BAD_REQUEST: Resident not found (admin with invalid residentId)400 BAD_REQUEST: Community has no registered residents (admin with communityId)400 BAD_REQUEST: Must specify CommunityId or ResidentId (admin without either)400 INVALID_OPERATION: Business logic validation failed
Update Ticket
- Residents can update their own tickets only
- Admins (ADMIN_COMPANY/SYSTEM_ADMIN) can update any ticket
id(integer, required): Ticket identifier
UpdateTicketDto
statusId(integer, optional): New status identifiercontenido(string, optional): Updated description (max 4,000 characters)imageUrls(array of strings, optional): Image paths (replaces existing images)
TicketDto
Errors:
404 NOT FOUND: Ticket does not exist403 FORBIDDEN: Resident trying to update another resident’s ticket
Delete Ticket
id(integer, required): Ticket identifier
404 NOT FOUND: Ticket does not exist
Ticket Categories
Manage ticket categorization.Get All Categories
CategoriaTicketDto
Get Category by ID
id(integer, required): Category identifier
CategoriaTicketDto
Errors:
404 NOT FOUND: Category does not exist
Ticket Statuses
Manage ticket status tracking.Get All Statuses
StatusTicketDto
id: Status identifiercode: Status code for programmatic usedescripcion: Human-readable descriptioncolor: Hex color code for UI badges
Get Status by ID
id(integer, required): Status identifier
StatusTicketDto
Errors:
404 NOT FOUND: Status does not exist
Comments
Manage comments on tickets and other resources. Comments use an origin-based system where tickets are identified byorigen="ticket" and idOrigen="{ticketId}".
Get Comments by Origin
origen(string, required): Origin type (e.g., “ticket”, “event”, “post”, “provider”)idOrigen(string, required): Origin resource identifier
GET /api/comentarios/origen/ticket/1
Response: Array of ComentarioDto
idComment: If set, indicates this is a reply to another comment (threaded discussion)origen: Origin resource typeidOrigen: ID of the origin resource (ticket ID, event ID, etc.)
Get Comment by ID
id(integer, required): Comment identifier
ComentarioDto
Errors:
404 NOT FOUND: Comment does not exist
Create Comment
CreateComentarioDto
origen(string, required): Origin type (max 50 characters)idOrigen(string, required): Origin resource ID (max 50 characters)idComment(integer, optional): Parent comment ID for threaded repliescomentarioTexto(string, required): Comment text (max 4,000 characters)imageUrls(array of strings, optional): Image paths
ComentarioDto (201 Created)
Location Header: Location: /api/comentarios/{id}
Errors:
400 BAD_REQUEST: User not registered as resident400 INVALID_OPERATION: Business logic validation failed
Update Comment
id(integer, required): Comment identifier
UpdateComentarioDto
comentarioTexto(string, required): Updated comment text (max 4,000 characters)
ComentarioDto
Errors:
404 NOT FOUND: Comment does not exist
Delete Comment
id(integer, required): Comment identifier
404 NOT FOUND: Comment does not exist
Data Models
TicketDto
CategoriaTicketDto
StatusTicketDto
ComentarioDto
Error Responses
All endpoints may return standard error responses:BAD_REQUEST: Invalid request data or business rule violationINVALID_OPERATION: Operation cannot be completed due to business logicUNAUTHORIZED: Missing or invalid authenticationFORBIDDEN: Insufficient permissionsNOT_FOUND: Resource does not exist