Acquainto
← API reference

Eflows

GET/v1/eflows/{id}/stats

Retrieve eflow stats

Started, completed, completion rate, and the question that loses the most respondents, over a window that defaults to the last 30 days.

Drop-off is derived, not logged: there is no “question viewed” event, so a session counts as having reached a question when its answers or its parked position cover that question’s place in the order. Branch questions are excluded, since which of them a respondent sees depends on their own answers.

Requires the eflows:read scope.

Example request

curl https://api.acquainto.com/v1/eflows/eflow_abc123/stats \
  -H "Authorization: Bearer acq_live_xxxxxxxx"

Parameters

  • idpathstringrequired

    A eflow id, prefixed `eflow_`.

  • fromquerystring

    Start of the window, inclusive. Defaults to 30 days ago.

  • toquerystring

    End of the window, exclusive. Defaults to now.

Responses

200Retrieve eflow stats
  • eflowIdstringrequired

    A eflow id, prefixed `eflow_`.

  • fromstringrequired
  • tostringrequired
  • startedintegerrequired

    Sessions whose `startedAt` falls in the window and that answered or skipped at least one question. A session row is written on page load, so an unfiltered count includes crawlers, link checkers and unfurl bots. `dropOffQuestion` below uses the same cohort, which is why `reached` never exceeds this.

  • completedintegerrequired
  • inProgressintegerrequired
  • abandonedintegerrequired

    Includes sessions that expired without being resumed.

  • completionRatenumber | nullrequired

    Percent, one decimal. Null when nothing started in the window.

  • medianTimeToCompleteSecondsinteger | nullrequired
  • dropOffQuestionobject | nullrequired

    The top-level question that loses the most respondents, by rate. Null when no session in the window reached any question. Same cohort as `started`: page loads with no answer behind them are excluded, since they otherwise pin this field to the opening question on any eflow with crawler traffic.

    • questionKeystring | nullrequired
    • questionTextstringrequired
    • reachedintegerrequired
    • droppedintegerrequired
    • dropOffRatenumber | nullrequired
400The request was malformed or failed validation.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

401Missing, invalid, or revoked credential.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

403The credential lacks the scope this route requires.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

404No such resource, or it belongs to another tenant.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

429Rate limited. Retry after the interval in `Retry-After`.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

500Something failed on our side. Safe to retry.
  • errorobjectrequired
    • type"invalid_request_error" | "authentication_error" | "permission_error" | "not_found_error" | "idempotency_error" | "rate_limit_error" | "api_error"required

      The bucket a client branches on to decide how to react.

    • codestringrequired

      Stable machine-readable code. Branch on this, not on `message`.

    • messagestringrequired

      Human-readable. May change without notice.

    • paramstring

      The offending request field, when the error names one.

    • requestIdstringrequired

      Echoes the `req_...` id; quote it in support requests.

Browse every operation, with full request/response schemas, in the full API reference.