Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/wootric-declines-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API 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 Specification
openapi: 3.2.0
info:
title: Wootric Declines 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: Declines
description: Manage survey decline records
paths:
/v1/declines:
get:
operationId: listDeclines
summary: Get all declines
tags:
- Declines
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
- $ref: '#/components/parameters/created'
- $ref: '#/components/parameters/updated'
- $ref: '#/components/parameters/sort_order'
- $ref: '#/components/parameters/sort_key'
responses:
'200':
description: Array of decline objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Decline'
'401':
$ref: '#/components/responses/Unauthorized'
/v1/end_users/{end_user_id}/declines:
parameters:
- name: end_user_id
in: path
required: true
description: End user ID
schema:
type: integer
get:
operationId: listEndUserDeclines
summary: Get all declines for an end user
tags:
- Declines
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/per_page'
- $ref: '#/components/parameters/created'
- $ref: '#/components/parameters/updated'
- $ref: '#/components/parameters/sort_order'
- $ref: '#/components/parameters/sort_key'
responses:
'200':
description: Array of decline objects
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Decline'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
post:
operationId: createDecline
summary: Create a decline for an end user
tags:
- Declines
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DeclineInput'
responses:
'200':
description: Created decline object
content:
application/json:
schema:
$ref: '#/components/schemas/Decline'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/v1/end_users/{end_user_id}/declines/{id}:
parameters:
- name: end_user_id
in: path
required: true
description: End user ID
schema:
type: integer
- name: id
in: path
required: true
description: Decline ID
schema:
type: integer
get:
operationId: getEndUserDecline
summary: Get a specific decline for an end user
tags:
- Declines
responses:
'200':
description: Single decline object
content:
application/json:
schema:
$ref: '#/components/schemas/Decline'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteDecline
summary: Delete a decline
tags:
- Declines
responses:
'204':
description: No content (deletion successful)
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/v1/declines/{id}:
put:
operationId: updateDecline
summary: Update a decline
tags:
- Declines
parameters:
- name: id
in: path
required: true
description: Decline ID
schema:
type: integer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
end_user:
type: object
properties:
properties:
type: object
additionalProperties: true
responses:
'204':
description: No content (update successful)
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
sort_key:
name: sort_key
in: query
description: Field to sort by
schema:
type: string
created:
name: created
in: query
description: Filter by creation timestamp (Unix epoch)
schema:
type: integer
per_page:
name: per_page
in: query
description: Number of records per page
schema:
type: integer
minimum: 1
maximum: 500
default: 25
page:
name: page
in: query
description: Page number for pagination
schema:
type: integer
minimum: 1
default: 1
updated:
name: updated
in: query
description: Filter by update timestamp (Unix epoch)
schema:
type: integer
sort_order:
name: sort_order
in: query
description: Sort direction
schema:
type: string
enum:
- asc
- desc
schemas:
EndUser:
type: object
properties:
id:
type: integer
description: Unique identifier
email:
type: string
format: email
description: End user email address
external_id:
type: string
description: External identifier from your system
external_created_at:
type: integer
description: Unix timestamp of user creation in your system
last_surveyed:
type: integer
description: Unix timestamp of last survey sent
surveys_disabled:
type: boolean
description: Whether surveys are disabled for this user
properties:
type: object
additionalProperties: true
description: Custom properties as key-value pairs
created_at:
type: integer
description: Unix timestamp of record creation
updated_at:
type: integer
description: Unix timestamp of last update
Error:
type: object
properties:
error:
type: string
description: Error message
status:
type: integer
description: HTTP status code
Decline:
type: object
properties:
id:
type: integer
description: Unique identifier
origin_url:
type: string
description: URL where the survey was declined
created_at:
type: integer
description: Unix timestamp of decline
updated_at:
type: integer
description: Unix timestamp of last update
end_user:
$ref: '#/components/schemas/EndUser'
DeclineInput:
type: object
properties:
origin_url:
type: string
description: URL where the survey was declined
created_at:
type: integer
description: Unix timestamp for the decline
end_user:
type: object
properties:
properties:
type: object
additionalProperties: true
responses:
Unauthorized:
description: Unauthorized - invalid or missing token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
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.
'