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.

OpenAPI Specification

aweber-broadcasts-api-openapi.yml Raw ↑
openapi: 3.0.2
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
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)

    '
security:
- OAuth 2.0: []
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)\n\
          print(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`;\n\
          fetch(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')\n\
          response = 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);\n\
          request.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`;\n\
          fetch(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)\n\
          print(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}`;\n\
          fetch(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\n\
          end\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://gith

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