curl --request POST \
--url https://api.cludo.com/api/banners \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"bannerterms": [
{
"name": "<string>"
}
],
"isDisabled": true,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": [
"<unknown>"
]
}
'import requests
url = "https://api.cludo.com/api/banners"
payload = {
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"bannerterms": [{ "name": "<string>" }],
"isDisabled": True,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": ["<unknown>"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
htmlcode: '<string>',
websiteid: 123,
bannerterms: [{name: '<string>'}],
isDisabled: true,
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
audiences: ['<unknown>']
})
};
fetch('https://api.cludo.com/api/banners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
htmlcode: '<string>',
websiteid: 123,
bannerterms: [{name: '<string>'}],
isDisabled: true,
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
audiences: ['<unknown>']
})
};
fetch('https://api.cludo.com/api/banners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"id": 123,
"bannerterms": [
{
"name": "<string>"
}
],
"isDisabled": true,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": [
"<unknown>"
],
"engineIds": [
123
],
"frequency": "<string>",
"daysOfWeek": "<string>",
"cssCode": "<string>",
"jsonOption": "<string>",
"editorType": "<string>",
"brokenLinksFoundAt": "<string>"
}{
"viewModel.pages[0]": [
"The Url field is required."
]
}{
"message": "unauthorized"
}{
"status": "InternalServerError",
"code": 500,
"messages": [
"Error occur. Please contact support with error ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]
}Create Banner
Creates a banner. The server assigns id.
curl --request POST \
--url https://api.cludo.com/api/banners \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"bannerterms": [
{
"name": "<string>"
}
],
"isDisabled": true,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": [
"<unknown>"
]
}
'import requests
url = "https://api.cludo.com/api/banners"
payload = {
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"bannerterms": [{ "name": "<string>" }],
"isDisabled": True,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": ["<unknown>"]
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
htmlcode: '<string>',
websiteid: 123,
bannerterms: [{name: '<string>'}],
isDisabled: true,
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
audiences: ['<unknown>']
})
};
fetch('https://api.cludo.com/api/banners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
htmlcode: '<string>',
websiteid: 123,
bannerterms: [{name: '<string>'}],
isDisabled: true,
from: '2023-11-07T05:31:56Z',
to: '2023-11-07T05:31:56Z',
audiences: ['<unknown>']
})
};
fetch('https://api.cludo.com/api/banners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"name": "<string>",
"htmlcode": "<string>",
"websiteid": 123,
"id": 123,
"bannerterms": [
{
"name": "<string>"
}
],
"isDisabled": true,
"from": "2023-11-07T05:31:56Z",
"to": "2023-11-07T05:31:56Z",
"audiences": [
"<unknown>"
],
"engineIds": [
123
],
"frequency": "<string>",
"daysOfWeek": "<string>",
"cssCode": "<string>",
"jsonOption": "<string>",
"editorType": "<string>",
"brokenLinksFoundAt": "<string>"
}{
"viewModel.pages[0]": [
"The Url field is required."
]
}{
"message": "unauthorized"
}{
"status": "InternalServerError",
"code": 500,
"messages": [
"Error occur. Please contact support with error ID: a1b2c3d4-e5f6-7890-abcd-ef1234567890"
]
}Authorizations
Basic authentication. Use your Customer ID as the username and API Key as the password. Example header: Authorization: Basic MTIzNDU2NzpteS1hcGkta2V5.
Body
Banner payload without id (server assigns id).
Admin-facing name for the banner.
Markup to render; validate in staging before production.
Must match the engine you are configuring.
Optional trigger list; omit for banners driven only by audience rules.
Show child attributes
Show child attributes
Create in disabled state to review before go-live.
Audience targeting configuration. Omit the field entirely (or send null) when the banner is not audience-targeted.
Response
Banner created successfully.
Internal label in MyCludo (not shown to end users).
HTML snippet injected on the SERP when terms match (keep accessible and scoped).
Search engine ID.
Banner ID (assigned by server on create).
List of trigger phrases; any match can activate the banner depending on engine rules.
Show child attributes
Show child attributes
When true, the banner is stored but never served.
Start of scheduled display window.
End of scheduled display window.
Audience targeting configuration. Omit the field entirely (or send null) when the banner is not audience-targeted.
Managed by the Cludo backend; informational only.
Managed by the Cludo backend; informational only.
Managed by the Cludo backend; informational only.
Managed by the Cludo backend; informational only.
Managed by the Cludo backend; informational only.
Managed by the Cludo backend; informational only.
Timestamp when broken links were last detected, if any.
Was this page helpful?

