HappyOrNot Alerts API
Endpoints and data definitions related to alerts which have been triggered by incoming feedback, based on alert specfications
Endpoints and data definitions related to alerts which have been triggered by incoming feedback, based on alert specfications
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:happyornot-alerts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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 Alerts 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: Alerts
description: Endpoints and data definitions related to alerts which have been triggered by incoming feedback, based on alert specfications
paths:
/alerts.{format}:
get:
tags:
- Alerts
summary: List alerts
description: List of all alerts
operationId: listAlerts
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/pagingOffsetParam'
- $ref: '#/components/parameters/pagingLimitParam'
responses:
'200':
description: successful alert listing
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Alert'
text/csv:
schema:
type: string
description: CSV file with columns matching Alert object properties
'400':
$ref: '#/components/responses/BadRequestResponse'
'401':
$ref: '#/components/responses/UnauthorizedResponse'
'403':
$ref: '#/components/responses/ForbiddenResponse'
components:
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.
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.
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
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
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
formatParam:
name: format
in: path
required: true
schema:
type: string
enum:
- json
- csv
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
responses:
BadRequestResponse:
description: Bad request, possibly invalid or missing parameter values.
ForbiddenResponse:
description: Not authorised to access the resources given in parameters with the given authentication.
UnauthorizedResponse:
description: Not authenticated, missing or invalid API credentials.
schemas:
Alert:
type: object
properties:
alertId:
type: integer
format: int64
alertSpecificationId:
type: integer
format: int64
surveyId:
type: integer
format: int64
experiencePointId:
type: integer
format: int64
beginTime:
type: string
format: date-time
description: Time when alert was triggered, in experience point's local time
endTime:
type: string
format: date-time
description: Time when alert was closed, in experience point's local time. If empty, alert is still open.
alertSpecificationType:
type: string
enum:
- negative
- feedbackCount
- indexThreshold
parameters:
type: string
pattern: ^(\w+=[\w,]*)( \w+=[\w,]*)*$
example: key1=value1 key2=value2 key3=value3a,value3b
acknowledged:
type: boolean
description: Is the alert acknowledged or not
acknowledgedByUserId:
type: integer
format: int64
description: HappyOrNot Analytics user id who acknowledged the alert.
acknowledgedTime:
type: string
format: date-time
description: Time when alert was acknowledged, in experience point's local time.
required:
- alertId
- alertSpecificationId
- surveyId
- experiencePointId
- beginTime
- alertSpecificationType
- parameters
- acknowledged
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/