HappyOrNot Metadata API
Metadata related endpoints and daa definitions
Metadata related endpoints and daa 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-metadata-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 Metadata 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: Metadata
description: Metadata related endpoints and daa definitions
paths:
/results/metadata.{format}:
get:
tags:
- Metadata
summary: List feedback metadata
description: List metadata related to feedback that match the given parameters
operationId: listMetadata
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 metadata listing
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Metadata'
text/csv:
schema:
type: string
description: CSV file with columns matching Metadata object properties
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
components:
parameters:
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.
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
orderParam:
name: order
in: query
required: false
schema:
type: string
enum:
- desc
- asc
default: asc
description: Order parameter to sort feedbacks by time.
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
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
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
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.
csvSeparatorParam:
name: csvSeparator
in: query
required: false
schema:
type: string
minLength: 1
maxLength: 1
default: ','
description: Applied only for CSV responses
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.
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
formatParam:
name: format
in: path
required: true
schema:
type: string
enum:
- json
- csv
schemas:
Metadata:
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
smileyType:
type: string
enum:
- SMILEY_TERMINAL
- SMILEY_TOUCH
- SMILEY_DIGITAL
key:
type: string
example: refId
value:
type: string
example: ABCD1234
required:
- feedbackId
- smileyId
- localTime
- surveyId
- experiencePointId
- buttonIndex
- misuse
- smileyType
- key
- value
responses:
BadRequestResponse:
description: Bad request, possibly invalid or missing parameter values.
UnauthorizedResponse:
description: Not authenticated, missing or invalid API credentials.
ForbiddenResponse:
description: Not authorised to access the resources given in parameters with the given authentication.
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/