Retrieve a List from an Account

Why Retrieve a List from an Account 

You can retrieve a list from your account to view the information contained within that list.

How to Retrieve a List from an Account 

Use the sample code below as a model to create your own API call.

Sample .NET Code (Filtering by ListID) 

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using etAPI;
public partial class ListRetrieve : System.Web.UI.Page
{
    //Global Variables
    private SoapClient client = new SoapClient();
    protected void Page_Load(object sender, EventArgs e)
    {
        //Authenticate
        client.ClientCredentials.UserName.UserName = System.Configuration.ConfigurationSettings.AppSettings["wsUserName"];
        client.ClientCredentials.UserName.Password = System.Configuration.ConfigurationSettings.AppSettings["wsPassword"];
        if (!IsPostBack)
        {
        }
    }
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        try
        {
            //Retrieve Subscriber
            //Local variables
            APIObject[] Results;
            String requestID;
            String status;
            // Instantiate the retrieve request
            RetrieveRequest rr = new RetrieveRequest();
            rr.ObjectType = "List";//required
            // Setting up a simple filter
            SimpleFilterPart sf = new SimpleFilterPart();
            sf.SimpleOperator = SimpleOperators.equals;
            sf.Property = "ID";
            sf.Value = new String[] { "1007549" };
            //Add Filter
            rr.Filter = sf;
            rr.Properties = new string[] { "ID", "CreatedDate", "ModifiedDate", "Client.ID", "ListName", "Description", "Category", "Type", "ListClassification" };//required
            status = client.Retrieve(rr, out requestID, out Results);
            lblMessage.Text += "<br/>Total Records: " + Results.Length;
        }
        catch (Exception ex)
        {
            lblMessage.Text += ex.Message;
            lblMessage.Text += "<br/>";
        }
    }
}

Sample .NET Code (Filtering by ListName) 

private int getListID(string listName, string userName, string userPass)
        {
            SoapClient framework = new SoapClient();
            framework.ClientCredentials.UserName.UserName = userName;
            framework.ClientCredentials.UserName.Password = userPass;
            APIObject[] result;
            string requestID;
            string status;
            RetrieveRequest rr = new RetrieveRequest();
            rr.ObjectType = "List";
            SimpleFilterPart sf = new SimpleFilterPart();
            sf.SimpleOperator = SimpleOperators.equals;
            sf.Property = "ListName";
            sf.Value = new String[] { listName };
            rr.Filter = sf;
            rr.Properties = new string[] { "ID", "ListName" };
            status = framework.Retrieve(rr, out requestID, out result);
            List l = (List)result[0];
            return l.ID;
        }

Sample Java Code (Axis 2.0) 

private static void RetrieveList(PartnerAPIStub stub) {
    try {
    RetrieveRequestMsgDocument retrieveRequestMsgDocument = RetrieveRequestMsgDocument.Factory.newInstance();
    RetrieveRequest rreq = com.exacttarget.wsdl.partnerapi.RetrieveRequest.Factory.newInstance();
    // Set the Type of object you are retrieving
    rreq.setObjectType("List");
    String[] fields = { "ID", "ListName"};
    rreq.setPropertiesArray(fields);
    SimpleFilterPart nameFilter = SimpleFilterPart.Factory.newInstance();
    nameFilter.setProperty("ListName");
    nameFilter.setSimpleOperator(SimpleOperators.EQUALS);
    nameFilter.setValueArray(new String[] { "Public 2" });
    //Setting a filter is optional, comment out the line below to not specify a filter
    rreq.setFilter(nameFilter);
    RetrieveRequestMsgDocument.RetrieveRequestMsg retrieveRequestMsg = retrieveRequestMsgDocument.addNewRetrieveRequestMsg();
    retrieveRequestMsg.setRetrieveRequest(rreq);
    RetrieveResponseMsgDocument retrieveResponseMsgDocument = stub.Retrieve(retrieveRequestMsgDocument);    RetrieveResponseMsgDocument.RetrieveResponseMsg retrieveResponseMsg = retrieveResponseMsgDocument
    .getRetrieveResponseMsg();
    APIObject[] results = retrieveResponseMsg.getResultsArray();
    System.out.println(retrieveResponseMsg.getOverallStatus());
    if (retrieveResponseMsg.getOverallStatus().equals("OK") || retrieveResponseMsg.getOverallStatus().equals("MoreDataAvailable")){
    for (APIObject apiObj : results) {
    if (apiObj instanceof List) {
    System.out.println("List");
    System.out.println("ListID:" + ((List) apiObj).getID() + "");
    System.out.println("ListName: " + ((List) apiObj).getListName());
    }
    }
    }
    } catch (RemoteException e) {
    e.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }

SOAP Envelope (Filtering by ListName) 

<soapenv:Body>
      <RetrieveRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
         <RetrieveRequest>
            <ObjectType>List</ObjectType>
            <Properties>ListName</Properties>
            <Properties>ID</Properties>
            <Filter xsi:type="SimpleFilterPart">
               <Property>ListName</Property>
               <SimpleOperator>equals</SimpleOperator>
               <Value>All Subscribers</Value>
            </Filter>
         </RetrieveRequest>
      </RetrieveRequestMsg>
</soapenv:Body>

Related Items 

Subscriber Lists