FleetbaseFleetbase

Comments

Comments on orders and other records — internal notes versus comments the customer can see, how visibility is decided, and the comment.created event.

Comments

Records such as orders carry a comment thread: notes your team leaves for each other, and remarks the customer or driver may see. Each comment has a visibility that decides who can read it.

Comment visibility and the comment.created event arrive with core-api v1.6.69.

Visibility

VisibilityWho sees it
internalYour organization's users in the console only. Never returned by the public API or broadcast to customer and driver channels.
customerThe console, and customer- and driver-facing apps through the public API and realtime channels

A comment's visibility is stored in meta.visibility and returned as visibility on the comment.

How visibility is decided

When a comment is created without a visibility:

  • A reply takes the visibility of the comment it replies to.
  • A comment on an order is internal when written in the console and customer when written through the public API (for example by an app).
  • A comment on anything else gets no visibility and is treated as visible to customers, as before.

To choose explicitly, send visibility (internal or customer) when creating the comment; any other value is refused.

POST /v1/comments
Authorization: Bearer flb_live_...

{
  "subject": { "id": "order_9Kx2mQ1", "type": "fleet-ops:order" },
  "content": "Gate code is 4412",
  "visibility": "customer"
}

On the public API

  • GET /v1/comments leaves internal comments out.
  • GET /v1/comments/{id} returns 404 for an internal comment.
  • Replies that are internal are left out of a comment's replies.

Comments written before visibility existed have none and stay visible.

The comment.created event

Every new comment is broadcast as comment.created:

  • on company.{uuid}, for the console, whatever its visibility;
  • for comments visible to customers, also on the subject's own channels — {subject}.{public_id} and {subject}.{uuid}, for example order.order_9Kx2mQ1 — so customer and driver apps following the order receive it. Internal comments are never sent there.
{
  "id": "event_6714…",
  "event": "comment.created",
  "created_at": "2026-10-13 12:04:11",
  "subject_id": "order_9Kx2mQ1",
  "data": { "id": "comment_4Pz7qW2", "content": "Gate code is 4412", "visibility": "customer", "…": "…" }
}

See Socket Events for subscribing to channels.

Comments | Fleetbase