API overview

REST endpoints by module. Every route below sits behind JwtAuthGuard unless noted.

Hand-maintained, not generated

There's no OpenAPI spec behind this page. It's a direct reflection of the NestJS controllers. Treat the controller source as the final word if this drifts.

Auth

MethodPathNotes
POST/auth/loginNo guard. Returns a JWT carrying { sub, tenantId }. No signup or refresh flow.

Accounts

MethodPathNotes
GET/accountsList accounts for the current tenant.
POST/accountsCreate a channel row. Requires riskAcknowledged: true for browser_session connections.
GET/accounts/:id
PATCH/accounts/:id
DELETE/accounts/:idAlso unschedules any recurring mention-scrape job for the account.
POST/accounts/:id/secretStore the encrypted session/bot credential.
POST/accounts/:id/verifyRuns a live check against the platform, flips status to active on success.
GET/accounts/:id/topic-performanceSee The loop.
GET/accounts/:id/metrics-timeseries?days=7|30Zero-filled daily series behind Analytics.

Posts and publishing

MethodPathNotes
GET/postsFilterable by status, accountId, and a date range.
POST/posts/:id/approveMoves pending_approvalscheduled.
PATCH/posts/:id/bodyEdit draft text before approval.
POST/posts/:id/rejectBody includes a rejection reason. See Review queue.
POST/posts/:id/publishPublish now, skipping the schedule.
PATCH/posts/:id/scheduleReschedule; replaces rather than duplicates the pending publish job.
PATCH/posts/:id/mark-postedManual-posting accounts only. Requires the post already be ready_to_copy.
DELETE/posts/:idRemoves the record. Does not un-post from the platform if already posted.

Schedules and configs

MethodPathNotes
GET/schedulesFilterable by account and date range; includes projected future runs.
PATCH/schedules/:idPause/resume, or change cadence.
GET / POST/configs
PATCH / DELETE/configs/:id
POST/configs/:id/generateTriggers GenerationService.generate on demand.

Topics and brand voice

MethodPathNotes
GET / POST/topicsShared across all accounts.
GET / POST/brand-profilesScoped to one account.

Competitors

MethodPathNotes
GET / POST/competitors
PATCH / DELETE/competitors/:idPause/resume tracking, or remove.

Inbox

MethodPathNotes
GET/dm-threadsScrapes live on every call. No background job.
GET/dm-threads/:id/messages
POST/dm-threads/:id/messagesSends a reply through the account's session.

Reply Manage

MethodPathNotes
GET/mentionsFilterable by status.
POST/mentions/:id/approveSends the drafted reply.
POST/mentions/:id/dismiss
GET / POST/reply-configs
PATCH/reply-configs/:idToggle active or requireApproval.

Billing and cost

MethodPathNotes
GET/billing/balance
POST/billing/topup
GET/cost/summaryTotal spend, broken down by kind.
GET/cost/eventsThe raw, itemized event ledger.

Health

MethodPathNotes
GET/healthNo guard. Liveness check.

On this page