Skip to content

Captions

Captions are saved snippets — opening hooks, CTA blocks, hashtag bundles, footers — that you can drop into the composer textarea instead of retyping.

Endpoints

All under /api/v1/captions:

  • GET /captions — list with search, type query params.
  • POST /captions — create with { type?, name?, content? }.
  • PUT /captions/:id — update any field.
  • DELETE /captions/:id — delete.

Caption model

typescript
{
  user: ObjectId,
  team_id: ObjectId,
  type: number,    // numeric category
  name: string,    // label shown in the picker
  content: string, // the snippet body
}

The type field is a numeric category — there is no enum in the model, the frontend picks values when grouping snippets in the picker.

Frontend integration

Open the composer, click Insert caption, and pick a saved template. The frontend appends the caption's content to the current post body. There is no server-side merging — captions are pure text.