Quick Start
1
Create a Feedback Source
Define where your feedback comes from (e.g., “Support Tickets”, “NPS Survey”)
2
Create or Update People
Ensure the person exists in your system
3
Send Feedback Records
Ingest structured feedback with content and metadata
Authentication
All requests require authentication:Endpoints
Create Feedback Source
POST /v3/rest/feedback-sources
Creates a new feedback source to categorize your data.Response:
Create or Update Person
PUT /v3/rest/people
Ensures a person exists before ingesting their feedback.Response:
Ingest Feedback Record
POST /v3/rest/feedback-sources/{id}/records
Sends structured feedback data to a feedback source.Response:
Field Structure
Categories
content- The actual feedback (comments, descriptions, messages)created_at- Timestamp fieldsidentifier- External identifiers and referencesidentity- User or entity identification fieldsmetadata- Additional context (priority, tags, channel, etc.)
Types
boolean- True/false valuesdate- Date only valuesdatetime- Date and time valuesfloat- Decimal numeric valuesinteger- Whole number valuesjson- Structured JSON datastring- Text content
Example Field
Implementation Examples
- Support Tickets
- NPS Survey
- Slack Feedback
Best Practices
- Use external_id to prevent duplicate records
- Set display_ts to the original timestamp when the feedback was created
- Validate data before sending to avoid errors
- Use snake_case and descriptive field names for consistency
- Include relevant metadata for better filtering and analysis
Error Handling
Common error responses and how to handle them:400 Bad Request
400 Bad Request
Invalid request format or missing required fieldsCheck that:
- All required fields are present
- JSON is properly formatted
- Field types match expected values
401 Unauthorized
401 Unauthorized
404 Not Found
404 Not Found
Feedback source or person not foundVerify:
- Feedback source ID exists
- Person ID is valid (if provided)
- You have access to the resource
409 Conflict
409 Conflict
Duplicate external_id detectedResolution:
- Use a unique external_id
- Check if record already exists
- Update existing record if needed
Rate Limits
- Requests per minute: 100
- Records per request: 1
- Field size limit: 10KB per field value