Acquainto
← API reference

Responses

GET/v1/responses

List responses

Cursor-paginated, newest first. To sync incrementally, poll with ?status=completed&completedAfter=<the last completedAt you stored> rather than re-walking the list from the start.

Requires the responses:read scope.

Example request

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

Parameters

  • limitqueryinteger
  • starting_afterquerystring
  • eflowIdquerystring

    Only responses to this eflow.

  • statusquerystring

    Comma-separated statuses to include.

  • completedAfterquerystring

    Only responses completed strictly after this instant. The field to poll on for an incremental sync.

  • subjectRefquerystring

    Only responses whose subjectRef exactly matches -- the respondent identifier you supplied when minting the invite link, e.g. an email address.

Responses

200List responses
  • dataarray of objectrequired
    • idstringrequired

      A response id, prefixed `resp_`.

    • eflowIdstringrequired

      A eflow id, prefixed `eflow_`.

    • status"active" | "completed" | "abandoned" | "expired"required
    • subjectRefstring | nullrequired

      The respondent identifier you supplied. Null once your `respondentLabelRetentionDays` policy has purged it.

    • refstring | nullrequired

      Unverified attribution: the `?aq_ref=` value carried on the hosted eflow link, if any. This is a value the respondent's sender put on the URL, not something we verified -- treat it as a tag, never as identity. Null when the response carried none or your `respondentLabelRetentionDays` policy has since purged it (it ages out on the same clock as `subjectRef`).

    • startedAtstringrequired
    • completedAtstring | nullrequired
    • answerCountintegerrequired
    • languagestring | nullrequired

      The language the conversation was actually held in, as a BCP-47 tag (`tr`, `pt-BR`). Detected from the respondent's first typed reply and fixed for the rest of the conversation. Null means no language was ever detected: nothing was typed, only options tapped. It is deliberately not the eflow's default language -- "we never detected one" and "this eflow opens in English" are different facts, and filtering a multi-market eflow by language needs them kept apart.

  • hasMorebooleanrequired

    True when another page exists.

  • nextCursorstring | nullrequired

    Pass as `starting_after` to fetch the next page.

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.

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.