Whatfix API Reference Beta (1.0.0)

Download OpenAPI specification:Download

This reference helps you implement the RESTful Whatfix API v1. This API uses a JSON format for output and is capable of handling CORS (Cross-Origin Resource Sharing) requests. The API is stateless – all requests are validated against an API token. The API token can be obtained manually from the Whatfix app.

Authentication

While some endpoints do not require authentication, most will require you to be authenticated. To get authenticated you will need to create an user API token from the Whatfix dashboard and pass as header x-whatfix-integration-key. To know more, see Generating the API Integration Key. Pass the email address of the user as the x-whatfix-user header.

   curl -X GET 'https://api.whatfix.com/v1/accounts/c5eerfd0-db6f-11e9-a037-d43b0489acab/content'
      -H 'x-whatfix-integration-key: 9255925e-3e26-4e31-ba77-b680dbf3ba4e'
      -H 'x-whatfix-user: [email protected]'
      -H 'Content-Type: application/json'

This is how POST requests look like:

    curl -X POST 'https://api.whatfix.com/v1/accounts/c5eerfd0-db6f-11e9-a037-d43b0489acab/content'
       -H 'Content-Type: application/json'
       -H 'x-whatfix-integration-key: 9255925e-3e26-4e31-ba77-b680dbf3ba4e'
       -H 'x-whatfix-user: [email protected]'
       -d '[{ "title": "Wikipedia Home Page", "url": "https://www.wikipedia.org/", "type": "link" }]'

Status Codes

The following status codes are possible in Whatfix API Responses. In general

  • Codes in the 2xx range indicate success
  • Codes in the 4xx range indicate request error
  • Codes in the 5xx range indicate server-side error

200 - OK: Returned for GET and PUT when the request is processed on the server and a payload is returned.

201 - Created: Returned for POST and PUT requests when a new object is created

204 - No Content: Returned for DELETE requests when resource is deleted.

207 - Multistatus: Returned for POST/PUT/DELETE requests on partial success. Detailed information of success and failure objects are provided in the response.

400 - Bad Request: Returned for any request if the API format is incorrect or if any query parameters do not comply with the requested resource.

401 - Unauthorized: Returned for any request if the Whatfix integration key is not valid.

403 - Forbidden: Returned for any request if the Whatfix integration key does not have permission for the requested resource. For example, requesting data for an account that cannot be accessed using the integration key.

404 – Not Found: Returned for GET and DELETE requests when no content is found for the requested resource ID.

429 - Too Many Requests: Returned if the permitted rate limit for the account is exceeded.

500, 502, 503, 504 - Server Errors: Returned for any requests if there are server-side errors. Request may succeed on retry.

Pagination

Pagination is performed by the use of 2 filters: cursor and limit

  • cursor is a pointer to a specific row of data.

  • limit specifies the maximum data to return in the result.

Content

APIs for content

Get all content

Get all content (paginated). This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

query Parameters
cursor
string

cursor

limit
integer <int32>
Default: 10

limit

stage
string

stage

state
string

state

Responses

Update content

Update content. This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

array of content

Array
description
string

Description for link type content only

description_md
string

Description for text type content only

id
string

ID of the content. Only needed for the update operation.

source
string

Source of the link content. It can be 'default' or 'knowledgebase'.

tags
Array of strings

Tags name associated with the content.

title
string

Title of the content.

type
string

Type of the content. Example 'text' or 'link' or 'video'.

url
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Create a static content

Create a static content namely links, videos and text by ID. This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

array of content

Array
description
string

Description for link type content only

description_md
string

Description for text type content only

id
string

ID of the content. Only needed for the update operation.

source
string

Source of the link content. It can be 'default' or 'knowledgebase'.

tags
Array of strings

Tags name associated with the content.

title
string

Title of the content.

type
string

Type of the content. Example 'text' or 'link' or 'video'.

url
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get all content created after fromTime

Get all content created after fromTime (paginated). This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

query Parameters
cursor
string

cursor for next page

fromTime
required
integer <int64>

fromTime in milliseconds

limit
integer <int32>
Default: 10

content limit per page

type
string
Example: type=flow

content type

Responses

Get all content updated after fromTime

Get all content updated after fromTime (paginated). This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

query Parameters
cursor
string

cursor for next page

fromTime
required
integer <int64>

fromTime in milliseconds

limit
integer <int32>
Default: 10

content limit per page

type
string
Example: type=flow

content type

Responses

Copy content by ids

Copy contents, widgets, and folders from one account to another. To successfully perform this operation, ensure that the user has access to both the source and destination accounts. This request is asynchronous in nature, i.e. the API’s response will only carry a Job ID that can be used to track the request later. Once the request is complete, an email will be sent to the user who initiated the request.

path Parameters
accountId
required
string

Enterprise account ID

Request Body schema: application/json

request

destinationAccountId
string

Account Id of the destination ent.

destinationUserId
string

Account Id of the destination user.

contentIds
Array of strings

Comma seperated ids of contents/folders/widgets to be copied

copyUserTags
boolean

Copy tags associated with the contents

Responses

Request samples

Content type
application/json
{
  • "destinationAccountId": "string",
  • "destinationUserId": "string",
  • "contentIds": [
    ],
  • "copyUserTags": true
}

Response samples

Content type
application/json
{
  • "jobId": "9d222c6d-893e-4e79-8201-3c9ca16a0f39",
  • "message": "string"
}

Delete content by ids

Delete content by IDs. This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

contentIDArray
required
string
Example: 123,456,789

Comma-separated list of IDs of content

Responses

Get content by id

Get content by ID. This API can be called from integration scripts

path Parameters
accountId
required
string

account ID

id
required
string

ID of content

Responses

Content Tag

Content Tag resource API returns information about all available tags.

You can create tag, update tag's name and description, delete tag in bulk. A tag created will be of 'User' tag type. Updation and deletion can be done to any tag type (user, page or role tag).

Get all tags

Get all tags (paginated)

path Parameters
accountId
required
string

account ID

query Parameters
cursor
string

cursor

limit
integer <int32>
Default: 10

limit

Responses

Add/Update one or more content tags

Add/Update one or more content tags. Updation of only tag 'name' and 'description' are supported.

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

array of tags

Array
description
string

Description of the tag.

name
required
string

Name of the tag. This must be unique across all tags.

newName
string

New name to be updated for existing tag. This must be unique across all tags.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Delete one or more tags

Delete one or more tags

path Parameters
accountId
required
string

account ID

query Parameters
tagNames
required
Array of strings

Comma-separated tag names. Maximum of 50 tag names for supported for bulk deletion.

Responses

Pdf Upload

Pdf Upload to Azure Blob

Uploads pdf file to Azure Blob

Uploads pdf file to Azure Blob. It should be called from integration.

path Parameters
accountId
required
string

account ID

filename
required
string

filename

flowId
required
string

flow ID

timestamp
required
integer <int64>

timestamp

version
required
integer <int64>

version

Responses

Fetches list of files uploaded to Azure Blob for the account

Fetches list of files uploaded to Azure Blob. It should be called from integration.

path Parameters
accountId
required
string

account ID

contentType
required
string

content Type

query Parameters
cursor
string

cursor for next page

fromTime
integer <int64>
Default: 1

from time

limit
integer <int32>
Default: 50

content limit per page

Responses

End User Schema

APIs for end user schema.

Allowed data types are following:

  • boolean: Boolean values e.g. "true", "false"
  • double: Any numeric value e.g. 10 , 20.78
  • string: Any string value e.g. "employee_role"
  • timestamp: Timestamp provided as an ISO-8601 compliant string e.g. "2001-07-04T12:08:56.235-0700"
  • encrypted_string: Any string value which is required to be stored in encrypted format for security purposes e.g. "john.doe@whatfix.com"

Get end user schema

Get end user schema. Called from integrations UI. Returns schema of the end users resource for the account. The schema contains both Whatfix-provided default fields as well custom fields defined by the Account user.

path Parameters
entId
required
string

account ID

fieldName
required
string

fieldName

Responses

Data Integrations

Updates or adds one or more custom fields in the end user schema. Field names are unique and are used to identify the fields that are required to be updated. A maximum of 50 custom fields can be added to the user schema for each account. Called from integrations UI on the dashboard.

path Parameters
entId
required
string

account ID

Request Body schema: application/json

array of end user schema

Array
description
string

Explanation of the field’s purpose.

name
string

Name of the field.

type
string

Data type of the field.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get an end user schema by field name

Get an end user schema by field name. This is called from integrations dashboard.

path Parameters
entId
required
string

account ID

fieldName
required
string

fieldName

Responses

End User

End Users resource API returns the list of end users of the account.

An end user is anyone who engages with Whatfix content on the parent application. The user is identified via one of the following methods:

  • A unique id passed by the application

  • A unique id detected by Whatfix on known applications such as Salesforce

  • A unique cookie set on the user’s browser

The method of user identification must be set in the account. The same ID must be used while specifying the user Id in the API requests. If the detection method is not set, it defaults to the unique cookie method. Apis are used for end user segmentation.

Get all end users (paginated)

Get all end users (paginated). This API can be called from integration scripts.

path Parameters
accountId
required
string

accountId

query Parameters
cursor
string

cursor

limit
integer <int32>
Default: 10

limit

Responses

Update or add end users details

Update or add end users details. This API is calledfrom integration scripts to update end users.

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

array of end user

Array
creationTime
integer <int64>

Timestamp of creation of the record.

custom
object

Custom fields defined in the user schema.

id
string

ID of the user.

lastUpdateTime
integer <int64>

Timestamp of last updation of the record.

object
object

UserAction id vs count map

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get the details of enduser based on id

This API fetches the details of enduser based on id. This API is called from third party applications for segmentation

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

Search parameters for end user

fields
Array of strings

fields to fetch:[custom,useraction]

id
required
string

ID of the user.

useridType
string

user id type:wfx-cookie-user-id/wfx-app-user-id

Responses

Request samples

Content type
application/json
{
  • "fields": [
    ],
  • "id": "string",
  • "useridType": "string"
}

Response samples

Content type
application/json
{
  • "creationTime": 0,
  • "custom": { },
  • "id": "string",
  • "lastUpdateTime": 0,
  • "userActionCount": {
    },
  • "userActions": {
    }
}

Deletes one or more end users

Deletes one or more end users.This API is called from integrations to update the end users.

path Parameters
accountId
required
string

account ID

ids
required
string
Example: 123,456,789

comma-separated list of IDs

Responses

Get end user by id

This API fetches the custom and useraction field if an enduser based on id. This API is called from third party applications for segmentation.

path Parameters
accountId
required
string

account ID

id
required
string

id

query Parameters
fields
Array of strings

fields to fetch:[custom,useraction]

userid-type
string

user id type:wfx-cookie-user-id/wfx-app-user-id

Responses

Update or add an end user

Update or add an end user.This API is called from integrations to update the end users.

path Parameters
accountId
required
string

accountId

id
required
string

id

Request Body schema: application/json

customObjects

object

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "errors": [
    ],
  • "id": "string",
  • "statusCode": 0
}

DFetch personalized content order for a segment.

Fetch personalized content order for a segment.

path Parameters
accountId
required
string

account ID

id
required
string

id

segmentId
required
string

segmentId

query Parameters
userIdSrc
string

userIdSrc

Responses

Response samples

Content type
No sample

Enterprise Integration Attribute Schema

APIs for Enterprise Integration Attribute Schema.

Allowed data types are following:

  • boolean: Boolean values e.g. "true", "false"
  • double: Any numeric value e.g. 10 , 20.78
  • string: Any string value e.g. "employee_role"
  • timestamp: Timestamp provided as an ISO-8601 compliant string e.g. "2001-07-04T12:08:56.235-0700"
  • encrypted_string: Any string value which is required to be stored in encrypted format for security purposes e.g. "john.doe@whatfix.com"

Get schema of the Enterprise Integration Attributes resource.

Returns schema of the Enterprise Integration Attributes resource for the account.It is called from the schema creation tab in integrations. Called from integrations dashboard.

path Parameters
attributeName
required
string

attributeName

entId
required
string

account ID

Responses

Updates or adds one or more attributes

Updates or adds one or more attributes in the Enterprise integration attributes schema. Attribute names are unique and are used to identify the fields that are required to be updated.A maximum of 50 attributes can be added to the schema for each account.Only description can be modified for existing attribute schema. Called from integrations dashboard.

path Parameters
entId
required
string

account ID

Request Body schema: application/json

array of enterprise integration attribute schema

Array
description
string

Explanation of the field’s purpose.

name
string

Name of the field.

type
string

Data type of the field.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Get Enterprise integration attribute schema by attribute name

Get Enterprise integration attribute schema by attribute name.It is called from the schema creation tab in integrations. Called from integrations dashboard.

path Parameters
attributeName
required
string

attributeName

entId
required
string

account ID

Responses

Enterprise Integration Attributes

API returns list of primary and secondary integration attributes belonging to Enterprise.

Get all enterprise integration attributes

Get all enterprise integration attributes

path Parameters
accountId
required
string

accountId

Responses

Update or add Enterprise integration attribute.

Update or add Enterprise integration attribute. This is called from integration scripts.

path Parameters
accountId
required
string

account ID

Request Body schema: application/json

array of end user

Array
additionalAttributes
object

Secondary attributes of a primary integration attribute

attributeName
required
string

Name of the primary integration attribute

lastUpdateTime
integer <int64>

Timestamp of last updation of the record.

lastUpdatedBy
string

Id of user by whom record is last updated.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Deletes specific record with given primary attribute name and primary attribute value

Deletes specific record with given primary attribute name and primary attribute value

path Parameters
accountId
required
string

account ID

primaryAttrNameValue
required
string
Example: Department__wf__Engineering,CompanyId__wf__12345

comma-separated list of primary attribute name value pairs

Responses

Search by given primary attributes.

Search by given primary attributes. This API is called from 3rd party applications for segmentation.

path Parameters
accountId
required
string

accountId

Request Body schema: application/json

Map of primary attributes with comma-separated list of values

property name*
additional property
string

Responses

Request samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Get enterprise integration attributes by primary attribute name

Get enterprise integration attributes by primary attribute name. This API is called from 3rd party applications

path Parameters
accountId
required
string

accountId

primaryAttrName
required
string
Example: PersonaName

primaryAttrName

Responses

Deletes all info associated with primary attribute

Deletes all info associated with primary attribute. Called from integration scripts.

path Parameters
accountId
required
string

account ID

primaryAttrName
required
string
Example: PersonaName

primaryAttrName

Responses

Summary Reports

APIs for Summary Reports

Get report for engagement with Whatfix

Invoked from Analytics tab of dashboard and returns a set of Engagement by end-users.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for most popular flows

Invoked from Analytics tab of dashboard and returns the number of times each flow is viewed over a defined time.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for summary of usage with Whatfix

Invoked from Analytics tab of dashboard and returns the number of queries served Self Help, number of times a Popup was shown to users, number of users initiated a task from Task List, number of times a flow was played, number of times a Smart Tip was shown to users, and number of times a beacon was shown to users.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Self Help Reports

APIs for Self Help Reports

Get report for effectiveness of content played From Self Help

Invoked from Analytics tab of Dashboard and returns the list of Self Help content, the type of content and the number of views for the selected period of time.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for queries served by day

Invoked from Analytics tab of dashboard and returns the trend over each day as users search for content and the maximum number of queries served for that day in Self Help search.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for search terms with user details

Invoked from Analytics tab of dashboard and returns the terms that are unsuccessful

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for successful search terms

Invoked from Analytics tab of dashboard and returns the terms that showed search results.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for search terms with user details

Invoked from Analytics tab of dashboard and returns the terms that are successful

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for Self Help search summary

nvoked from Analytics tab of dashboard and returns the successful vs unsuccessful search results.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for unsuccessful search terms

nvoked from Analytics tab of dashboard and returns the terms that didn't get any search results.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

TaskList Reports

APIs for TaskList Reports

Get report for Task List completion by segment and user

Invoked from Analytics tab of dashboard and returns the list of users and their individual task completion status.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Pop-Up Reports

APIs for Pop-Up Reports

Get report for effectiveness of Guided Pop-Ups

It is invoked from analytics tab in dashboard and returns the number of times each guided popup has appeared and how many times the flow was played.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for effectiveness of Pop-ups

Invoked from Analytics tab of dashboard and returns the number of times each popup has appeared and number of times it is clicked

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for effectiveness of Pop-ups with user details

It is invoked from Analytics tab of dashboard and returns the number of times each popup has appeared and number of times it is clicked by each user

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for effectiveness of Smart Pop-Ups

Invoked from Analytics tab in dashboard and returns the number of times each smart popup has appeared.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Flow Reports

APIs for Flow Reports

Get report for flow completion rate

It is invoked from analytics tab in dashboard and returns how many times the flow was started and completed vs not completed.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow feedback

Invoked from Analytics tab in dashboard and returns how many users found the flow useful against those who didn't find it useful. This data is collected from the feedback popup that appears after the successful completion of each flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow feedback comments

It is invoked from analytics tab of dashboard and returns the feedback comments in verbatim given by the users. This data is collected from the feedback popup that appears after the successful completion of each flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow feedback comments

It is invoked from analytics tab and returns the feedback comments with No in verbatim given by the users. This data is collected from the feedback popup that appears after the successful completion of each flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow history

Invoked from analytics tab in dashboard and returns who has edited the flow and when.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for most exited/failed steps

It is invoked from analytics dashboard and returns how many dropped out at each step of the flow and how many didn’t complete the flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow played By widgets

Invokes from analytics tab in dashboard and returns the number of times the flows are played from each which widget (Self Help, Task List, Beacon, or Guided Popup).

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow usage by day

Invokes from analytics tab in dashboard and returns the number of times each flow is played each day irrespective of the information whether it is completed or not.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

flowId
required
string

flowId

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Flow Summary Reports

APIs for Flow Reports

Flow completion summary with user details

It is invoked from analytics tab and returns flow completion details with user name

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow completion rate

It is invoked from analytics tab and returns how many times the flows were started and completed vs started and not completed.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Flow failure summary with user details

It is invoked from analytics tab and returns flow failure details with user name

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow feedback

It is invoked from analytics tab and returns how many users found the flow useful against those who didn't find it useful. This data is collected from the feedback popup that appears after the successful completion of each flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow feedback comments

It is invoked from analytics tab and returns the feedback comments with Yes in verbatim given by the users. This data is collected from the feedback popup that appears after the successful completion of each flow.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow close missed

It is invoked from analytics tab and returns the number of times the flow was exited by the user.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow played By widgets

It is invoked from analytics tab and returns the number of times the flows were played from each which widget (Self Help, Task List, Beacon, or Guided Popup).

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for flow usage by day

It is invoked from the analytics tab and returns the number of times flows were played each day irrespective of the information whether it is completed or not.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Smart Tip Reports

APIs for Smart Tip Reports

Get report for most popular Smart Tip

Invoked from Analytics tab of dashboard and returns the number of times each smart tip is played.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for Smart Tips played by day

Invoked from Analytics tab of dashboard and returns the number of times smart tips are played each day.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for Smart Tips With user details

Invoked from Analytics tab of dashboard and returns the number of times each smart tip is played with user details

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Beacon Reports

APIs for Beacon Reports

Get report for effectiveness of beacons

Invoked from analytics dashboard and returns the number of users to whom each beacon has appeared and how many clicked it.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Get report for effectiveness of beacons with user details

Invoked from dashboard and returns the user engagement summary with beacons.

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

User Action Reports

User Action Summary Report Controller

Get report for user action details

Invoked from Analytics tab, API to expose the User action details and Occurrence with respect to times it has been done

path Parameters
accountId
required
string

account ID

query Parameters
endDate
string

endDate

excludeDomains
Array of strings

excludeDomains

format
string

Report file format

Supported file formats : csv, json

includeDomains
Array of strings

includeDomains

startDate
string

startDate

Responses

Response samples

Content type
No sample

Audit Log

Get audit logs with custom date range for an enterprise account.

  • API authentication token : It has configurable TTL. Please contact administrator for configuring it for your account.

  • API rate limiting is in place.

  • If start and end date both are not provided then API will return last 90 days logs by default.

  • If only start date is provided then API will return logs from given start date till yesterday midnight.

  • If only end date is provided then API will return last 90 days logs from given end date.

  • Start and end dates will be considered as per UTC time standard.

  • If userId is provided then API will return only particular user's audit logs or else all users logs.

Sample request to get audit logs by enterprise account ID -

   curl -X POST 'https://api.whatfix.com/v1/accounts/c5eerfd0-db6f-11e9-a037-d43b0489acab/auditlogs'
      -H 'x-whatfix-integration-key: 9255925e-3e26-4e31-ba77-b680dbf3ba4e'
      -H 'x-whatfix-user: [email protected]'
      -H 'Content-Type: application/json'
--data-raw '{
                "startDate" : "2022-05-09 00:00",
                "endDate" : "2022-06-30 23:59"
             }'

Sample request to get audit logs of particular user of an enterprise account -

   curl -X POST 'https://api.whatfix.com/v1/accounts/c5eerfd0-db6f-11e9-a037-d43b0489acab/auditlogs'
      -H 'x-whatfix-integration-key: 9255925e-3e26-4e31-ba77-b680dbf3ba4e'
      -H 'x-whatfix-user: [email protected]'
      -H 'Content-Type: application/json'
--data-raw '{
                 "startDate" : "2022-05-09 00:00",
                 "endDate" : "2022-06-30 00:00",
                 "userId":"0bbcd1c0-87e0-11eb-aa6f-0242ec1e1851"
             }'

Note : We have made API as POST to avoid caching of PII data in some framework due to GET method and to avoid very long query parameter string in URL for fetching audit logs with custom date range.

Get audit logs (paginated)

path Parameters
accountId
required
string

Enterprise account ID

query Parameters
cursor
string

Cursor value of next page of paginated response

limit
integer <int32>
Default: 100

Number of records per page of paginated response. Max limit per page : 500

Request Body schema: application/json

request

startDate
string

Start date (format YYYY-MM-DD HH:MM) of date range

endDate
string

End date (format YYYY-MM-DD HH:MM) of date range

userId
string

User ID of user for which you want to do filter logs by user

Responses

Request samples

Content type
application/json
{
  • "startDate": "2022-01-01 00:00",
  • "endDate": "2022-01-01 00:00",
  • "userId": "string"
}