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
typeNoteTypeNOTE, REVIEW, COMMENT, FEEDBACK
contentstringNote 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
titlestringPost title
contentstringPost body
statusPostStatusDRAFT, 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
titlestringTicket title
contentstringTicket body
statusTicketStatusOPEN, CLOSED, RESOLVED, IN_PROGRESS
priorityPriorityLOW, 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.