Skip to main content

Political creative approval process for publishers

Learn the three-step process that publisher partners complete when they use an API to review Political campaign creatives.

Team IQM avatar
Written by Team IQM
Updated this week

On this page:

Political creative approval process overview

Certain publishers complete compliance checks before Political ads start running. To help streamline the creative review-and-approval process for these ads, they use a specific Creative Submission API. It’s a request that, once sent, returns any creatives attached to Political campaigns that include a Federal Election Commission Identifier (FEC ID) or a state equivalent. This process allows the publisher partners to manually review Political creatives prior to approving them.

Publisher partners complete a simple three-step process when they use an API to review Political campaign creatives:

Obtain the right permissions (access token)

Client ID and Client Secret notice: Contact your IQM representative to obtain a ClientID and ClientSecret. These items are required before you can obtain the access token and send a Creative Submission API request for Political campaign creatives.

The publisher partner will obtain client credentials, also known as the access token, to confirm they have the proper authorization to access a particular Political campaign’s creatives. They’ll send a POST API request containing the following details to ask for these credentials:

Section

Requirement type

Requirement details

Header

x-iaa-host

api.iqm.com [Global Host]

Header

Authorization*

Basic <base64(ClientID:ClientSecret)>

Header

Content-Type

application/x-www-form-urlencoded

Body

Grant-Type

grant_type=client_credentials

*Refer to Obtain the base64 string for additional support with the Authorization header.

Obtain the base64 string

Obtaining the base64 string for the Authorization header is a two-step process:

  1. Concatenate the Client ID and Client Secret with a colon.

  2. Base64-encode the result.

Refer to the example below for more information.

Item

Example value

Example ClientID

Test

Example ClientSecret

123456

Example concatenation

Test:123456

Example base64

cm9rdV8yOjEyMzQ1Ng==

Example cURL request

Refer to the block below to review an example of a request to obtain the access token.

curl --location 'http://api.iqm.com/api/v3/ua/oauth/token' \
--header 'x-iaa-host: api.iqm.com' \
--header 'Authorization: Basic cm9rdV8yOjEyMzQ1Ng==' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials'

Example token response

Access token notice: After you successfully submit the access token request, remember to save the access token included in the response. You’ll need to include this token when you call the Creative Submission API.

Refer to the block below to review an example of a successful response to your access-token request. Pay special attention to the scope: when a response excludes the “creative.submit” scope, it means the client isn’t authorized to submit creatives via this API.

{
"access_token": "eyJhbGciOiJI...kVJhsWWDCL3...",
"expires_at": 1763632934684,
"scope": "creative.submit"
"token_type": "bearer",
"expires_in": 1799,
"jti": "1c04c09a-67ab-4fe0-a626-a5f1475d283e"
}

Request a Political campaign’s creatives

The publisher partner will use the credentials they obtained to request all of the creatives associated with a specific Political campaign. They’ll send an API request containing the following details to submit a request for these creatives. This request is called the “Creative Submission API.”

Section

Requirement type

Requirement details

API Endpoint

URL

Header

Authorization*

Bearer <access_token>

Header

x-iaa-host

api.iqm.com

Query Parameters

Limit (Optional)

If desired, limit the number of creatives submitted. The default value is “-1”, meaning all valid creatives will be submitted when you send the API request.

*Replace the <access_token> value with the actual access token you received.

Example cURL request

Refer to the block below to review an example of a Creative Submission API request.

curl --location 'http://api.iqm.com/api/v3/crt/creatives/submit?limit=10' \
--header 'Authorization: Bearer <ACCESS_TOKEN>' \
--header 'x-iaa-host: api.iqm.com'

Example response

Publisher partners know that their request was successful when they receive a 200 OK API response that includes the information shown in the example below. A successful request means that the details of the request were valid and the publisher obtained the proper authorization before sending the request.

{
"success": true,
"data": [
{
"creativeId": 715863,
"creativeName": "Sample Creative Name",
"creativeSource": "https://cdn.example.com/creatives/715863/sample-creative.jpg",
"advertiserDetails": {
"advertiserName": "Sample Advertiser",
"website": "https://www.sampleadvertiser.com",
"chiefName": "John Doe",
"contactNumber": "+1-202-555-0147",
"address": "123 Main Street, New York, NY 10001",
"politicalIdentifier": "POL-45678",
"advertiserId": 11124,
"legalInfo": "Verified advertiser with compliance clearance",
"links": [
"https://www.sampleadvertiser.com/about",
"https://www.sampleadvertiser.com/campaigns"
]
}
}
]
}

Unsuccessful requests for a Political campaign’s creatives

Requests for a Political campaign’s creative details aren’t always successful. Refer to the table below for more information on errors that a publisher partner may encounter.

Error

Error description

401 Unauthorized

Either the token is missing, invalid, or expired; or the client is expired.

403 Forbidden

The token is valid, but does not have the required “creative.submit” scope. This can occur if you use an access token issued for a client that isn’t otherwise authorized to submit creatives.

Locate additional Creatives resources

Did this answer your question?