API
Partner resources for surveys, responses, capture links, locations, and webhooks.
Call the API with the Server SDK or HTTPS to https://api.feedbyte.io. Authenticate with a secret API key or an OAuth access token. Public capture URLs need neither.
Surveys and responses
| SDK | Purpose |
|---|---|
feedbyte.surveys.list | List surveys in the organization |
feedbyte.surveys.get | Fetch one survey |
feedbyte.surveys.create | Create a draft (instant or detailed) |
feedbyte.surveys.update | Edit a draft |
feedbyte.surveys.publish / archive | Lifecycle |
feedbyte.responses.summary | Aggregated metrics |
feedbyte.responses.get | One response, including metadata and linkId |
feedbyte.responses.list | Paginated responses (metadata and linkId on each item) |
feedbyte.responses.search | Search over text and transcripts |
feedbyte.responses.export | CSV export (metadata column is JSON) |
const feedbyte = new FeedByte("fb_live_…");
await feedbyte.surveys.list({ status: "active" });
const response = await feedbyte.responses.get("res_91…");
response.metadata; // partner keys from the Capture link
await feedbyte.responses.list({ surveyId, limit: 50 });Respondents load and submit surveys through the public capture URLs, not this API. See Capture. To stamp a response with your own ids, create a Capture link.
Capture links
| SDK | Purpose |
|---|---|
feedbyte.links.create | Issue a unique survey URL with partner metadata |
feedbyte.links.get | Fetch one Capture link |
const link = await feedbyte.links.create({
surveyId,
stationId,
expiresIn: 86400,
metadata: { callId: "c-8841", agentId: "agt_12" },
});
// link.url → https://feedbyte.io/l/{linkId}Public resolution is /l/{linkId}. Metadata is copied onto the response at submit and returned by responses.get, responses.list, responses.export, and response.submitted. See Capture links.
Locations and stations
| SDK | Purpose |
|---|---|
feedbyte.locations.create list get update delete | Locations in the organization |
feedbyte.stations.create list get update delete | Stations in a location |
QR codes
| SDK | Purpose |
|---|---|
feedbyte.qrCodes.create list get update delete | Manage QR codes |
feedbyte.qrCodes.setSurveys | Bind surveys to a QR |
Public resolution is the /q/{slug} URL. See Capture.
Loyalty
Staff: feedbyte.loyalty.getConfig, updateConfig, listRewards, createReward, listRedemptions, fulfillRedemption.
Respondents use the public rewards page at /rewards/{orgSlug}.
Analytics
feedbyte.analytics.overview, sentimentOverTime, byLocation, byStation, healthScore, verbatimFeed.
Apps and webhooks
| SDK | Purpose |
|---|---|
feedbyte.apps.list get rotateKey | Manage Apps in the organization |
feedbyte.webhooks.create list delete | HTTPS endpoints and event subscriptions |
Webhook delivery itself is documented in Webhooks.
Errors
Failed calls throw with code and message. Common codes: UNAUTHORIZED, FORBIDDEN, NOT_FOUND, BAD_REQUEST.