AWeber Broadcasts API

The Broadcasts API from AWeber — 10 operations for creating, updating, scheduling, cancelling and deleting broadcast emails on a list, plus reading opens and clicks.

Operations 10

GET /accounts/{accountId}/lists/{listId}/broadcasts Get broadcasts #
POST /accounts/{accountId}/lists/{listId}/broadcasts Create broadcast #
GET /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId} Get broadcast #
PUT /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId} Update broadcast #
DELETE /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId} Delete broadcast #
POST /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}/cancel Cancel scheduled broadcast #
GET /accounts/{accountId}/lists/{listId}/broadcasts/total Get total broadcasts #
POST /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}/schedule Schedule broadcast #
GET /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}/opens Get broadcast opens #
GET /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}/clicks Get broadcast clicks #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/aweber-broadcasts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

aweber-broadcasts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AWeber Broadcasts API
  version: '1.0'
  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>

    '
  contact:
    name: AWeber API Team
    email: api@aweber.com
    url: https://api.aweber.com/
servers:
- url: https://api.aweber.com/1.0
  description: v1 API endpoints
security:
- OAuth 2.0: []
tags:
- name: Broadcasts
  description: '### What is it?


    Represents broadcast messages associated with a specific list.


    Use this set of resources to create, retrieve, modify, schedule, and delete broadcast

    messages on a list.


    The broadcast collection is paginated in pages of 100 items by default and sorted based

    on the message status.  Each response page includes `next_collection_link` and

    `prev_collection_link` properties to traverse the collection.  See

    [How Collections are Represented](#collection-representation) for traversal details and the

    following table for sorting.


    | Status      | Sort attribute  | Description                                                                                                |

    |-------------|-----------------|------------------------------------------------------------------------------------------------------------|

    | `draft`     | `broadcast_id`  | A Broadcast Message that has been created via the `Create Broadcast` endpoint and is currently unscheduled |

    | `scheduled` | `scheduled_for` | A Broadcast Message that has scheduled but not sent                                                        |

    | `sent`      | `sent_at`       | A Broadcast Message that has been sent                                                                     |


    ### Related endpoints


    * [Broadcasts](#tag/Broadcasts)

    * [Get broadcasts by state](#tag/Broadcasts/paths/~1accounts~1{accountId}~1lists~1{listId}~1broadcasts/get)

    * [Get broadcasts for a list](#tag/Campaigns/paths/~1accounts~1{accountId}~1lists~1{listId}~1campaigns/get)

    * [Get information about links in a broadcast](#tag/Campaigns/paths/~1accounts~1{accountId}~1lists~1{listId}~1campaigns~1{campaignType}{campaignId}~1links/get)

    * [Get information about link clicks for a broadcast](#tag/Campaigns/paths/~1accounts~1{accountId}~1lists~1{listId}~1campaigns~1{campaignType}{campaignId}~1links~1{linkId}~1clicks/get)

    * [Get broadcast statistics](#tag/Campaigns/paths/~1accounts~1{accountId}~1lists~1{listId}~1campaigns~1b{campaignId}~1stats/get)


    ### Related code samples


    * [Create and Schedule a Broadcast](#tag/Create-and-Schedule-a-Broadcast)

    * [Get Sent Broadcast Details](#tag/Get-Sent-Broadcast-Details)

    * [Get Broadcast Statistics](#tag/Get-Broadcast-Statistics)

    * [Get Subscribers Who Opened or Clicked a Broadcast](#tag/Get-Subscribers-Who-Opened-or-Clicked-a-Broadcast)

    '
paths:
  /accounts/{accountId}/lists/{listId}/broadcasts:
    get:
      summary: Get broadcasts
      description: "This endpoint is used to get a paginated collection of broadcasts under the specified account and list.  The sort order is dependent on the requested status.\n\n  * *draft* messages are sorted by `broadcast_id` **and** only include API created broadcast drafts\n  * *scheduled* messages are sorted by `scheduled_for`\n  * *sent* messages are sorted by `sent_at`\n\n\nCheck out related examples:\n\n  * Create and Schedule Broadcast (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/create-schedule-broadcast\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Create%20and%20Schedule%20Boadcast.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.CreateScheduleBroadcast\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/create_schedule_broadcast.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/create-schedule-broadcast.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Details (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-details\" target=\"_blank\">Python</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Details.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastDetails\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_details.rb\" target=\"_blank\">Ruby</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-details.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Opens and Clicks (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-opens-clicks\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-opens-clicks\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastOpensClicks\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_opens_clicks.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-opens-clicks.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Statistics (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-stats\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-stats\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Stats.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastStats\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_stats.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-stats.js\" target=\"_blank\">Node.js</a> )"
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/listId'
      - name: status
        in: query
        required: true
        description: The status of the broadcasts to retrieve. **(Please be aware that `draft` only returns API created Broadcast drafts)**
        schema:
          type: string
          enum:
          - draft
          - scheduled
          - sent
      - $ref: '#/components/parameters/wsStart'
      - $ref: '#/components/parameters/wsSize'
      security:
      - OAuth 2.0:
        - email.read
      x-code-samples:
      - lang: Shell
        source: "curl -G \\\n  https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId} \\\n  -d status=sent \\\n  -H 'Authorization: Bearer {YOUR_ACCESS_TOKEN}'\n"
      - lang: Python
        source: "headers = {'Accept': 'application/json',\n           'User-Agent': 'AWeber-Python-code-sample/1.0',\n           'Authorization': f'Bearer {access_token}'}\nurl = (f'https://api.aweber.com/1.0/accounts/{account_id}'\n       f'/lists/{list_id}/broadcasts?status=sent')\nresponse = requests.get(url, headers=headers)\nprint(response.json())\n"
      - lang: PHP
        source: "$headers = [\n    'User-Agent' => 'AWeber-PHP-code-sample/1.0',\n    'Accept' => 'application/json',\n    'Authorization' => 'Bearer $token',\n];\n$url = \"https://api.aweber.com/1.0/accounts/{$accountId}/lists/{$listId}/broadcasts?status=sent\";\n$response = $client->get($url, ['headers' => $headers]);\n$body = json_decode($response->getBody(), true);\nprint_r($body);\n"
      - lang: C#
        source: 'const string url = "https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts?status=sent";

          var request = new HttpRequestMessage(HttpMethod.Get, url);

          request.Headers.Add("Accept","application/json");

          request.Headers.Add("User-Agent","AWeber-CSharp-code-sample/1.0");

          request.Headers.Add("Authorization", $"Bearer {Token}");

          var response = await Client.SendAsync(request);

          Console.Write(response.Content.ReadAsStringAsync());

          '
      - lang: JavaScript
        label: Node.js
        source: "const headers = {\n  \"Accept\": \"application/json\",\n  \"User-Agent\": \"AWeber-Node-code-sample/1.0\",\n  \"Authorization\": `Bearer ${accessToken}`\n};\nconst url = `https://api.aweber.com/1.0/accounts/${accountId}/lists/${listId}/broadcasts?status=sent`;\nfetch(url, { headers: headers })\n  .then(response => response.json())\n  .then(data => {\n      console.log(data)\n  })\n"
      - lang: Ruby
        source: "headers = {\n  'Accept': 'application/json',\n  'User-Agent': 'AWeber-Ruby-code-sample/1.0',\n  'Authorization': \"Bearer #{access_token}\"\n}\nresponse = Faraday.get(\n  \"https://api.aweber.com/1.0/accounts/#{account_id}/\" \\\n  \"lists/#{list_id}/broadcasts\", {\n    status: 'sent'\n  }\n) do |req|\n  req.headers = headers\nend\nputs response.body\n"
      responses:
        '200':
          description: The request completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcasts'
        '400':
          $ref: '#/components/responses/BroadcastBadRequest'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/BroadcastNotFound'
        '410':
          $ref: '#/components/responses/BlockedError'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      operationId: getBroadcasts
    post:
      summary: Create broadcast
      description: "This endpoint is used to create a broadcast message draft.\n**This POST request is limited to 1 million bytes.**\n\nCheck out related examples:\n\n  * Create and Schedule Broadcast (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/create-schedule-broadcast\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Create%20and%20Schedule%20Boadcast.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.CreateScheduleBroadcast\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/create_schedule_broadcast.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/create-schedule-broadcast.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Details (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-details\" target=\"_blank\">Python</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Details.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastDetails\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_details.rb\" target=\"_blank\">Ruby</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-details.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Opens and Clicks (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-opens-clicks\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-opens-clicks\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastOpensClicks\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_opens_clicks.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-opens-clicks.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Statistics (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-stats\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-stats\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Stats.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastStats\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_stats.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-stats.js\" target=\"_blank\">Node.js</a> )"
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/listId'
      security:
      - OAuth 2.0:
        - email.write
      x-code-samples:
      - lang: Shell
        source: "curl -X POST \\\n  https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts \\\n  --data-urlencode 'body_html=<html><h1>title</h1><body>message body.</body></html>' \\\n  --data-urlencode 'body_text=this is the content of my message' \\\n  --data-urlencode 'click_tracking_enabled=True' \\\n  --data-urlencode 'exclude_lists=[\"https://api.aweber.com/1.0/accounts/123/lists/456\"]' \\\n  --data-urlencode 'facebook_integration=https://api.aweber.com/1.0/accounts/123/integrations/1' \\\n  --data-urlencode 'include_lists=[\"https://api.aweber.com/1.0/accounts/123/lists/456\"]' \\\n  --data-urlencode 'is_archived=True' \\\n  --data-urlencode 'notify_on_send=True' \\\n  --data-urlencode 'subject=weekly recipes' \\\n  --data-urlencode 'twitter_integration=https://api.aweber.com/1.0/accounts/123/integrations/2' \\\n  -H 'Authorization: Bearer {YOUR_ACCESS_TOKEN}'\n"
      - lang: Python
        source: "body = {\n    'body_html': '<html><h1>title</h1><body>message body.</body></html>',\n    'body_text': 'this is the content of my message',\n    'click_tracking_enabled': True,\n    'exclude_lists': json.dumps([\n        'https://api.aweber.com/1.0/accounts/123/lists/456'\n    ]),\n    'facebook_integration': 'https://api.aweber.com/1.0/accounts/123/integrations/1',\n    'include_lists': json.dumps([\n        'https://api.aweber.com/1.0/accounts/123/lists/456'\n    ]),\n    'is_archived': True,\n    'notify_on_send': True,\n    'subject': 'weekly recipes',\n    'twitter_integration': 'https://api.aweber.com/1.0/accounts/123/integrations/2',\n}\nheaders = {'Content-Type': 'application/x-www-form-urlencoded',\n           'Accept': 'application/json',\n           'User-Agent': 'AWeber-Python-code-sample/1.0',\n           'Authorization': f'Bearer {access_token}'}\nurl = (f'https://api.aweber.com/1.0/accounts/{account_id}'\n       f'/lists/{list_id}/broadcasts')\nresponse = requests.post(url, headers=headers, data=body)\nprint(response.json())\n"
      - lang: PHP
        source: "$body = [\n    'body_html' => '<html><h1>title</h1><body>message body.</body></html>',\n    'body_text' => 'this is the content of my message',\n    'click_tracking_enabled' => true,\n    'exclude_lists' => json_encode([\n        'https://api.aweber.com/1.0/accounts/123/lists/456'\n    ]),\n    'facebook_integration' => 'https://api.aweber.com/1.0/accounts/123/integrations/1',\n    'include_lists' => json_encode([\n        'https://api.aweber.com/1.0/accounts/123/lists/456'\n    ]),\n    'is_archived' => true,\n    'notify_on_send' => true,\n    'subject' => 'weekly recipes',\n    'twitter_integration' => 'https://api.aweber.com/1.0/accounts/123/integrations/2',\n];\n$headers = [\n    'Content-Type' => 'application/x-www-form-urlencoded',\n    'Accept' => 'application/json',\n    'Authorization' => 'Bearer $token',\n    'User-Agent' => 'AWeber-PHP-code-sample/1.0'\n];\n$url = \"https://api.aweber.com/1.0/accounts/{$accountId}/lists/{$listId}/broadcasts\";\n$response = $client->post($url, ['form_params' => $body, 'headers' => $headers]);\n$body = json_decode($response->getbody(), true);\nprint_r($body);\n"
      - lang: C#
        source: "const string url = \"https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts\";\nvar payload = new Dictionary<string, string>\n{\n  {\"body_html\", \"<html><h1>title</h1><body>message body.</body></html>\"},\n  {\"body_text\", \"this is the content of my message\"},\n  {\"click_tracking_enabled\", \"true\"},\n  {\"exclude_lists\", \"[\\\"https://api.aweber.com/1.0/accounts/123/lists/456\\\"]\"},\n  {\"facebook_integration\", \"https://api.aweber.com/1.0/accounts/123/integrations/1\"},\n  {\"include_lists\", \"[\\\"https://api.aweber.com/1.0/accounts/123/lists/456\\\"]\"},\n  {\"is_archived\", \"true\"},\n  {\"notify_on_send\", \"true\"},\n  {\"subject\", \"weekly recipes\"},\n  {\"twitter_integration\", \"https://api.aweber.com/1.0/accounts/123/integrations/2\"}\n};\nvar request = new HttpRequestMessage(HttpMethod.Post, url);\nrequest.Content = new FormUrlEncodedContent(payload);\nrequest.Headers.Add(\"Accept\",\"application/json\");\nrequest.Headers.Add(\"User-Agent\",\"AWeber-CSharp-code-sample/1.0\");\nrequest.Headers.Add(\"Authorization\", $\"Bearer {Token}\");\nvar response = await Client.SendAsync(request);\nConsole.Write(response.Content.ReadAsStringAsync());\n"
      - lang: JavaScript
        label: Node.js
        source: "const headers = {\n  \"Accept\": \"application/json\",\n  \"Content-Type\": \"application/x-www-form-urlencoded\",\n  \"User-Agent\": \"AWeber-Node-code-sample/1.0\",\n  \"Authorization\": `Bearer ${accessToken}`\n};\nquerystring = require(\"querystring\")\nconst body = querystring.stringify({\n  \"body_html\": \"<html><h1>title</h1><body>message body.</body></html>\",\n  \"body_text\": \"this is the content of my message\",\n  \"click_tracking_enabled\": true,\n  \"exclude_lists\": JSON.stringify([\"https://api.aweber.com/1.0/accounts/123/lists/456\"]),\n  \"facebook_integration\": \"https://api.aweber.com/1.0/accounts/123/integrations/1\",\n  \"include_lists\": JSON.stringify([\"https://api.aweber.com/1.0/accounts/123/lists/456\"]),\n  \"is_archived\": true,\n  \"notify_on_send\": true,\n  \"subject\": \"weekly recipes\",\n  \"twitter_integration\": \"https://api.aweber.com/1.0/accounts/123/integrations/2\",\n});\nconst url = `https://api.aweber.com/1.0/accounts/${accountId}/lists/${listId}/broadcasts`;\nfetch(url, { headers: headers, method: \"POST\", body: body })\n  .then(response => response.json())\n  .then(data => {\n    console.log(data)\n  })\n"
      - lang: Ruby
        source: "headers = {\n  'Accept': 'application/json',\n  'Content-Type': 'application/x-www-form-urlencoded',\n  'User-Agent': 'AWeber-Ruby-code-sample/1.0',\n  'Authorization': \"Bearer #{access_token}\"\n}\nbody = {\n  'body_html': '<html><h1>title</h1><body>message body.</body></html>',\n  'body_text': 'this is the content of my message',\n  'click_tracking_enabled': true,\n  'exclude_lists': JSON.generate(\n    ['https://api.aweber.com/1.0/accounts/123/lists/456']\n  ),\n  'facebook_integration':\n    'https://api.aweber.com/1.0/accounts/123/integrations/1',\n  'include_lists': JSON.generate(\n    ['https://api.aweber.com/1.0/accounts/123/lists/456']\n  ),\n  'is_archived': true,\n  'notify_on_send': true,\n  'subject': 'weekly recipes',\n  'twitter_integration':\n    'https://api.aweber.com/1.0/accounts/123/integrations/2',\n}\nresponse = Faraday.post(\n  \"https://api.aweber.com/1.0/accounts/#{account_id}/\" \\\n  \"lists/#{list_id}/broadcasts\",\n  URI.encode_www_form(body)\n) do |req|\n  req.headers = headers\nend\nputs response.body\n"
      responses:
        '200':
          description: The request completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcast'
        '400':
          $ref: '#/components/responses/BroadcastBadRequest'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/RateLimitOrEmailPermission'
        '404':
          $ref: '#/components/responses/BroadcastNotFound'
        '410':
          $ref: '#/components/responses/BlockedError'
        '415':
          $ref: '#/components/responses/NotFormURLEncoded'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      requestBody:
        content:
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/CreateBroadcast'
        description: Request Body
        required: true
      operationId: createBroadcast
  /accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}:
    get:
      summary: Get broadcast
      description: "This endpoint is used to retrieve a broadcast message.\n\nCheck out related examples:\n\n  * Create and Schedule Broadcast (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/create-schedule-broadcast\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Create%20and%20Schedule%20Boadcast.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.CreateScheduleBroadcast\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/create_schedule_broadcast.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/create-schedule-broadcast.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Details (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-details\" target=\"_blank\">Python</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Details.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastDetails\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_details.rb\" target=\"_blank\">Ruby</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-details.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Opens and Clicks (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-opens-clicks\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-opens-clicks\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastOpensClicks\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_opens_clicks.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-opens-clicks.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Statistics (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-stats\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-stats\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Stats.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastStats\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_stats.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-stats.js\" target=\"_blank\">Node.js</a> )"
      tags:
      - Broadcasts
      parameters:
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/listId'
      - $ref: '#/components/parameters/broadcastId'
      security:
      - OAuth 2.0:
        - email.read
      x-code-samples:
      - lang: Shell
        source: "curl -G \\\n  https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId} \\\n  -H 'Authorization: Bearer {YOUR_ACCESS_TOKEN}'\n"
      - lang: Python
        source: "headers = {'Accept': 'application/json',\n           'User-Agent': 'AWeber-Python-code-sample/1.0',\n           'Authorization': f'Bearer {access_token}'}\nurl = (f'https://api.aweber.com/1.0/accounts/{account_id}'\n       f'/lists/{list_id}/broadcasts/{broadcast_id}')\nresponse = requests.get(url, headers=headers)\nprint(response.json())\n"
      - lang: PHP
        source: "$headers = [\n    'User-Agent' => 'AWeber-PHP-code-sample/1.0',\n    'Accept' => 'application/json',\n    'Authorization' => 'Bearer $token',\n];\n$url = \"https://api.aweber.com/1.0/accounts/{$accountId}/lists/{$listId}/broadcasts/{$broadcastId}\";\n$response = $client->get($url, ['headers' => $headers]);\n$body = json_decode($response->getBody(), true);\nprint_r($body);\n"
      - lang: C#
        source: 'const string url = "https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/broadcasts/{broadcastId}";

          var request = new HttpRequestMessage(HttpMethod.Get, url);

          request.Headers.Add("Accept","application/json");

          request.Headers.Add("User-Agent","AWeber-CSharp-code-sample/1.0");

          request.Headers.Add("Authorization", $"Bearer {Token}");

          var response = await Client.SendAsync(request);

          Console.Write(response.Content.ReadAsStringAsync());

          '
      - lang: JavaScript
        label: Node.js
        source: "const headers = {\n  \"Accept\": \"application/json\",\n  \"User-Agent\": \"AWeber-Node-code-sample/1.0\",\n  \"Authorization\": `Bearer ${accessToken}`\n};\nconst url = `https://api.aweber.com/1.0/accounts/${accountId}/lists/${listId}/broadcasts/${broadcastId}`;\nfetch(url, { headers: headers })\n  .then(response => response.json())\n  .then(data => {\n      console.log(data)\n  })\n"
      - lang: Ruby
        source: "headers = {\n  'Accept': 'application/json',\n  'User-Agent': 'AWeber-Ruby-code-sample/1.0',\n  'Authorization': \"Bearer #{access_token}\"\n}\nresponse = Faraday.get(\n  \"https://api.aweber.com/1.0/accounts/#{account_id}/\" \\\n  \"lists/#{list_id}/broadcasts/#{broadcast_id}\",\n) do |req|\n  req.headers = headers\nend\nputs response.body\n"
      responses:
        '200':
          description: The request completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Broadcast'
        '400':
          $ref: '#/components/responses/BroadcastBadRequest'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '403':
          $ref: '#/components/responses/RateLimitOrEmailPermission'
        '404':
          $ref: '#/components/responses/BroadcastNotFound'
        '410':
          $ref: '#/components/responses/BlockedError'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      operationId: getBroadcast
    put:
      summary: Update broadcast
      description: "This endpoint is used to replace existing details of a broadcast message in a draft state. **(Please be aware that only broadcast drafts created by the API are available to update)**\n\nCheck out related examples:\n\n  * Create and Schedule Broadcast (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/create-schedule-broadcast\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Create%20and%20Schedule%20Boadcast.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.CreateScheduleBroadcast\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/create_schedule_broadcast.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/create-schedule-broadcast.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Details (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-details\" target=\"_blank\">Python</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/create-schedule-broadcast\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/postman/Get%20Broadcast%20Details.postman_collection.json\" target=\"_blank\">Postman</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastDetails\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_details.rb\" target=\"_blank\">Ruby</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-details.js\" target=\"_blank\">Node.js</a> )\n  * Get Broadcast Opens and Clicks (\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/python/get-broadcast-opens-clicks\" target=\"_blank\">Python</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/php/get-broadcast-opens-clicks\" target=\"_blank\">PHP</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/csharp/AWeber.Examples.GetBroadcastOpensClicks\" target=\"_blank\">C#.NET</a> |\n    <a href=\"https://github.com/aweber/public-api-examples/blob/master/ruby/get_broadcast_opens_clicks.rb\" target=\"_blank\">Ruby</a>  |\n    <a href=\"https://github.com/aweber/public-api-examples/tree/master/node/get-broadcast-opens-clicks

# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/aweber/refs/heads/main/openapi/aweber-broadcasts-api-openapi.yml