OpenAPI Specification
openapi: 3.0.3
info:
title: Wootric Declines Settings API
description: 'REST API for managing end users, survey responses, declines, settings, metrics, segments, and email survey distribution across NPS, CSAT, and CES programs. Wootric (now part of InMoment) supports multi-region deployments across US, EU, and AU environments.
'
version: 1.0.0
contact:
name: Wootric API Documentation
url: https://docs.wootric.com/api/
servers:
- url: https://api.wootric.com
description: US production endpoint
- url: https://api.eu.wootric.com
description: EU production endpoint
- url: https://api.au.wootric.com
description: AU production endpoint
security:
- BearerAuth: []
tags:
- name: Settings
description: Manage end user survey settings
paths:
/v1/end_users/{id}/settings:
parameters:
- name: id
in: path
required: true
description: End user ID
schema:
type: integer
get:
operationId: getEndUserSettings
summary: Get end user survey settings
tags:
- Settings
responses:
'200':
description: Settings object
content:
application/json:
schema:
$ref: '#/components/schemas/EndUserSettings'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateEndUserSettings
summary: Update end user survey settings
tags:
- Settings
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EndUserSettingsInput'
responses:
'200':
description: Updated settings object
content:
application/json:
schema:
$ref: '#/components/schemas/EndUserSettings'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Unauthorized - invalid or missing token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
EndUserSettings:
type: object
properties:
email_nps:
type: boolean
description: Whether email NPS surveys are enabled
mobile_nps:
type: boolean
description: Whether mobile NPS surveys are enabled
web_nps:
type: boolean
description: Whether web NPS surveys are enabled
force_web_survey:
type: boolean
description: Force web survey regardless of throttling
force_mobile_survey:
type: boolean
description: Force mobile survey regardless of throttling
surveys_disabled_by_end_user:
type: boolean
description: Whether end user has opted out of surveys
Error:
type: object
properties:
error:
type: string
description: Error message
status:
type: integer
description: HTTP status code
EndUserSettingsInput:
type: object
properties:
email_nps:
type: boolean
mobile_nps:
type: boolean
web_nps:
type: boolean
force_web_survey:
type: boolean
force_mobile_survey:
type: boolean
surveys_disabled_by_end_user:
type: boolean
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: 'OAuth 2.0 Bearer token. Obtain via password, client_credentials, or refresh_token grant. Tokens expire after 2 hours.
'