01
Authenticate
Create a scoped API key for the whole workspace or one store.
Authorization: Bearer nk_live_5893... x-workspace-id: 1042
Integrations
Pass feedback context into POS, CRM, and email flows with scoped keys, one-time links, and payloads that stay useful after submission.
POST /api/external/token
x-api-key: nk_a1b2...
{
"storeSlug": "downtown-coffee",
"payload": {
"orderId": "ORD-12345",
"civ": "CUST-7891"
}
}civ — Customer Identification Value. Ties this feedback to a returning customer so the dashboard can show loyalty trends over time.
Common patterns
Create survey links automatically when an order closes.
Attach order IDs, account fields, and customer context.
Send one-time feedback links in post-purchase sequences.
How it works
01
Create a scoped API key for the whole workspace or one store.
Authorization: Bearer nk_live_5893... x-workspace-id: 1042
02
Request a one-time token with metadata — including an optional civ to identify the customer across future visits.
POST /api/external/token storeSlug: downtown-coffee orderId: ORD-12345 civ: CUST-7891
03
Search, filter, and export feedback using the context you passed in.
5-star feedback ORD-12345 Source: POS
Customer Identification Value
A single opaque string — a loyalty ID, phone hash, or account number — passed from your POS or billing software connects each piece of feedback to a real customer. Ukta never stores PII; it stores only the value you send, which means the data stays useful without introducing compliance risk.
Are the improvements you ship actually landing with repeat customers? The dashboard compares first-visit vs return-visit avg rating and CSAT side by side so you can answer that question with data instead of instinct.
A loyalist who starts rating 3★ after years of 5★ is a churn signal, not a random outlier. CIV-linked tracking surfaces this as a loyalty signal: "Repeat visitors growing dissatisfied" before it becomes a lost customer.
High total feedback count can hide low retention. CIV lets you see what proportion of your identified customers came back — the return rate — which is a truer signal of experience quality than raw volume alone.
Option A — embed at token generation
Ideal for POS and billing integrations that generate the survey link at checkout. Pass civ inside the payload when requesting a token. Ukta extracts and indexes it automatically when the customer submits.
POST /api/external/token
x-api-key: nk_a1b2...
{
"storeSlug": "downtown-coffee",
"payload": {
"orderId": "ORD-12345",
"civ": "CUST-7891" ← loyalty ID / phone hash
}
}The customer sees a normal survey link. The civ travels with the token and is stored when they submit — no extra step needed on the survey side.
Option B — pass at submission
For integrations that submit feedback directly — bypassing the survey UI — include civ as a top-level field alongside the rating. Works with both one-time tokens and reusable campaign tokens.
POST /api/external/public/submit
{
"token": "tkn_xyz...",
"rating": 5,
"comment": "Great service as always.",
"civ": "CUST-7891" ← same ID, any submission path
}If both the token payload and the submit body carry a civ, the submit body value takes precedence — useful when the customer authenticates at survey time rather than at checkout.
What appears on the dashboard once CIV data flows in
Return rate
What share of identified customers submitted feedback more than once in the selected period.
First visit vs return visit
Side-by-side avg rating and CSAT % for customers on their first submission vs those who have returned.
Loyalty signal
Automatic classification: returning customers rating you higher, lower, or consistently — with the exact delta displayed.
Use secure APIs and tracked links to keep customer context intact from trigger to response.