openapi: 3.0.2
info:
  title: AWeber API
  description: |
    We are constantly working to improve this documentation. If you have
    feedback and questions, please contact the AWeber API team at
    api@aweber.com.

    The AWeber API is a REST API that uses the OAuth 2.0 authentication model. We also offer webhooks.

    Please see the below resources for further information:
    - <a href="https://labs.aweber.com/docs/tos" target="_blank">Terms of Service</a>
    - <a href="https://help.aweber.com/hc/en-us/articles/204031776" target="_blank">Showcasing an Integration</a>
    - <a href="https://help.aweber.com/hc/en-us/sections/360000617213-API" target="_blank">Knowledge Base</a>
    - <a href="https://status.aweber.com" target="_blank">API Status Page</a>
  version: '1.0'

servers:
  - url: /1.0
    description: v1 API endpoints
tags:
  $ref: _tags.yaml
x-tagGroups:
  - name: Getting Started
    tags:
      - Getting Started
  - name: Authentication
    tags:
      - Authentication Overview
      - OAuth 2.0 Examples
      - OAuth 2.0 Traces
      - OAuth 2.0 Reference
      - OAuth 1.0a Reference
  - name: API Reference
    tags:
      - Accounts
      - Broadcasts
      - Campaigns
      - Custom Fields
      - Integrations
      - Landing Pages
      - Lists
      - Segments
      - Subscribers
      - Webforms
  - name: Beta API Reference
    tags:
      - Beta Endpoints
  - name: Webhooks
    tags:
      - Webhooks
  - name: Code Samples
    tags:
      - Introduction
      - Find a List and Get Tags
      - Manage a Subscriber
      - Create a Purchase
      - Manage Custom Fields
      - Find Subscribers Across Lists
      - Move Subscriber to Another List
      - Create and Schedule a Broadcast
      - Get Sent Broadcast Details
      - Get Broadcast Statistics
      - Get Subscribers Who Opened or Clicked a Broadcast
      - Get Webforms Detail
      - Get Integrations List
      - Get Segments
      - Get Landing Pages
  - name: Miscellaneous
    tags:
      - Developer Changelog
      - FAQ
      - Troubleshooting
paths:
  $ref: _paths.yaml
components:
  parameters:
    $ref: _parameters.yaml
  responses:
    $ref: _responses.yaml
  schemas:
    $ref: _definitions.yaml
  securitySchemes:
    "OAuth 2.0":
      description: |
        The following endpoints and scopes are used to authenticate.
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: "https://auth.aweber.com/oauth2/authorize"
          tokenUrl: "https://auth.aweber.com/oauth2/token"
          refreshUrl: "https://auth.aweber.com/oauth2/token"
          scopes:
            "account.read": |
              <br>
              Access account information and associated integrations. <br>
              <b>Required for the following endpoints:</b> get accounts, get account, get integrations, get integration
            "landing-page.read": |
              <br>
              Retrieve landing pages <br>
              <b>Required for the following endpoints:</b> get landing pages, get landing page
            "list.read": |
              <br>
              Retrieve lists, custom fields, tags, and sign up forms <br>
              <b>Required for the following endpoints:</b> get list, get lists, find lists, get tags for list, get custom fields, get custom field, get webforms for list, get split tests for list, get split test components, get split test component, get webforms for account, get split tests for account
            "list.write": |
              <br>
              Create, edit, and delete custom fields <br>
              <b>Required for the following endpoints:</b> add custom field, update custom field, delete custom field
            "subscriber.read": |
              <br>
              Retrieve subscribers and their activity <br>
              <b>Required for the following endpoints:</b> get subscribers, get subscriber, get subscriber activity, get subscribers for message, find subscribers for account, find subscribers for list
            "subscriber.write": |
              <br>
              Create, edit, delete, retrieve, search for, and move subscribers <br>
              <b>Required for the following endpoints:</b> add subscriber, move subscriber, update subscriber, delete subscriber
            "subscriber.read-extended": |
              <br>
              Previously required to retrieve subscriber PII such as name, email, IP address, etc.  This functionality was moved to the "subscriber.read" scope
            "email.read": |
              <br>
              Retrieve email activity related to broadcasts and follow-ups <br>
              <b>Required for the following endpoints:</b> get messages, get message, get broadcasts, get broadcast, get message opens, get message open, get message tracked events, get message tracked event, get total broadcasts, get campaigns, get campaign, find campaigns, get broadcast statistics, get broadcast statistic
            "email.write": |
              <br>
              Create and send email broadcasts <br>
              <b>Required for the following endpoints:</b> create broadcast, update broadcast, delete broadcast, cancel broadcast, schedule broadcast
