API Map





The Basics

What is It:?

The AWeber API is a JSON based REST API.

This means that resources are represented as JSON dictionaries and you use a different HTTP verb to do your standard CRUD operations on them:

POST: Create new resources.
GET: Retrieve a resource.
PATCH: Update existing resources.
DELETE: Delete existing resources.

Authentication:

Before you can make requests to the API, you need to support our authentication protocol.
We currently require all API requests to use the OAuth 1.0a authentication protocol.

We recommend that you start out by visiting our Getting Started Guide. This will walk you through the authentication process.
We also have client libraries in PHP, Python, and Ruby to help you get started quickly.

If you know the basics of OAuth and dont wish to use our client libraries, you can find more technical details on our use of OAuth here.
You can use these docs to write your own client library in the language of your choice.

How Resources are Arranged in the AWeber API:

API resources are arranged in the AWeber API based on their relationships to each other. We illustrate these relationships on the map above with the URLs of the resources. When we refer to the relationships of the resources, we say an Account has Lists, a List has Subscribers, etc. We can also say Subscribers belong to a List, or Lists belong to an Account, and so on.

A single resource is referred to as an Entry and is shown as a yellow circle on the map. Entries are contained in Collections which are shown as a blue box on the map. These resources are contained under version '1.0' of the API.

You can find reference documentation on each Entry and Collection below.

Account Collection

What Is It?:

A collection of Account Resources


URL: https://api.aweber.com/1.0/accounts

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Campaign Collection

What Is It?:

A collection of Followup or Broadcast Campaigns


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.


find Method

This method returns a collection of Campaigns that match the given search parameters.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a Campaign collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "find" method name
campaign_type Enum "b", "f" Type of campaign. (f: followup, b: broadcast)

Click Collection

What Is It?:

A collection of Click events


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/links/<id>/clicks

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Component Collection

What Is It?:

A collection of WebFormSplitTest Components


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_form_split_tests/<id>/components

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Custom Field Collection

What Is It?:

A collection of CustomFields for a List


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/custom_fields

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.


create Method

Method to create a new Custom Field on a List.


CustomFields must be created before you can assign CustomField values to Subscribers. Use this method to create them.


Make a POST request on this resource and include the parameters listed below in the http body.

When successful, this method will return A 201 CREATED status with the URL to a Custom Field in the Location header.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "create" method name
name Text up to 100 chars Name of CustomField.

Doc Collection

What Is It?:

A collection of Documentation Resources.


Documentation resources provide parsable API documentation for all resources exposed by the API. You can retrieve ALL API docs in one request by grabbing the contents of this collection.


URL: https://api.aweber.com/1.0/docs

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Integration Collection

What Is It?:

A collection of 3rd Party Service Integrations


URL: https://api.aweber.com/1.0/accounts/<id>/integrations

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

What Is It?:

A collection of Links appearing in a Campaign


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/links

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

List Collection

What Is It?:

A collection of Subscriber Lists


URL: https://api.aweber.com/1.0/accounts/<id>/lists

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.


find Method

This method returns a collection of Lists matching the given search parameters.


The API uses the List ID (not its name) in the URL. Use this method to find Lists when you know the name of the List, but not its ID.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a List collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "find" method name
name Yes Text 1 to 100 chars Name of the List

Message Collection

What Is It?:

A collection of Sent Message Events


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.


getSubscribers Method

This method returns a collection of Subscribers that were sent this Campaign.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a Subscriber collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "get_subscribers" method name

Open Collection

What Is It?:

A collection of Open events


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages/<id>/opens/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Stat Collection

What Is It?:

A collection of Broadcast Campaign Stats


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/stats


The stats collection contains stats entries with the following IDs:


Aggregate Stats:

  • total_clicks
  • unique_clicks
  • total_opens
  • unique_opens
  • total_sales
  • total_sales_dollars
  • total_unsubscribed

Time Related Statistics:

  • hourly_opens
  • hourly_clicks
  • hourly_webhits
  • hourly_sales
  • hourly_unsubscribes
  • daily_opens
  • daily_clicks
  • daily_webhits
  • daily_sales
  • daily_unsubscribes

Top 10 URL Statistics:

  • clicks_by_link
  • webhits_by_link

Top 10 Subscriber Statistics (Requires access to Subscriber Data):

  • opens_by_subscriber
  • sales_by_subscriber

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Subscriber Collection

What Is It?:

A collection of Subscribers


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/subscribers

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.


create Method

This method is used to subscribe (or add) a Subscriber to a List. Subscribers added via the API require confirmation.


You must only subscribe someone to a List if they specifically requested to be subscribed.


Read more about this in the link below: https://help.aweber.com/entries/21729456-can-i-use-this-list


Although not required, it's strongly recommended that you provide the ip_address of the Subscriber if its known. The ip_address is used in the Geo Location parameters and for send windows in the AWeber Controlpanel.


For web based Apps, the ip_address that you should use is the REMOTE_ADDRESS of their requests to your App server, not the server's ip_address.


Make a POST request on this resource and include the parameters listed below in the http body.

When successful, this method will return A 201 CREATED status with the URL to a Subscriber in the Location header.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "create" method name
ad_tracking Yes Text up to 20 chars Customer Ad Tracking Field
custom_fields Yes Dictionary Keys: 1 to 100 chars
Values: up to 100 chars
Custom Field Data

CustomFields are Customer supplied attributes that can be set on a subcriber. These attributes can be set to attach additional subscriber information like their internal customer number, birthday, favorite color, etc.


Before a CustomField attribute can be stored, it must first be created. Refer to the CustomField collection on a List to set this field.


Custom fields are represented as a Dictionary attribute. Only the values of the dictionary can be modified.

email Text 1 to 50 chars Email Address

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.

ip_address Yes Text 1 to 60 chars Subscriber's IP Address

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.


This field is used to set the following Geo Location fields: area_code, city, country, dma_code, latitude, longitude, postal_code, region and can only be specified when Subscribers are initially created.

last_followup_message_number_sent Yes Integer 0 to 1001 The sequence number of the last Followup sent.

This field determines the next followup message to be sent to the Subscriber.


When set to 0 (default), the Subscriber should receive the 1st (autoresponse) Followup message.


Set the value of this field to 1001 if you do not want any Followups to be sent to this Subscriber.

misc_notes Yes Text up to 60 chars Miscellaneous notes

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.

name Yes Text 1 to 60 chars Subscriber Name

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.


find Method

This method returns a Collection of Subscribers in this Subscriber collection that matches the given search parameters.


All parameters match on the full value and are case sensitive. (No partial matches are accepted).


For Date parameters, include the date as 'YYYY-MM-DD' or 'MM-DD-YYYY' and any subscriber with a value on that day will be returned.


Values that are empty (or empty string) are treated the same as if they were omitted entirely.


If no search parameters are included then the full Subscriber Collection will be returned.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a Subscriber collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "find" method name
ad_tracking Yes Text 1 to 20 chars Customer Ad Tracking Field
area_code Yes Integer 0 to 999 Telephone Area Code
city Yes Text 1 to 100 chars City
country Yes Text 1 to 100 chars Country
custom_fields Yes Dictionary Keys: 1 to 100 chars
Values: up to 100 chars
Custom Field Data
dma_code Yes Integer 0 to 881 Designated Market Area Code (USA and Canada only)
email Yes Text 1 to 100 chars Email Address
last_followup_message_number_sent Yes Integer 0 to 1001 The last Followup message number sent.
last_followup_message_sent_at Yes Text 1 to 10 chars The last time they received a Followup message.
latitude Yes Text 1 to 20 chars Geographical Latitude
longitude Yes Text 1 to 20 chars Geographical Longitude
misc_notes Yes Text 1 to 60 chars Miscellaneous notes
name Yes Text 1 to 60 chars Subscriber Name.
postal_code Yes Text 1 to 100 chars Postal or Zip Code
region Yes Text 1 to 100 chars State or Region Abbreviation
status Yes Enum "subscribed", "unsubscribed", "unconfirmed" Status of subscriber
subscribed_at Yes Text 1 to 10 chars When they were subscribed.
subscription_method Yes Enum "import", "email", "signup form", "api" How they were subscribed.
unsubscribe_method Yes Enum "unsubscribe link", "customer cp", "undeliverable", "api: unsubscribe", "api: move" How they were unsubscribed.
verified_at Yes Text 1 to 10 chars When they were verified.

Tracked Event Collection

What Is It?:

A collection of TrackedEvents


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages/<id>/tracked_events

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Web Form Split Test Collection

What Is It?:

A collection of WebFormSplitTests


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_form_split_tests

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Web Form Collection

What Is It?:

A collection of WebForms


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_forms

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Collections are paginated in groups of 100 entries. Make a GET request on this resource and follow the 'next_collection_link' URL for the remaining pages. The 'next_collection_link' attribute will be omited if no more pages exist.

Name Can be
Modified
Type Acceptable Values Description
entries List of Dictionaries Keys: 1 or more chars
Values: any Object
A paginated list of (ws.size) entries starting at the offset specified by start
next_collection_link Text any characters A link to the next page of entries if more entries exist. This attribute is ommitted from the collection if there are no more entries.
prev_collection_link Text any characters A link to the previous page of entries if any exist. This attribute is ommitted from the collection if ws.start is 0.
resource_type_link Text any characters A link that identifies what type of resource that this collection represents.
start Yes Integer 0 and up Starting offset of the page of entries contained in the 'entries' attribute. You can change this by appending it to the query string.
total_size Integer 0 and up Total number of entries.

Account Entry

What Is It?:

An AWeber Customer Account that has authorized your App


URL: https://api.aweber.com/1.0/accounts/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
id Integer 0 and up Unique ID that identifies an AWeber Customer
integrations_collection_link Collection A Url to an
Integration collection
3rd Party Service Integrations
lists_collection_link Collection A Url to a
List collection
Subscriber Lists


findSubscribers Method

This method returns a Collection of all Subscribers on any List in the Account that matches the given search parameters.


All parameters match on the full value and are case sensitive. (No partial matches are accepted).


For Date parameters, include the date as 'YYYY-MM-DD' or 'MM-DD-YYYY' and any subscriber with a value on that day will be returned.


Values that are empty (or empty string) are treated the same as if they were omitted entirely.


If no search parameters are included, All subscribers from All lists will be returned.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a Subscriber collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "findSubscribers" method name
ad_tracking Yes Text 1 to 20 chars Customer Ad Tracking Field
area_code Yes Integer 0 to 999 Telephone Area Code
city Yes Text 1 to 100 chars City
country Yes Text 1 to 100 chars Country
custom_fields Yes Dictionary Keys: 1 to 100 chars
Values: up to 100 chars
Custom Field Data
dma_code Yes Integer 0 to 881 Designated Market Area Code (USA and Canada only)
email Yes Text 1 to 100 chars Email Address
last_followup_message_number_sent Yes Integer 0 to 1001 The last Followup message number sent.
last_followup_message_sent_at Yes Text 1 to 10 chars The last time they received a Followup message.
latitude Yes Text 1 to 20 chars Geographical Latitude
longitude Yes Text 1 to 20 chars Geographical Longitude
misc_notes Yes Text 1 to 60 chars Miscellaneous notes
name Yes Text 1 to 60 chars Subscriber Name.
postal_code Yes Text 1 to 100 chars Postal or Zip Code
region Yes Text 1 to 100 chars State or Region Abbreviation
status Yes Enum "subscribed", "unsubscribed", "unconfirmed" Status of subscriber
subscribed_at Yes Text 1 to 10 chars When they were subscribed.
subscription_method Yes Enum "import", "email", "signup form", "api" How they were subscribed.
unsubscribe_method Yes Enum "unsubscribe link", "customer cp", "undeliverable", "api: unsubscribe", "api: move" How they were unsubscribed.
verified_at Yes Text 1 to 10 chars When they were verified.

getWebForms Method

This method returns a list of all active WebForms for all Lists on this Account.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return A 200 OK status with a link in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "getWebForms" method name

getWebFormSplitTests Method

This method returns a list of all active WebForm Split Tests for all Lists on this Account.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return A 200 OK status with a link in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "getWebFormSplitTests" method name

Broadcast Campaign Entry

What Is It?:

Represents a Broadcast Campaign


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/b<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
campaign_type Enum "b", "f" Type of campaign. (f: followup, b: broadcast)
click_tracking_enabled Boolean true, false (unquoted) Click tracking enabled?
content_type Text 1 to 20 chars Type of message. (Plain, HTML, or both)
id Integer 0 and up Unique Campaign ID for Followup or Broadcast
is_archived Integer infinity and up Is the campaign in the campaign archive?
links_collection_link Collection A Url to a
Link collection
Links in this message
messages_collection_link Collection A Url to a
Message collection
Campaign messages sent.
scheduled_at Timestamp YYYY-MM-DD HH:MM:SS When Broadcast is scheduled to send.
sent_at Timestamp YYYY-MM-DD HH:MM:SS Date/Time campaign was sent.
spam_assassin_score Float 0.0 and up Spam assassin score.

Find out more: http://www.aweber.com/blog/email-deliverability/spamassassin-deliverability-tips.htm

stats_collection_link Collection A Url to a
Stat collection
Campaign Stats
subject Text 1 to 255 chars Subject of message.
total_clicks Integer 0 and up Total Clicks of this Message
total_opens Integer 0 and up Total # of Messages Opened.
total_sent Integer 0 and up Total # of Messages sent.
total_spam_complaints Integer 0 and up Total # of spam complaints received.
total_undelivered Integer 0 and up Total # of undeliverable Messages.
total_unsubscribes Integer 0 and up Total # of unsubscribes from this Campaign.
twitter_account Link A Url to an
Integration entry
Twitter account where broadcast was tweeted

Campaign Entry

What Is It?:

A Followup or Broadcast Campaign


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
campaign_type Enum "b", "f" Type of campaign. (f: followup, b: broadcast)
click_tracking_enabled Boolean true, false (unquoted) Click tracking enabled?
content_type Text 1 to 20 chars Type of message. (Plain, HTML, or both)
id Integer 0 and up Unique Campaign ID for Followup or Broadcast
links_collection_link Collection A Url to a
Link collection
Links in this message
messages_collection_link Collection A Url to a
Message collection
Campaign messages sent.
spam_assassin_score Float 0.0 and up Spam assassin score.

Find out more: http://www.aweber.com/blog/email-deliverability/spamassassin-deliverability-tips.htm

stats_collection_link Collection A Url to a
Stat collection
Campaign Stats
subject Text 1 to 255 chars Subject of message.
total_clicks Integer 0 and up Total Clicks of this Message
total_opens Integer 0 and up Total # of Messages Opened.
total_sent Integer 0 and up Total # of Messages sent.
total_spam_complaints Integer 0 and up Total # of spam complaints received.
total_undelivered Integer 0 and up Total # of undeliverable Messages.
total_unsubscribes Integer 0 and up Total # of unsubscribes from this Campaign.

Click Entry

What Is It?:

The event where a Subscriber clicks a Link in a Message.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/links/<id>/clicks/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
event_time Timestamp YYYY-MM-DD HH:MM:SS When the event occured
id Text 1 to 100 chars Unique ID of the Subscriber Activity
is_earliest Boolean true, false (unquoted) Was this the first click of the link?
subscriber Link A Url to a
Subscriber entry
The Subscriber
type Enum "click", "link", "open", "sent_message", "subscribed", "tracked_event", "verified" Type of Subscriber Activity

Component Entry

What Is It?:

A Component of a WebFormSplitTest.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_form_split_tests/<id>/components/<id>


A Component is a WebForm that is used in a WebFormSplitTest

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
conversion_percentage Float 0.0 and up Conversion percentage
html_source_link Text 1 to 255 chars HTML Source URL
id Integer 0 and up Unique ID of the Component
is_active Boolean true, false (unquoted) Is active
javascript_source_link Text 1 to 255 chars Javascript Source URL
name Text 1 to 100 chars WebForm Name
total_displays Integer 0 and up Total number of displays
total_submissions Integer 0 and up Total number of submissions
total_unique_displays Integer 0 and up Total number of unique displays
type Enum "exitpopup", "inline", "lightbox", "popover", "popunder", "popup", "styled" WebForm display type
unique_conversion_percentage Float 0.0 and up Conversion percentage
web_form Link A Url to a
Web Form entry
The WebForm resource that this Component relates to.
weight Integer 0 and up Relative display weight.

Custom Field Entry

What Is It?:

A CustomField for a List.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/custom_fields/<id>


Custom fields are special attributes given to a Subscriber.


Warning: Modifing/Deleting CustomFields has side effects, find out more here: https://help.aweber.com/entries/21749682-why-could-changing-my-custom-field-names-cause-problems

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
id Integer 0 and up Unique ID for a Custom Field
is_subscriber_updateable Yes Boolean true, false (unquoted) Is the value directly modifiable by the Subscriber
name Yes Text up to 100 chars Name of CustomField.

Updating API Data

To update values on this resource make a PATCH request to its URL and include the attributes you want to change in the body of the PATCH request as JSON encoded data. You only need to include the attributes that actually change, but you could include all of them provided that read only attributes are passed in with the same value.

The API will return a 209 CONTENT MODIFIED status along with the new JSON representation or a 400 BAD REQUEST if there was an error.



delete Method

Method to delete a CustomField.


Warning: Deleting CustomFields has side effects, find out more here: https://help.aweber.com/entries/21749682-why-could-changing-my-custom-field-names-cause-problems


Make a DELETE request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status with an empty body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "delete" method name

Doc Entry

What Is It?:

The Documentation Entry


URL: https://api.aweber.com/1.0/docs/<id>


The documentation entry documents the capabilities of the AWeber API in an easy to parse JSON format. There is a documentation entry for every resource on the API (collection, entry, etc)

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
attributes Dictionary Keys: 1 or more chars
Values: Keys: 1 or more chars
Values: any Object
Attributes of the Resource

Individual attributes are documented as a dictionary of attribute names where the key is the name, and the values are an 'Attribute Configuration Dictionary'


Attribute Configuration Dictionaries always have the following keys:

  • default: (object)
  • title: (text)
  • description: (text) (multi-lines)
  • is_readonly: (boolean)
  • is_required: (boolean)
  • resource_type: (enum) same as doc_entry resource-type attribute

Additional keys may exist based on the value of 'resource_type':

  • min: (integer, float)
  • max: (integer, float)
  • valid_values: (enum)
  • min_length (text)
  • max_length: (text)
  • collection_of: (collection)
  • reference_to: (references)
  • keys: (dictionary)
  • values: (list, dictionary)

How 'keys' and 'values' are used in stacked data structures:


Some resource types are containers (lists, dictionaries) For these containers, we also specify whats contained in them.


The 'entries' attribute of a collection is a good example of this.


The entries attribute is a list containing dictionaries where the keys are Text, and the values are any Object.


This is represented using the keys and values atttributes in an attribute configuration dictionary. In this way, keys and values can be stacked in a parsable manor.


keys: (dictionary):

  • These identify the datatype of the dictionary 'keys'.
  • The value of this attribute is an attribute configuration dictionary.

values: (lists, dictionary):

  • These identify what is contained in the attribute.
  • The value of the 'values' attribute is an attribute configuration dictionary.
description Text 1 or more chars Description of resource.
id Text 1 to 256 chars Unique ID of the Resource

The ID is always the name of the resource followed by either _entry or _collection or 'root_resource'


The root_resource is the resource reachable at https://api.aweber.com/1.0

methods Dictionary Keys: 1 or more chars
Values: Keys: 1 or more chars
Values: any Object
Custom methods available for this Resource

Custom methods are documented as a dictionary of methods where the key is the name of the method and the values are a method configuration dictionary.


Method Configuration dictionarys always have the following keys:


description: (text) http_method: (text) parameters: (attribute configuration dictionary) return_type: (attribute configuration dictionary)


http_method is one of: "GET", "POST", "PATCH", or "DELETE"


Method Configuration Dictionaries are not the same as Attribute Configuration Dictionaries. For the specification of what an Attribute Configuration Dictionary is, refer to the "attributes" attribute of this resource.

resource_type Enum "boolean", "collection", "constant", "dictionary", "entry", "enum", "float", "integer", "link", "list", "non-exported api resource", "object", "text", "timestamp" Data type of resource contained

Followup Campaign Entry

What Is It?:

Represents a Followup Campaign


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/f<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
campaign_type Enum "b", "f" Type of campaign. (f: followup, b: broadcast)
click_tracking_enabled Boolean true, false (unquoted) Click tracking enabled?
content_type Text 1 to 20 chars Type of message. (Plain, HTML, or both)
id Integer 0 and up Unique Campaign ID for Followup or Broadcast
links_collection_link Collection A Url to a
Link collection
Links in this message
message_interval Integer 1 to 999 Message Interval
message_number Integer 1 to 999 Followup sequence number
messages_collection_link Collection A Url to a
Message collection
Campaign messages sent.
spam_assassin_score Float 0.0 and up Spam assassin score.

Find out more: http://www.aweber.com/blog/email-deliverability/spamassassin-deliverability-tips.htm

stats_collection_link Collection A Url to a
Stat collection
Campaign Stats
subject Text 1 to 255 chars Subject of message.
total_clicks Integer 0 and up Total Clicks of this Message
total_opens Integer 0 and up Total # of Messages Opened.
total_sent Integer 0 and up Total # of Messages sent.
total_spam_complaints Integer 0 and up Total # of spam complaints received.
total_undelivered Integer 0 and up Total # of undeliverable Messages.
total_unsubscribes Integer 0 and up Total # of unsubscribes from this Campaign.

Integration Entry

What Is It?:

3rd Party Service Integrations that have been configured for this Account.


URL: https://api.aweber.com/1.0/accounts/<id>/integrations/<id>


These integrations are used in the AWeber Control Panel when Campaigns are sent.


Examples: twitter.com facebook.com

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
id Integer 0 and up Unique ID of an Integration
login Text 1 or more chars Integration Username
service_name Text 1 or more chars Integration Name

Link Entry

What Is It?:

A Link (URL) appearing in a Campaign


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/links/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
clicks_collection_link Collection A Url to a
Click collection
Clicks
id Integer 0 and up Unique ID of link
total_clicks Integer 0 and up Total clicks for this Link.
total_unique_clicks Integer 0 and up Total Subscribers that clicked the Link.
url Text 1 or more chars URL of Link

List Entry

What Is It?:

A List is a group of related Subscribers, Campaigns, and WebForms belonging to an Account.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>


Each List in an Account has its own Campaigns, Subscribers, and WebForms.

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
campaigns_collection_link Collection A Url to a
Campaign collection
E-Mail Campaigns used by this List.
custom_fields_collection_link Collection A Url to a
Custom Field collection
Subscriber Custom Fields used by this List.
id Integer 0 and up Unique ID of this List.
name Text 1 to 100 chars Name of List.
subscribers_collection_link Collection A Url to a
Subscriber collection
Subscribers belonging to this List.
total_subscribed_subscribers Integer 0 and up Number of Subscribers where status=subscribed
total_subscribers Integer 0 and up Number of Subscribers.
total_subscribers_subscribed_today Integer 0 and up Number of Subscribers that were subscribed today
total_subscribers_subscribed_yesterday Integer 0 and up Number of Subscribers that were subscribed yesterday
total_unconfirmed_subscribers Integer 0 and up Number of Subscribers where status=unconfirmed
total_unsubscribed_subscribers Integer 0 and up Number of Subscribers where status=unsubscribed
web_form_split_tests_collection_link Collection A Url to a
Web Form Split Test collection
WebForm Split Tests belonging to this List.
web_forms_collection_link Collection A Url to a
Web Form collection
WebForms belonging to this List.

Message Entry

What Is It?:

The event where a Subscriber was sent a Message.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
event_time Timestamp YYYY-MM-DD HH:MM:SS When the event occured
id Text 1 to 100 chars Unique ID of the Subscriber Activity
last_opened Timestamp YYYY-MM-DD HH:MM:SS Last time message was opened.
opens_collection_link Collection A Url to an
Open collection
Opens
subscriber Link A Url to a
Subscriber entry
The Subscriber
total_opens Integer infinity and up Total times message was opened.
tracked_events_collection_link Collection A Url to a
Tracked Event collection
Tracked Events
type Enum "click", "link", "open", "sent_message", "subscribed", "tracked_event", "verified" Type of Subscriber Activity

Open Entry

What Is It?:

The event where a Subscriber opened a Message.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages/<id>/opens/<id>

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
event_time Timestamp YYYY-MM-DD HH:MM:SS When the event occured
id Text 1 to 100 chars Unique ID of the Subscriber Activity
subscriber Link A Url to a
Subscriber entry
The Subscriber
type Enum "click", "link", "open", "sent_message", "subscribed", "tracked_event", "verified" Type of Subscriber Activity

Stat Entry

What Is It?:

A single Statistic for a Campaign.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/stats/<id>


The datatype of the value attribute may be different for each Stat. Stats can be Text, Integer, Floating Point, or Lists. Evaluate the resource_type attribute if your App must programmatically handle different datatypes in a special way.


Refer to the StatCollection docs for more information on the types and structures of the Stats we return.

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
description Text 1 or more chars Stat Description
id Text any characters Unique ID for Campaign Stats
value Text any characters Statistic Value

Subscriber Entry

What Is It?:

A Subscriber is a person identified by an email address that has choosen to receive your email marketing Campaigns.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/subscribers/<id>


Some fields are only visible if your App has specifically requested access to Subscriber data.


You can not modify or delete Subscribers with a status of 'unconfirmed'.

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
ad_tracking Yes Text up to 20 chars Customer Ad Tracking Field
area_code Integer 0 to 999 Telephone Area Code
city Text 1 to 100 chars City
country Text 1 to 100 chars Country
custom_fields Dictionary Keys: 1 to 100 chars
Values: up to 100 chars
Custom Field Data

CustomFields are Customer supplied attributes that can be set on a subcriber. These attributes can be set to attach additional subscriber information like their internal customer number, birthday, favorite color, etc.


Before a CustomField attribute can be stored, it must first be created. Refer to the CustomField collection on a List to set this field.


Custom fields are represented as a Dictionary attribute. Only the values of the dictionary can be modified.

dma_code Integer 0 to 881 Designated Market Area Code (USA and Canada only)
email Yes Text 1 to 50 chars Email Address

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.

id Integer 0 and up Unique ID for a subscriber
ip_address Text 1 to 60 chars Subscriber's IP Address

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.


This field is used to set the following Geo Location fields: area_code, city, country, dma_code, latitude, longitude, postal_code, region and can only be specified when Subscribers are initially created.

is_verified Boolean true, false (unquoted) Was the Subscriber's email address confirmed?
last_followup_message_number_sent Yes Integer 0 to 1001 The sequence number of the last Followup sent.

This field determines the next followup message to be sent to the Subscriber.


When set to 0 (default), the Subscriber should receive the 1st (autoresponse) Followup message.


Set the value of this field to 1001 if you do not want any Followups to be sent to this Subscriber.

last_followup_sent Link A Url to a
Followup Campaign entry
The last Followup message sent.

This is not guaranteed to be the last message sent if last_followup_message_number_sent has been modified since the last message was sent or if the followup sequence has changed since the last message was sent.


Use last_followup_message_number_sent to modify this value.

last_followup_sent_at Timestamp YYYY-MM-DD HH:MM:SS The last time they received a Followup message
latitude Float -90.0 to 90.0 Geographical Latitude
longitude Float -180.0 to 180.0 Geographical Longitude
misc_notes Yes Text up to 60 chars Miscellaneous notes

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.

name Yes Text 1 to 60 chars Subscriber Name

This attribute will not be present in the JSON representation if your App has not requested access to Subscriber Data.

postal_code Text 1 to 100 chars Postal or Zip Code
region Text 1 to 100 chars State or Region Abbreviation
status Yes Enum "subscribed", "unsubscribed", "unconfirmed" Subscriber' Status

You cannot set a subscriber to the 'unconfirmed' status.

subscribed_at Timestamp YYYY-MM-DD HH:MM:SS When they were subscribed
subscription_method Enum "api", "signup form", "import", "email" How the Subscriber was subscribed

  • api: subscribed via an API integration.
  • signup form: subscribed from a WebForm.
  • import: they were imported by the customer.
  • email: subscriber emailed the list to opt-in.
subscription_url Text up to 100 chars WebForm URL from which the Subscriber subscribed from
unsubscribe_method Enum "unsubscribe link", "customer cp", "undeliverable", "api: unsubscribe", "api: move" How the Subscriber unsubscribed.
unsubscribed_at Timestamp YYYY-MM-DD HH:MM:SS When the Subscriber unsubscribed from your List.
verified_at Timestamp YYYY-MM-DD HH:MM:SS When the Subscriber confirmed their email address.

Updating API Data

To update values on this resource make a PATCH request to its URL and include the attributes you want to change in the body of the PATCH request as JSON encoded data. You only need to include the attributes that actually change, but you could include all of them provided that read only attributes are passed in with the same value.

The API will return a 209 CONTENT MODIFIED status along with the new JSON representation or a 400 BAD REQUEST if there was an error.



getActivity Method

Return analytics activity for this Subscriber.


This method returns a collection of the chronological list of subscriber events including:


When they subscribed to the List. When they verified their subscription. What Messages were sent to them. When sent messages were opened. When links were clicked (if click tracking was enabled). When a subscriber made a sale or other TrackedEvent.


Make a GET request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status and contain a JSON representation of a Subscriber Activity collection in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "get_activity" method name

move Method

Move a Subscriber to another List on the same Account.


When calling this method, the Subscriber will be unsubscribed from the original List and subscribed to the List passed into this method without sending the verification message.


By default, the Subscriber will be set to the beginning of the Followup sequence on the destination List unless you specifify a value for the last_followup_message_number_sent parameter.


Requirements: * The Subscriber you are moving must have a status of 'subscribed'. * The List passed into this method must belong to the same Account.


Return Value: * A '201 CREATED' status along with a new URL for the Subscriber in the Location header returned upon success. * A '405 METHOD NOT ALLOWED' status will be returned if either the Subscriber or List doesn't meet the above listed requirements. * A '400 BAD REQUEST' status will be returned for any other errors.


Make a POST request on this resource and include the parameters listed below in the http body.

When successful, this method will return A 200 OK status with a object in the body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "move" method name
last_followup_message_number_sent Yes Integer 0 to 1001 The sequence number of the last Followup sent.

This field determines the next followup message to be sent to the Subscriber.


When set to 0 (default), this means that the Subscriber should receive the 1st (autoresponse) Followup message of the destination List when moved.


Set the value of this field to 1001 if you do not want any Followups to be sent to this Subscriber.

list_link Link A Url to a
List entry
The URL of the destination List to move the Subscriber too.

archive Method

Delete a subscriber and all their data.


If you just want to unsubscribe them, then make a PATCH request setting status to 'unsubscribed' instead of calling this method.


When this method is invoked, the subscriber is unsubscribed from the List and all Subscriber analytics activity is removed from the customer account for this Subscriber.


When subscriber analytics data is deleted, you will no longer be able to track the stats for this subscriber. Their opens in the Broadcast statistics will be shown as 'Deleted Subscriber'.


Make a DELETE request on this resource and include the parameters listed below in the query string.

When successful, this method will return a 200 OK status with an empty body.


Parameters

Name Optional Type Acceptable Values Description
ws.op Constant "archive" method name

Tracked Event Entry

What Is It?:

A customer specified event for a Subscriber sent a Message.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/campaigns/<campaign_type><id>/messages/<id>/tracked_events/<id>


A TrackedEvent is an analytics event in which the AWeber Customer has an interest. Typically TrackedEvents are sales where the Customer has configured a monetary value for the event.


The API only displays TrackedEvents that occured as a result of a Message being sent to a Subscriber on a List.


Find out more on TrackedEvents and how they are configured: https://help.aweber.com/entries/21743291-How-Do-I-Set-Up-Sales-Tracking-

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
event_time Timestamp YYYY-MM-DD HH:MM:SS When the event occured
id Text 1 to 100 chars Unique ID of the Subscriber Activity
subscriber Link A Url to a
Subscriber entry
The Subscriber
type Enum "click", "link", "open", "sent_message", "subscribed", "tracked_event", "verified" Type of Subscriber Activity

Web Form Entry

What Is It?:

WebForms or 'Signup Forms' belonging to a List.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_forms/<id>


A WebForm is set of customized html and javascript thats used to put up a signup form on a website.


The WebForm can be modified in the AWeber Control Panel and if you include the javascript source link on any web page, that form will be displayed.

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
conversion_percentage Float 0.0 and up Conversion percentage
html_source_link Text 1 to 255 chars HTML Source URL
id Integer 0 and up Unique ID for WebForms
is_active Boolean true, false (unquoted) Is active
javascript_source_link Text 1 to 255 chars Javascript Source URL
name Text 1 to 100 chars WebForm Name
total_displays Integer 0 and up Total number of displays
total_submissions Integer 0 and up Total number of submissions
total_unique_displays Integer 0 and up Total number of unique displays
type Enum "exitpopup", "inline", "lightbox", "popover", "popunder", "popup", "styled" WebForm display type
unique_conversion_percentage Float 0.0 and up Conversion percentage

Web Form Split Test Entry

What Is It?:

A WebFormSplitTest is a collection of WebForms where one is randomly selected to be displayed.


URL: https://api.aweber.com/1.0/accounts/<id>/lists/<id>/web_form_split_tests/<id>


You would use a split test to evaluate one WebForm vs another.


WebForms belonging to split tests are listed as Components of a split test and can be retrieved by following the components_collection_link of this split test. The stats of each component include only displays of that Web Form where it was displayed from a split test.


The WebFormSplitTest can be modified in the AWeber Control Panel and if you include the javascript source link on any web page, that split test will be displayed.

Attributes

Make a GET request on this resource and the API will return a 200 OK status with a JSON dictionary containing the attributes listed below.

Name Can be
Modified
Type Acceptable Values Description
components_collection_link Collection A Url to a
Component collection
WebForm Components included in this split test
id Integer 0 and up Unique ID for WebFormSplitTests
is_active Boolean true, false (unquoted) Is this split test currently active?
javascript_source_link Text 1 to 255 chars Javascript Source URL
name Text 1 to 100 chars Name of this split test