Skip to content

Content ​

Port: REST :3110 · gRPC :5110

Rich content management for user-facing documents: personal/shared notes, published posts and articles, and support tickets.

Comments on posts and tickets live in general/comments, not in this service.

Collections ​

CollectionPathPurpose
Notes/content/notesPersonal or shared notes and note threads
Posts/content/postsPublished articles and content records
Tickets/content/ticketsSupport, issue, and task-like records

content/notes ​

Personal or shared notes. Notes can be threaded and can reference a post or ticket through relation.

Required Create Fields ​

FieldRequiredTypeDescription
type✅NoteTypeNOTE, REVIEW, COMMENT, FEEDBACK
content✅stringNote body

Optional Fields ​

FieldTypeDescription
parentMongoIdParent note for threading
levelnumberThread nesting depth
relationMongoIdRelated content/posts or content/tickets ID
visibilitystringVisibility marker
mentionsMongoId[]Raw user IDs — not populatable
attachmentsMongoId[]Raw file IDs — not populatable
reactionsobject[]Reaction objects

Population ​

PathCollection
relationcontent/posts or content/tickets

content/posts ​

Published content with a lifecycle centered on post status.

Required Create Fields ​

FieldRequiredTypeDescription
title✅stringPost title
content✅stringPost body
status✅PostStatusDRAFT, ARCHIVED, PUBLISHED

Optional Fields ​

FieldTypeDescription
slugstringURL-friendly identifier
subtitlestringSubtitle
summarystringExcerpt
parentMongoIdParent post
categoriesstring[]Category values
keywordsstring[]SEO keywords
thumbnailMongoIdRaw special/files ID — not populatable
featured_imageMongoIdRaw special/files ID — not populatable
attachmentsMongoId[]Raw file IDs — not populatable
related_postsMongoId[]Raw related post IDs — not populatable
publication_datedateScheduled or actual publication date

Special Operation ​

content/posts exposes a service-local search operation in addition to standard CRUD:

POST /content/posts/search

Use search when full-text search behavior is needed rather than standard filtering.

content/tickets ​

Support, issue, and task-like records with priority, lifecycle status, and optional resolution feedback.

Required Create Fields ​

FieldRequiredTypeDescription
title✅stringTicket title
content✅stringTicket body
status✅TicketStatusOPEN, CLOSED, RESOLVED, IN_PROGRESS
priority✅PriorityLOW, MEDIUM, HIGH, URGENT

Optional Fields ​

FieldTypeDescription
parentMongoIdParent ticket
departmentstringRouting department
due_datedateDue date
assigned_toMongoIdAssigned user ID (raw — not populatable)
solutionstringResolution text
feedbackMongoIdcontent/notes ID used as formal resolution note
attachmentsMongoId[]Raw file IDs — not populatable
related_ticketsMongoId[]Raw related ticket IDs — not populatable

Population ​

PathCollection
feedbackcontent/notes

Query Tips ​

  • Filter posts by status for publication lifecycle views.
  • Filter tickets by status and priority for support queues.
  • Use relation on notes to fetch all notes attached to a specific post or ticket.
  • For comments on posts or tickets, query general/comments with the post or ticket ID.