Skip to main content
GET
/
signals
/
api
/
v1
/
brand
/
signals
/
{signal_id}
/
Get brand signal
curl --request GET \
  --url https://www.closient.com/signals/api/v1/brand/signals/{signal_id}/ \
  --header 'X-API-Key: <api-key>'
{
  "id": "<string>",
  "gtin": "<string>",
  "category": "<string>",
  "body": "<string>",
  "has_voice": true,
  "contact_consent": true,
  "is_flagged": true,
  "created": "2023-11-07T05:31:56Z",
  "batch": "<string>",
  "serial": "<string>",
  "sentiment": "<string>",
  "contact_email": "<string>",
  "flag_reason": "profanity"
}

Authorizations

X-API-Key
string
header
required

Path Parameters

signal_id
string<shortuuid>
required

Public short-UUID id of the signal.

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$

Response

OK

A signal as a brand member sees it (ownership + claim scoped).

Same code-not-label contract as :class:SignalOut. contact_email is present only when the consumer consented and a verified address is still attached (C-3310 consent + verification gate); otherwise it is null. Internal consumer-account details beyond the consented contact email are never exposed.

id
string<shortuuid>
required

Public short-UUID identifier of the signal.

Required string length: 22
Pattern: ^[23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{22}$
gtin
string
required

GTIN of the product this signal is about (the product's GTIN-14 string).

category
string
required

Consumer-picked category as a stable code (e.g. quality_issue). Never a translated label.

body
string
required

Freeform feedback text the consumer wrote (may be empty for voice-only signals).

has_voice
boolean
required

True when a voice capture session backs this signal.

Whether the consumer opted in to be contacted about this feedback.

is_flagged
boolean
required

True when the text-hygiene heuristic flagged this signal's content (profanity/abuse). A flag is advisory — the signal is shown regardless; it never blocks submission. Use it to triage.

created
string<date-time>
required

ISO-8601 timestamp the signal was submitted.

batch
string | null

Batch/lot identifier (GS1 AI 10) carried from the scan, or null.

serial
string | null

Serialized-unit context carried from the scan, or null.

sentiment
string | null

Optional consumer-declared sentiment code (positive / neutral / negative), or null.

contact_email
string | null

The consumer's verified contact email — present ONLY when contact_consent is true AND a verified address is still attached. Null in every other case (no consent, or the address was removed / lost verification). Use it in your own email; Closient does not relay replies.

flag_reason
enum<string> | null

Stable code describing why the signal was flagged (e.g. profanity), or null when not flagged. A code, never a translated label.

Available options:
profanity