HappyOrNot Follow Up Feedbacks API
Follow-up feedback related endpoints and data definitions
Follow-up feedback related endpoints and data definitions
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/happyornot-follow-up-feedbacks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: HappyOrNot Customer API v2 Follow Up Feedbacks API
description: '### HappyOrNot Customer API v2 is designed for
* fetching feedbacks of all type (button, followups, text, demographics, contact details)
* fetching information about experience points, surveys and other
metadata related to fetching and displaying feedback
* fetching information about users of HappyOrNot Analytics
* fetching information about smileys, that is the physical devices or digital tokens for feedback gathering
### Useful links:
* HappyOrNot website
* HappyOrNot Analytics
### Base URL…'
termsOfService: https://www.happy-or-not.com/terms/
contact:
email: api@happy-or-not.com
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: '2.0'
servers:
- url: https://api.happy-or-not.com/v2
security:
- ApiTokenAuth: []
- ApiTokenViaQueryStringAuth: []
tags:
- name: follow-up-feedbacks
description: Follow-up feedback related endpoints and data definitions
paths:
/results/follow-up-feedbacks.{format}:
get:
tags:
- follow-up-feedbacks
summary: List follow-up feedbacks
description: List follow-up feedbacks that match the given parameters
operationId: listFollowupFeedbacks
parameters:
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/csvSeparatorParam'
- $ref: '#/components/parameters/surveyIdParam'
- $ref: '#/components/parameters/experiencePointIdParam'
- $ref: '#/components/parameters/periodParam'
- $ref: '#/components/parameters/startDateParam'
- $ref: '#/components/parameters/endDateParam'
- $ref: '#/components/parameters/includeMisuseParam'
- $ref: '#/components/parameters/pagingOffsetParam'
- $ref: '#/components/parameters/pagingLimitParam'
- $ref: '#/components/parameters/orderParam'
responses:
'200':
description: successful follow-up feedback listing
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/FollowupFeedback'
text/csv:
schema:
type: string
description: CSV file with columns matching FollowupFeedback object properties
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
components:
schemas:
FollowupFeedback:
type: object
properties:
feedbackId:
type: string
format: uuid
smileyId:
type: integer
format: int64
localTime:
type: string
format: date-time
description: Time the feedback was given, in the time zone of the experience point in the survey
surveyId:
type: integer
format: int64
experiencePointId:
type: integer
format: int64
buttonIndex:
type: integer
minimum: 0
maximum: 10
description: buttonIndex that was given at button feedback phase. Available here for convenience. See details from Button Feedback docs.
misuse:
type: boolean
description: If true, the feedback was deemed to be misuse
position:
type: integer
minimum: 0
description: Position in the survey flow. 0 being the first phase.
ui:
type: string
enum:
- physical
- digital
- exit
- skip
- timeout
- touchless
- qr
- link
- email
smileyType:
type: string
enum:
- SMILEY_TERMINAL
- SMILEY_TOUCH
- SMILEY_DIGITAL
followupQuestionId:
type: integer
format: int64
followupOptionId:
type: integer
format: int64
followupOptionTextInDefaultLocale:
type: string
required:
- feedbackId
- smileyId
- localTime
- surveyId
- experiencePointId
- buttonIndex
- misuse
- position
- smileyType
- followupOptionId
parameters:
surveyIdParam:
name: surveyId
in: query
required: false
schema:
type: integer
format: int64
description: Survey id that might have been acquired by using the /surveys endpoint
pagingLimitParam:
name: limit
in: query
required: false
schema:
type: integer
minimum: 0
maximum: 10000
default: 1000
description: Paging parameter to determine the maximum size of the result set matching the search criteria.
orderParam:
name: order
in: query
required: false
schema:
type: string
enum:
- desc
- asc
default: asc
description: Order parameter to sort feedbacks by time.
startDateParam:
name: startDate
in: query
required: false
schema:
type: string
format: date
description: Inclusive start date. Defaults to current date. NOTE! startDate->endDate max interval is 1 year.
example: 2023-09-26
csvSeparatorParam:
name: csvSeparator
in: query
required: false
schema:
type: string
minLength: 1
maxLength: 1
default: ','
description: Applied only for CSV responses
experiencePointIdParam:
name: experiencePointId
in: query
required: false
schema:
type: integer
format: int64
description: Experience point id that might have been acquired by using the /experience-points endpoint
endDateParam:
name: endDate
in: query
required: false
schema:
type: string
format: date
description: Exclusive end date. Defaults to tomorrow. NOTE! startDate->endDate max interval is 1 year.
example: 2023-09-27
periodParam:
name: period
in: query
required: false
schema:
type: string
pattern: ^(today|yesterday|this-week|last-week|this-month|last-month|this-year|last-year|\d{4}(-(0[1-9]|1[0-2]|q[1-4]))?)$
description: If both period parameter and startDate/endDate are given, latter takes precedence. Week start is always Monday.
example: today,last-year,2023-12,2023-q3
includeMisuseParam:
name: includeMisuse
in: query
required: false
schema:
type: boolean
default: false
description: If true, also feedback that has been deemed misuse will be included in the response.
pagingOffsetParam:
name: offset
in: query
required: false
schema:
type: integer
minimum: 0
default: 0
description: Paging parameter to determine the index of the first item from the whole result set matching the search criteria.
formatParam:
name: format
in: path
required: true
schema:
type: string
enum:
- json
- csv
responses:
ForbiddenResponse:
description: Not authorised to access the resources given in parameters with the given authentication.
BadRequestResponse:
description: Bad request, possibly invalid or missing parameter values.
UnauthorizedResponse:
description: Not authenticated, missing or invalid API credentials.
securitySchemes:
ApiTokenAuth:
type: apiKey
in: header
name: X-HON-API-Token
description: API Tokens are managed in Organization Settings page in Analytics
ApiTokenViaQueryStringAuth:
type: apiKey
in: query
name: auth
description: E.g. /some/path?auth=<tokenhere>
externalDocs:
description: More about HappyOrNot APIs
url: https://happyornot.github.io/docs/api/