This method allows you to fetch follow-ups that were created within a response.

Follow-ups are sorted newest to oldest. You can filter by several different fields including status, date, etc.

This method will return up to 500 follow-ups at a time and you can use paging to fetch additional records.

The paging field in the response includes total which contains the total number of matching follow-ups available and last_page which is the highest page number which would contain results.


Parameters

Your request data may contain the following parameters. GET or POST the object (as JSON) to https://api.kpaehs.com/v1/followups.list.

Parameter TypeScript Example Required Description
token string "YOUR_TOKEN" Required Your API Token
pretty boolean true Optional true means the response json will include white space for readability. Default is false.
form_id number 3987 Optional The id of the form.
limit number 500 Optional The maximum number of follow-ups to return. Max 500. Defaults to 100. Use page to fetch additional records.
page number 1 Optional The page of responses to return. Defaults to 1. The response field paging.last_page tells you what the last valid page number is.
status string "open" Optional Filter follow-ups by whether they are open or closed. Defaults to including all follow-ups. all or undefined includes all follow-ups. open only includes pending follow-ups. closed only includes completed follow-ups. overdue only includes overdue follow-ups.
observer_id string "5804f0f30ef50473af5870c6" Optional Filters follow-ups by the user id of the observer who originally created the follow-up.
assignee_id string "5804f0f30ef50473af5870c6" Optional Filters follow-ups by the user id of the person who the follow-up is currently assigned to.
response_id number 23974 Optional Filters follow-ups by the form response where it was created.
created_before number 1476981004760 Optional Only include follow-ups created before the given date. Should be formatted as the number of milliseconds since 1970.
created_after number 1473688379489 Optional Only include follow-ups created after the given date. Should be formatted as the number of milliseconds since 1970.
updated_before number 1476981004760 Optional Only include follow-ups updated before the given date. Should be formatted as the number of milliseconds since 1970.
updated_after number 1473688379489 Optional Only include follow-ups updated after the given date. Should be formatted as the number of milliseconds since 1970.

Example Request


Example Response

{
  "ok": true,
  "paging": {
    "total": 66,
    "last_page": 33
  },
  "followups": [
    {
      "id": "0vk5jl66j6izgmu92pojun83",
      "form_id": 1024,
      "response_id": 1028,
      "open": true,
      "created_on": 1558471167747,
      "updated_on": 1558471167747,
      "m_observer_id": "5ce43c0bb9b9b149d361bb27",
      "m_assigner_id": "5ce43c0bb9b9b149d361bb27",
      "m_assignee_id": "5ce43c0bb9b9b149d361bb27",
      "messages": [
        {
          "id": "0vk5jl66j6izgmu92pojun83",
          "date": 1558471167747,
          "m_user_id": "5ce43c0bb9b9b149d361bb27",
          "note": "Jake, please let me know when this is done"
        }
      ]
    },
    {
      "id": "0vk5jl66j6izgmu92pojun83",
      "form_id": 2342,
      "response_id": 35283,
      "open": true,
      "created_on": 1558471167747,
      "updated_on": 1558475191733,
      "m_assignee_id": "5ce43c0bb9b9b149d361bb27",
      "m_assigner_id": "5ce43c0bb9b9b149d361bb27",
      "m_observer_id": "5ce43c0bb9b9b149d361bb27",
      "due": 20190521,
      "messages": [
        {
          "id": "0vk5jl66j6izgmu92pojun83",
          "date": 1558471167747,
          "note": "Bryan - can you fix this?",
          "m_user_id": "5ce43c0bb9b9b149d361bb27"
        },
        {
          "id": "v4duw0qvl49y0xoe82ou",
          "date": 1558475191733,
          "m_user_id": "5ce43c0bb9b9b149d361bb27",
          "m_reassignee_id": "5ce43c0bb9b9b149d361bb27",
          "note": "Hey Marvin - re-assigning to you bud!"
        }
      ]
    },
    {
      "id": "7g4t1f3dkxv1ja2gnhds",
      "due": 20190522,
      "open": false,
      "form_id": 2342,
      "response_id": 35283,
      "created_on": 1558558322733,
      "updated_on": 1558558445449,
      "m_assignee_id": "5ce43c0bb9b9b149d361bb27",
      "m_assigner_id": "5ce43c0bb9b9b149d361bb27",
      "m_observer_id": "5ce43c0bb9b9b149d361bb27",
      "resolved_on": 1558558445449,
      "m_completer_id": "5ce43c0bb9b9b149d361bb27",
      "messages": [
        {
          "id": "wcdw4c5pnj83fw9fkgnb",
          "date": 1558558322733,
          "note": "Bill, please fix",
          "m_user_id": "5ce43c0bb9b9b149d361bb27"
        },
        {
          "id": "ey4nq9gn14gaz3yv7g46",
          "date": 1558558445449,
          "m_user_id": "5ce43c0bb9b9b149d361bb27",
          "signature": null,
          "attachments": [
            {
              "key": "5ce43c0bb9b9b149d361bb26/private/cnf5zz8cdqu0miff/[Test] Support Receipt (HTML ONLY).eml",
              "caption": "Here's the fixed version"
            }
          ],
          "notify": true,
          "note": "Thanks frank, it's done. See attached pic."
        }
      ]
    }
  ]
}

Errors

If an error occurs, the response JSON will have ok set to false:

{
  "ok": false,
  "error": "token_invalid",
  "description": "The token `YOUR_TOKEN` was not found."
}

The error field will contain one of the following error identifiers and there may also be a description field with a more detailed explanation:

Identifier Description
api_method_not_found The requested url did not match any KPA Flex API method.
request_method_invalid The requested method was not GET or POST.
request_data_invalid The request did not include a valid JSON request object.
rate_limit_exceeded This token is exceeding its request limit.
token_missing The request did not include a token.
token_invalid The request token was invalid.
token_inactive The request token was has been deactivated.
token_permission The request token does not have write permission.
account_inactive The request token was for an account that is not active.
parameter_unexpected The request data included a parameter that is not supported.
parameter_missing The request data failed to include a parameter which was required.
parameter_invalid The request data included a parameter which had a value that is not allowed.
server_error The server encountered an internal error.
content_not_found The requested content was not found.