API documentation

Listing people in Autopilot

Retrieve all Autopilot memberships for a distribution platform in your project, or list the Autopilot membership for one specific person within a platform. An Autopilot membership includes information about the person in Autopilot and about their next scheduled Autopilot survey.

See the pagination section below for more information regarding pagination.

Endpoint

For email:
GET /v1/autopilot/email/memberships.json
For SMS:
GET /v1/autopilot/sms/memberships.json

Example request

curl https://api.delighted.com/v1/autopilot/email/memberships.json \
  -u YOUR_DELIGHTED_API_KEY: \
members = Delighted::AutopilotMembership::Email.list
members.auto_paging_each({ auto_handle_rate_limits: true }) do |member|
  # Do something with membership info
end
members = delighted.autopilotMembership.forEmail().list();
members.autoPagingEach((person) => {
  // Do something with person
}, { auto_handle_rate_limits: true });
$members = \Delighted\AutopilotMembership\Email::list();
foreach ($members->autoPagingIterator(['auto_handle_rate_limits' => true]) as $member) {
  // Do something with $member
}
members = delighted.AutopilotMembership.forEmail().list(auto_handle_rate_limits=True)
for member in members.auto_paging_iter():
  # Do something with member
}

Example response

[
  {
    "created_at": 1729510189,
    "updated_at": 1733660989,
    "person": {
      "id": "1",
      "name": null,
      "email": "jony@appleseed.com",
      "created_at": 1726918189,
      "phone_number": "+1555555112",
      "last_sent_at": null
    },
    "next_survey_request": {
      "id": "4",
      "created_at": 1729510189,
      "survey_scheduled_at": 1735734589,
      "properties": {
        "Purchase Experience": "Mobile App",
        "State": "CA"
      }
    }
  }
]

Parameters

Name Type Description
per_page Integer Number of results to return per page. The default is 20. The maximum is 100.
person_id String An optional id to restrict results to a specific person.
person_email String An optional email to restrict results to a specific person.
person_phone_number String

An optional phone number to restrict results to a specific person.

The phone number format must be E.164 (e.g. +17132746524). The value should start with a + followed by the country code and then the number. The value should contain only + and digits, no spaces or other punctuation.

Response

Name Type Description
created_at Timestamp A Unix timestamp describing when the person was added to Autopilot.
updated_at Timestamp A Unix timestamp describing when the person’s Autopilot properties were last changed or when their Autopilot survey was last rescheduled (this happens, for example, when the Autopilot frequency is changed).
person.id String Id of the person.
person.name String Name of the person, if defined.
person.email String Email of the person.
person.phone_number String Phone number of the person, if defined.
person.created_at Timestamp A Unix timestamp describing when the person was added.
next_survey_request.id String Id of the survey request.
next_survey_request.created_at Timestamp A Unix timestamp describing when this Autopilot survey request was created.
next_survey_request.survey_scheduled_at Timestamp A Unix timestamp describing when this Autopilot survey is scheduled to be sent.
next_survey_request.properties Map/Dictionary

A JSON object of property names and values that are attached to the survey request. These property values will be also used for all future recurring Autopilot surveys sent to this person.

If you specify a person_id, person_email, or person_phone_number and the specified person is not in Autopilot, the response will be an empty list.

Pagination

Pagination is cursor based. Within each response, a Link header will provide access to the next page of results. If missing, there are no more results to be returned.

Example header

Link: <https://api.delighted.com/v1/autopilot/email/memberships.json?page_info=U0NsMU1hOEUzblJCWDhLR3lCTFg=>; rel="next";