# Ad Exchange Buyer API . creatives

## Instance Methods

Gets the status for a single creative. A creative will be available 30-40 minutes after submission.

Submit a new creative.

Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.

Retrieves the next page of results.

### Method Details

`get(accountId, buyerCreativeId)`

    Gets the status for a single creative. A creative will be available 30-40 minutes after submission.

    Args:
      accountId: integer, The id for the account that will serve this creative. (required)
      buyerCreativeId: string, The buyer-specific id for this creative. (required)

    Returns:
      An object of the form:

        { # A creative and its classification data.
        "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
        "accountId": 42, # Account id.
        "adTechnologyProviders": {
          "detectedProviderIds": [ # The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If this creative contains provider IDs that are outside of those listed in the `BidRequest.adslot.consented_providers_settings.consented_providers` field on the  Authorized Buyers Real-Time Bidding protocol or the `BidRequest.user.ext.consented_providers_settings.consented_providers` field on the OpenRTB protocol, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
            "A String",
          ],
          "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider. If true, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
        },
        "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
          "A String",
        ],
        "advertiserName": "A String", # The name of the company being advertised in the creative.
        "agencyId": "A String", # The agency id for this creative.
        "apiUploadTimestamp": "A String", # The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).
        "attribute": [ # All attributes for the ads that may be shown from this snippet.
          42,
        ],
        "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
        "clickThroughUrl": [ # The set of destination urls for the snippet.
          "A String",
        ],
        "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
          {
            "details": [ # Additional details about the correction.
              "A String",
            ],
            "reason": "A String", # The type of correction that was applied to the creative.
          },
        ],
        "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
          {
            "details": [ # Additional details about the reason for disapproval.
              "A String",
            ],
            "reason": "A String", # The categorized reason for disapproval.
          },
        ],
        "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
          "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
          "reasons": [ # The filtering reasons.
            {
              "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
              "filteringStatus": 42, # The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.
            },
          ],
        },
        "height": 42, # Ad height.
        "impressionTrackingUrl": [ # The set of urls to be called to record an impression.
          "A String",
        ],
        "kind": "adexchangebuyer#creative", # Resource type.
        "nativeAd": { # If nativeAd is set, HTMLSnippet and videoURL should not be set.
          "advertiser": "A String",
          "appIcon": { # The app icon, for app download ads.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "body": "A String", # A long description of the ad.
          "callToAction": "A String", # A label for the button that the user is supposed to click.
          "clickTrackingUrl": "A String", # The URL to use for click tracking.
          "headline": "A String", # A short title for the ad.
          "image": { # A large image.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "impressionTrackingUrl": [ # The URLs are called when the impression is rendered.
            "A String",
          ],
          "logo": { # A smaller image, for the advertiser logo.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "price": "A String", # The price of the promoted app including the currency info.
          "starRating": 3.14, # The app rating in the app store. Must be in the range [0-5].
        },
        "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
          42,
        ],
        "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
          42,
        ],
        "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
          42,
        ],
        "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
        "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
          42,
        ],
        "version": 42, # The version for this creative. Read-only. This field should not be set in requests.
        "videoURL": "A String", # The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set.
        "width": 42, # Ad width.
      }

`insert(body=None)`

    Submit a new creative.

    Args:
      body: object, The request body.
        The object takes the form of:

    { # A creative and its classification data.
      "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
      "accountId": 42, # Account id.
      "adTechnologyProviders": {
        "detectedProviderIds": [ # The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If this creative contains provider IDs that are outside of those listed in the `BidRequest.adslot.consented_providers_settings.consented_providers` field on the  Authorized Buyers Real-Time Bidding protocol or the `BidRequest.user.ext.consented_providers_settings.consented_providers` field on the OpenRTB protocol, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
          "A String",
        ],
        "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider. If true, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
      },
      "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
        "A String",
      ],
      "advertiserName": "A String", # The name of the company being advertised in the creative.
      "agencyId": "A String", # The agency id for this creative.
      "apiUploadTimestamp": "A String", # The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).
      "attribute": [ # All attributes for the ads that may be shown from this snippet.
        42,
      ],
      "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
      "clickThroughUrl": [ # The set of destination urls for the snippet.
        "A String",
      ],
      "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
        {
          "details": [ # Additional details about the correction.
            "A String",
          ],
          "reason": "A String", # The type of correction that was applied to the creative.
        },
      ],
      "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
        {
          "details": [ # Additional details about the reason for disapproval.
            "A String",
          ],
          "reason": "A String", # The categorized reason for disapproval.
        },
      ],
      "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
        "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
        "reasons": [ # The filtering reasons.
          {
            "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
            "filteringStatus": 42, # The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.
          },
        ],
      },
      "height": 42, # Ad height.
      "impressionTrackingUrl": [ # The set of urls to be called to record an impression.
        "A String",
      ],
      "kind": "adexchangebuyer#creative", # Resource type.
      "nativeAd": { # If nativeAd is set, HTMLSnippet and videoURL should not be set.
        "advertiser": "A String",
        "appIcon": { # The app icon, for app download ads.
          "height": 42,
          "url": "A String",
          "width": 42,
        },
        "body": "A String", # A long description of the ad.
        "callToAction": "A String", # A label for the button that the user is supposed to click.
        "clickTrackingUrl": "A String", # The URL to use for click tracking.
        "headline": "A String", # A short title for the ad.
        "image": { # A large image.
          "height": 42,
          "url": "A String",
          "width": 42,
        },
        "impressionTrackingUrl": [ # The URLs are called when the impression is rendered.
          "A String",
        ],
        "logo": { # A smaller image, for the advertiser logo.
          "height": 42,
          "url": "A String",
          "width": 42,
        },
        "price": "A String", # The price of the promoted app including the currency info.
        "starRating": 3.14, # The app rating in the app store. Must be in the range [0-5].
      },
      "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
        42,
      ],
      "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
        42,
      ],
      "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
        42,
      ],
      "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
      "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
        42,
      ],
      "version": 42, # The version for this creative. Read-only. This field should not be set in requests.
      "videoURL": "A String", # The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set.
      "width": 42, # Ad width.
    }

    Returns:
      An object of the form:

        { # A creative and its classification data.
        "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
        "accountId": 42, # Account id.
        "adTechnologyProviders": {
          "detectedProviderIds": [ # The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If this creative contains provider IDs that are outside of those listed in the `BidRequest.adslot.consented_providers_settings.consented_providers` field on the  Authorized Buyers Real-Time Bidding protocol or the `BidRequest.user.ext.consented_providers_settings.consented_providers` field on the OpenRTB protocol, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
            "A String",
          ],
          "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider. If true, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
        },
        "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
          "A String",
        ],
        "advertiserName": "A String", # The name of the company being advertised in the creative.
        "agencyId": "A String", # The agency id for this creative.
        "apiUploadTimestamp": "A String", # The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).
        "attribute": [ # All attributes for the ads that may be shown from this snippet.
          42,
        ],
        "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
        "clickThroughUrl": [ # The set of destination urls for the snippet.
          "A String",
        ],
        "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
          {
            "details": [ # Additional details about the correction.
              "A String",
            ],
            "reason": "A String", # The type of correction that was applied to the creative.
          },
        ],
        "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
          {
            "details": [ # Additional details about the reason for disapproval.
              "A String",
            ],
            "reason": "A String", # The categorized reason for disapproval.
          },
        ],
        "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
          "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
          "reasons": [ # The filtering reasons.
            {
              "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
              "filteringStatus": 42, # The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.
            },
          ],
        },
        "height": 42, # Ad height.
        "impressionTrackingUrl": [ # The set of urls to be called to record an impression.
          "A String",
        ],
        "kind": "adexchangebuyer#creative", # Resource type.
        "nativeAd": { # If nativeAd is set, HTMLSnippet and videoURL should not be set.
          "advertiser": "A String",
          "appIcon": { # The app icon, for app download ads.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "body": "A String", # A long description of the ad.
          "callToAction": "A String", # A label for the button that the user is supposed to click.
          "clickTrackingUrl": "A String", # The URL to use for click tracking.
          "headline": "A String", # A short title for the ad.
          "image": { # A large image.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "impressionTrackingUrl": [ # The URLs are called when the impression is rendered.
            "A String",
          ],
          "logo": { # A smaller image, for the advertiser logo.
            "height": 42,
            "url": "A String",
            "width": 42,
          },
          "price": "A String", # The price of the promoted app including the currency info.
          "starRating": 3.14, # The app rating in the app store. Must be in the range [0-5].
        },
        "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
          42,
        ],
        "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
          42,
        ],
        "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
          42,
        ],
        "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
        "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
          42,
        ],
        "version": 42, # The version for this creative. Read-only. This field should not be set in requests.
        "videoURL": "A String", # The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set.
        "width": 42, # Ad width.
      }

`list(accountId=None, buyerCreativeId=None, maxResults=None, pageToken=None, statusFilter=None)`

    Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.

    Args:
      accountId: integer, When specified, only creatives for the given account ids are returned. (repeated)
      buyerCreativeId: string, When specified, only creatives for the given buyer creative ids are returned. (repeated)
      maxResults: integer, Maximum number of entries returned on one result page. If not set, the default is 100. Optional.
      pageToken: string, A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of "nextPageToken" from the previous response. Optional.
      statusFilter: string, When specified, only creatives having the given status are returned.
        Allowed values
          approved - Creatives which have been approved.
          disapproved - Creatives which have been disapproved.
          not_checked - Creatives whose status is not yet checked.

    Returns:
      An object of the form:

        { # The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.
        "items": [ # A list of creatives.
          { # A creative and its classification data.
            "HTMLSnippet": "A String", # The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set.
            "accountId": 42, # Account id.
            "adTechnologyProviders": {
              "detectedProviderIds": [ # The detected ad technology provider IDs for this creative. See https://storage.googleapis.com/adx-rtb-dictionaries/providers.csv for mapping of provider ID to provided name, a privacy policy URL, and a list of domains which can be attributed to the provider. If this creative contains provider IDs that are outside of those listed in the `BidRequest.adslot.consented_providers_settings.consented_providers` field on the  Authorized Buyers Real-Time Bidding protocol or the `BidRequest.user.ext.consented_providers_settings.consented_providers` field on the OpenRTB protocol, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
                "A String",
              ],
              "hasUnidentifiedProvider": True or False, # Whether the creative contains an unidentified ad technology provider. If true, a bid submitted for a European Economic Area (EEA) user with this creative is not compliant with the GDPR policies as mentioned in the "Third-party Ad Technology Vendors" section of Authorized Buyers Program Guidelines.
            },
            "advertiserId": [ # Detected advertiser id, if any. Read-only. This field should not be set in requests.
              "A String",
            ],
            "advertiserName": "A String", # The name of the company being advertised in the creative.
            "agencyId": "A String", # The agency id for this creative.
            "apiUploadTimestamp": "A String", # The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).
            "attribute": [ # All attributes for the ads that may be shown from this snippet.
              42,
            ],
            "buyerCreativeId": "A String", # A buyer-specific id identifying the creative in this ad.
            "clickThroughUrl": [ # The set of destination urls for the snippet.
              "A String",
            ],
            "corrections": [ # Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.
              {
                "details": [ # Additional details about the correction.
                  "A String",
                ],
                "reason": "A String", # The type of correction that was applied to the creative.
              },
            ],
            "disapprovalReasons": [ # The reasons for disapproval, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue. Read-only. This field should not be set in requests.
              {
                "details": [ # Additional details about the reason for disapproval.
                  "A String",
                ],
                "reason": "A String", # The categorized reason for disapproval.
              },
            ],
            "filteringReasons": { # The filtering reasons for the creative. Read-only. This field should not be set in requests.
              "date": "A String", # The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST.
              "reasons": [ # The filtering reasons.
                {
                  "filteringCount": "A String", # The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.
                  "filteringStatus": 42, # The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.
                },
              ],
            },
            "height": 42, # Ad height.
            "impressionTrackingUrl": [ # The set of urls to be called to record an impression.
              "A String",
            ],
            "kind": "adexchangebuyer#creative", # Resource type.
            "nativeAd": { # If nativeAd is set, HTMLSnippet and videoURL should not be set.
              "advertiser": "A String",
              "appIcon": { # The app icon, for app download ads.
                "height": 42,
                "url": "A String",
                "width": 42,
              },
              "body": "A String", # A long description of the ad.
              "callToAction": "A String", # A label for the button that the user is supposed to click.
              "clickTrackingUrl": "A String", # The URL to use for click tracking.
              "headline": "A String", # A short title for the ad.
              "image": { # A large image.
                "height": 42,
                "url": "A String",
                "width": 42,
              },
              "impressionTrackingUrl": [ # The URLs are called when the impression is rendered.
                "A String",
              ],
              "logo": { # A smaller image, for the advertiser logo.
                "height": 42,
                "url": "A String",
                "width": 42,
              },
              "price": "A String", # The price of the promoted app including the currency info.
              "starRating": 3.14, # The app rating in the app store. Must be in the range [0-5].
            },
            "productCategories": [ # Detected product categories, if any. Read-only. This field should not be set in requests.
              42,
            ],
            "restrictedCategories": [ # All restricted categories for the ads that may be shown from this snippet.
              42,
            ],
            "sensitiveCategories": [ # Detected sensitive categories, if any. Read-only. This field should not be set in requests.
              42,
            ],
            "status": "A String", # Creative serving status. Read-only. This field should not be set in requests.
            "vendorType": [ # All vendor types for the ads that may be shown from this snippet.
              42,
            ],
            "version": 42, # The version for this creative. Read-only. This field should not be set in requests.
            "videoURL": "A String", # The URL to fetch a video ad. If set, HTMLSnippet and the nativeAd should not be set.
            "width": 42, # Ad width.
          },
        ],
        "kind": "adexchangebuyer#creativesList", # Resource type.
        "nextPageToken": "A String", # Continuation token used to page through creatives. To retrieve the next page of results, set the next request's "pageToken" value to this.
      }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.