Introduction
Welcome to the Adelion API. You can use our API to access RTB.ME endpoints.
Superuser Authorization
Superuser Login
To authorize, send JSON structured like this:
{
"Username": "[username]",
"Password": "[password]"
}
Make sure you put your Username and Password values. The above request returns JSON structured like this:
{
"UID": 1,
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDA5MjQ5NzQsImlzcyI6IlJUQi5NRSIsInVzZXJJZCI6IjEifQ.NAfquN1DOvNMILGbtVKAxaewGbMhls9qCkttd23tO3k",
"ExpiresIn": 3600,
"Status": "Ok"
}
Adelion API uses JWT to authenticate API calls. When authentication is successful, AccessToken is returned, and it should be included with every API call that requires authorization. It should be included in request header in Authorization field:
Authorization: Bearer [AccessToken]
HTTP Request
POST https://adelion.com/api/auth/login/superuser
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Username | string | User's email. | required |
| Password | string | User's password. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Logout
To logout superuser, just call endpoint without parameters.
This endpoint logouts superuser.
HTTP Request
POST https://adelion.com/api/auth/logout/superuser
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Account
To get logged-in superuser's info, just call endpoint without parameters.
Success JSON:
{
"Id": 1,
"Mail": "superuser@example.com"
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches logged-in superuser's info.
HTTP Request
GET https://adelion.com/api/auth/account/superuser
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Refresh
To refresh JWT, just call endpoint without parameters.
Success JSON:
{
"UID": 1,
"AccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE2MDA5MjQ5NzQsImlzcyI6IlJUQi5NRSIsInVzZXJJZCI6IjEifQ.NAfquN1DOvNMILGbtVKAxaewGbMhls9qCkttd23tO3k",
"ExpiresIn": 3600,
"Status": "Ok"
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint refreshes JWT.
HTTP Request
GET https://adelion.com/api/auth/refresh/superuser
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Registration
Get Registration
To get Registration, send query parameter like this: Id=1
Or if you want to get all Registrations, don't include Id parameter, or set it as 0.
Success JSON:
{
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 0,
"ApproveStatusString": "Pending",
"TimeUpdated": "2025-02-06 17:29:13"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 0,
"ApproveStatusString": "Pending",
"TimeUpdated": "2025-02-06 17:29:13"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Registration(s).
HTTP Request
GET https://adelion.com/api/usr/registration/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Registration ID, if sent, request will fetch Registration with exact ID, otherwise it fill fetch all Registrations. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add Registration
To add a Registration, send JSON structured like this:
{
"Registration" : {
"TeamName": "[team_name]",
"Mail": "user@example.com",
"Password": "pass123456",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
}
}
Success JSON:
{
"Status": "Ok",
"Registration": {
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 0,
"ApproveStatusString": "Pending",
"TimeUpdated": "2025-02-06 17:29:13"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Registration.
HTTP Request
POST https://adelion.com/api/usr/registration/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| TeamName | string | Team's name. | required |
| string | User's email. | required | |
| Password | string | User's password. It must be at least 8 characters long. | required |
| FirstName | string | User's first name. | required |
| LastName | string | User's last name. | required |
| Country | string | Team's country. It must be a ISO-3166-1-alpha-2 country code. See Info -> Get countries for a list of available countries. | required |
| ServiceName | string | Name of the company used for team platform. Should be name of the domain without suffix. | required |
| SchainAsiDomain | string | Domain used as schain.nodes.asi field for own schain node. | required |
| ServerDomain | string | Domain for Report API and other server related usages. | required |
| DashDomain | string | Domain for platform's dashboard. | required |
| UsEastDomain | string | Domain for us-east server. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 406 | Not Acceptable -- You requested a format that isn't JSON or some values inside JSON are missing. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later.. |
Update Registration
To update Registration, send JSON structured like this:
{
"Registration" : {
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"Password": "pass123456",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
}
}
Success JSON:
{
"Status": "Ok",
"Registration": {
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 0,
"ApproveStatusString": "Pending",
"TimeUpdated": "2025-02-06 17:29:13"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Registration.
HTTP Request
POST https://adelion.com/api/usr/registration/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Registration ID. | required |
| TeamName | string | Team's name. | required |
| string | User's email. | required | |
| Password | string | User's password. It must be at least 8 characters long. | required |
| FirstName | string | User's first name. | required |
| LastName | string | User's last name. | required |
| Country | string | Team's country. It must be a ISO-3166-1-alpha-2 country code. See Info -> Get countries for a list of available countries. | required |
| ServiceName | string | Name of the company used for team platform. Should be name of the domain without suffix. | required |
| SchainAsiDomain | string | Domain used as schain.nodes.asi field for own schain node. | required |
| ServerDomain | string | Domain for Report API and other server related usages. | required |
| DashDomain | string | Domain for platform's dashboard. | required |
| UsEastDomain | string | Domain for us-east server. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 406 | Not Acceptable -- You requested a format that isn't JSON or some values inside JSON are missing. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later.. |
Approve Registration
To approve a Registration, send JSON structured like this:
{
"Registration": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Registration": {
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 1,
"ApproveStatusString": "Approved",
"TimeUpdated": "2025-02-06 17:29:13"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint approves Registration.
HTTP Request
POST https://adelion.com/api/usr/registration/approve
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Registration ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Disapprove Registration
To disapprove a Registration, send JSON structured like this:
{
"Registration": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Registration": {
"Id": 1,
"TeamName": "[team_name]",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Country": "US",
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion,com",
"DashDomain": "dash.adelion.com",
"UsEastDomain": "us-east.adelion.com",
"ApproveStatus": 2,
"ApproveStatusString": "Disapproved",
"TimeUpdated": "2025-02-06 17:29:13"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint disapproves Registration.
HTTP Request
POST https://adelion.com/api/usr/registration/disapprove
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Registration ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Teams
Get team
To get logged-in user's team info, just call endpoint without parameters.
Success JSON:
{
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400,
"Status": 0,
"StatusString": "Active"
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches user's team info.
HTTP Request
GET https://adelion.com/api/usr/team/get
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Get team
To get Team, send query parameter like this: Id=12
Or if you want to get all Teams, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400,
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400,
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Team(s).
HTTP Request
GET https://adelion.com/api/su/usr/team/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Team ID, if sent, request will fetch Team with exact ID, otherwise it fill fetch all Teams. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update team
To update team, send JSON structured like this:
{
"Team": {
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400
}
}
Success JSON:
{
"Status": "Ok",
"Team": {
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates team. Only user with Admin role can update team.
HTTP Request
POST https://adelion.com/api/usr/team/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Name | string | Team's name. | required |
| ContactMail | string | Team's contact email address. | optional |
| Website | string | Team's website. | optional |
| Country | string | Team's country. It must be a ISO-3166-1-alpha-2 country code. See Info -> Get countries for a list of available countries. | optional |
| City | string | Team's city. | optional |
| ZipCode | string | Team's zip code. | optional |
| Address | string | Team's address. | optional |
| Phone | string | Team's phone. | optional |
| Duns | string | Company's D-U-N-S number | optional |
| TagId | string | TAG ID. | optional |
| BidRequestMaxTimeout | int | Maximum bid request timeout for DSP in milliseconds. | optional |
| MaxQps | int | Maximum queries per second - Maximum number of requests to receive from publishers on team level. Set to 0 for unlimited requests. | optional |
| AutoOptimize | int | Enable automatic requests optimization. 0 - Disabled, 1 - Enabled. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| BlockInvalidCategories | int | Block invalid IAB categories from bid requests and responses. 0 - Disabled, 1 - Enabled. | optional |
| ServiceName | string | Name of the company used for team platform. Should be name of the domain without suffix. | required |
| SchainAsiDomain | string | Domain used as schain.nodes.asi field for own schain node. | required |
| ServerDomain | string | Domain for Report API and other server related usages. | required |
| DashDomain | string | Domain for platform's dashboard. | required |
| GeoedgeEnable | int | Enable GeoEdge ad verification. 0 - Disabled, 1 - Enabled. | optional |
| GeoedgeApiKey | string | GeoEdge API Key. | optional |
| GeoedgeAddNewProjectsPeriodSec | int | Period in seconds to add new projects for GeoEdge. | optional |
| FraudlogixEnable | int | Enable Fraudlogix scanning tool. 0 - Disabled, 1 - Enabled. | optional |
| FraudlogixQid | string | Fraudlogix's qid parameter. | optional |
| FraudlogixCid | string | Fraudlogix's cid parameter. | optional |
| HumanPostbidEnable | int | Enable Human postbid scanning tool. 0 - Disabled, 1 - Enabled. | optional |
| HumanPostbidJsUrl | string | Human's postbid JS URL. | optional |
| CridNumBestCrids | int | Number of best CRIDs to add from CRID statistics for ad verifications. | optional |
| CridNumBestCridsGeoedge | int | Number of best CRIDs to add as GeoEdge projects for GeoEdge ad verification. | optional |
| CridBestCridsLifetimeFreshDays | int | Number of days after CRID that does not appear in statistics will be deleted. | optional |
| StatsWriteAppSiteRequests | int | Write app bundles and site domains for requests to statistics. 0 - Disabled, 1 - Enabled. | optional |
| StatsWriteAppSiteRmtRequests | int | Write app bundles and site domains for remote requests to statistics. 0 - Disabled, 1 - Enabled. | optional |
| StatsIvtWritePubRequests | int | Write Pub IDs for requests to IVT statistics. 0 - Disabled, 1 - Enabled. | optional |
| PerfDspErrorsSkipFactor | float | DSP Optimization - Errors skip factor. | optional |
| PerfDspErrorsReduce | int | DSP Optimization - Errors reduce. | optional |
| PerfDspTimeoutsSkipFactor | float | DSP Optimization - Timeouts skip factor. | optional |
| PerfDspTimeoutsReduce | int | DSP Optimization - Timeouts reduce. | optional |
| PerfDspCCReduce | int | DSP Optimization - CC reduce. | optional |
| PerfDspOSReduce | int | DSP Optimization - OS reduce. | optional |
| PerfDspAutoOptAfterSec | int | DSP Optimization - Auto Optimize after period (seconds). | optional |
| PerfSspAutoOptAfterSec | int | SSP Optimization - Auto Optimize after period (seconds). | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Update team
To update team, send JSON structured like this:
{
"Team": {
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400
}
}
Success JSON:
{
"Status": "Ok",
"Team": {
"Id": 1,
"Name": "Team1",
"ContactMail": "contact@mail.com",
"Website": "www.team1.com",
"Country": "US",
"City": "[team_city]",
"ZipCode": "789012",
"Address": "456 Street",
"Phone": "+999999999",
"Duns": "xx-xxx-xxxx",
"TagId": "xxxxxxxxxxxxxxxx",
"BidRequestMaxTimeout": 600,
"MaxQps": 0,
"AutoOptimize": 1,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"BlockInvalidCategories": 1,
"ServiceName": "adelion",
"SchainAsiDomain": "adelion.com",
"ServerDomain": "adelion.com",
"DashDomain": "dashboard.adelion.com",
"GeoedgeEnable": 0,
"GeoedgeApiKey": "",
"GeoedgeAddNewProjectsPeriodSec": 10800,
"FraudlogixEnable": 0,
"FraudlogixQid": "",
"FraudlogixCid": "",
"HumanPostbidEnable": 0,
"HumanPostbidJsUrl": "",
"CridNumBestCrids": 100,
"CridNumBestCridsGeoedge": 100,
"CridBestCridsLifetimeFreshDays": 3,
"StatsWriteAppSiteRequests": 0,
"StatsWriteAppSiteRmtRequests": 0,
"StatsIvtWritePubRequests": 0,
"PerfDspErrorsSkipFactor": 0.3,
"PerfDspErrorsReduce": 10,
"PerfDspTimeoutsSkipFactor": 0.3,
"PerfDspTimeoutsReduce": 10,
"PerfDspCCReduce": 4,
"PerfDspOSReduce": 4,
"PerfDspAutoOptAfterSec": 86400,
"PerfSspAutoOptAfterSec": 86400,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates team.
HTTP Request
POST https://adelion.com/api/su/usr/team/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Team ID. | required |
| Name | string | Team's name. | required |
| ContactMail | string | Team's contact email address. | optional |
| Website | string | Team's website. | optional |
| Country | string | Team's country. It must be a ISO-3166-1-alpha-2 country code. See Info -> Get countries for a list of available countries. | optional |
| City | string | Team's city. | optional |
| ZipCode | string | Team's zip code. | optional |
| Address | string | Team's address. | optional |
| Phone | string | Team's phone. | optional |
| Duns | string | Company's D-U-N-S number | optional |
| TagId | string | TAG ID. | optional |
| BidRequestMaxTimeout | int | Maximum bid request timeout for DSP in milliseconds. | optional |
| MaxQps | int | Maximum queries per second - Maximum number of requests to receive from publishers on team level. Set to 0 for unlimited requests. | optional |
| AutoOptimize | int | Enable automatic requests optimization. 0 - Disabled, 1 - Enabled. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| BlockInvalidCategories | int | Block invalid IAB categories from bid requests and responses. 0 - Disabled, 1 - Enabled. | optional |
| ServiceName | string | Name of the company used for team platform. Should be name of the domain without suffix. | required |
| SchainAsiDomain | string | Domain used as schain.nodes.asi field for own schain node. | required |
| ServerDomain | string | Domain for Report API and other server related usages. | required |
| DashDomain | string | Domain for platform's dashboard. | required |
| GeoedgeEnable | int | Enable GeoEdge ad verification. 0 - Disabled, 1 - Enabled. | optional |
| GeoedgeApiKey | string | GeoEdge API Key. | optional |
| GeoedgeAddNewProjectsPeriodSec | int | Period in seconds to add new projects for GeoEdge. | optional |
| FraudlogixEnable | int | Enable Fraudlogix scanning tool. 0 - Disabled, 1 - Enabled. | optional |
| FraudlogixQid | string | Fraudlogix's qid parameter. | optional |
| FraudlogixCid | string | Fraudlogix's cid parameter. | optional |
| HumanPostbidEnable | int | Enable Human postbid scanning tool. 0 - Disabled, 1 - Enabled. | optional |
| HumanPostbidJsUrl | string | Human's postbid JS URL. | optional |
| CridNumBestCrids | int | Number of best CRIDs to add from CRID statistics for ad verifications. | optional |
| CridNumBestCridsGeoedge | int | Number of best CRIDs to add as GeoEdge projects for GeoEdge ad verification. | optional |
| CridBestCridsLifetimeFreshDays | int | Number of days after CRID that does not appear in statistics will be deleted. | optional |
| StatsWriteAppSiteRequests | int | Write app bundles and site domains for requests to statistics. 0 - Disabled, 1 - Enabled. | optional |
| StatsWriteAppSiteRmtRequests | int | Write app bundles and site domains for remote requests to statistics. 0 - Disabled, 1 - Enabled. | optional |
| StatsIvtWritePubRequests | int | Write Pub IDs for requests to IVT statistics. 0 - Disabled, 1 - Enabled. | optional |
| PerfDspErrorsSkipFactor | float | DSP Optimization - Errors skip factor. | optional |
| PerfDspErrorsReduce | int | DSP Optimization - Errors reduce. | optional |
| PerfDspTimeoutsSkipFactor | float | DSP Optimization - Timeouts skip factor. | optional |
| PerfDspTimeoutsReduce | int | DSP Optimization - Timeouts reduce. | optional |
| PerfDspCCReduce | int | DSP Optimization - CC reduce. | optional |
| PerfDspOSReduce | int | DSP Optimization - OS reduce. | optional |
| PerfDspAutoOptAfterSec | int | DSP Optimization - Auto Optimize after period (seconds). | optional |
| PerfSspAutoOptAfterSec | int | SSP Optimization - Auto Optimize after period (seconds). | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Users
Get User
To get User, send query parameter like this: Id=12
Or if you want to get all Users, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches User(s).
HTTP Request
GET https://adelion.com/api/usr/user/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID, if sent, request will fetch User with exact ID, otherwise it fill fetch all Users. | optional |
| ActiveOnly | int | Request will fetch only active Users if set to 1, otherwise it fill fetch all Users. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Get User
To get User, send query parameter like this: Id=12
Or if you want to get all Users, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"Password": "password123",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"Password": "password123",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches User(s).
HTTP Request
GET https://adelion.com/api/su/usr/user/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID, if sent, request will fetch User with exact ID, otherwise it fill fetch all Users. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add User
To add User, send JSON structured like this:
{
"User": {
"Mail": "user@example.com",
"Password": "pass123456",
"FirstName": "John",
"LastName": "Smith",
"Role": 0
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds User. Only User with Admin role can add Users.
HTTP Request
POST https://adelion.com/api/usr/user/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| string | User's email address. | required | |
| Password | string | User's password. It must be at least 8 characters long. | required |
| FirstName | string | User's first name. | required |
| LastName | string | User's last name. | required |
| Role | int | User's role: 0 - User, 1 - Admin. Only User with Admin role can modify other User's role. But none of the Users can modify his own role. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update other User
To update other User, send JSON structured like this:
{
"User": {
"Id": 12,
"Password": "pass123456",
"FirstName": "John",
"LastName": "Smith",
"Role": 0
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates other User. Only User with Admin role can update other Users.
HTTP Request
POST https://adelion.com/api/usr/user/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
| Password | string | User's password. It must be at least 8 characters long. | optional |
| FirstName | string | User's first name. | optional |
| LastName | string | User's last name. | optional |
| Role | int | User's role: 0 - User, 1 - Admin. Only User with Admin role can modify other User's role. But none of the Users can modify his own role. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update own User
To update own User, send JSON structured like this:
{
"User": {
"FirstName": "John",
"LastName": "Smith"
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates own User. Every logged-in User can update his own info, except the own Role.
HTTP Request
POST https://adelion.com/api/usr/user/update/own
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| FirstName | string | User's first name. | optional |
| LastName | string | User's last name. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update own User password
To update own User password, send JSON structured like this:
{
"User": {
"OldPassword": "pass654321",
"Password": "pass123456"
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates own User's password.
HTTP Request
POST https://adelion.com/api/usr/user/update/own/password
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| OldPassword | string | User's old password. It must be at least 8 characters long. | required |
| Password | string | User's new password. It must be at least 8 characters long. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Update User
To update User, send JSON structured like this:
{
"User": {
"Id": 12,
"Password": "pass123456",
"FirstName": "John",
"LastName": "Smith",
"Role": 0
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates other User. Only User with Admin role can update other Users.
HTTP Request
POST https://adelion.com/api/su/usr/user/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
| Password | string | User's password. It must be at least 8 characters long. | optional |
| FirstName | string | User's first name. | optional |
| LastName | string | User's last name. | optional |
| Role | int | User's role: 0 - User, 1 - Admin. Only User with Admin role can modify other User's role. But none of the Users can modify his own role. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate User
To activate User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates User. User is active by default, so you shouldn't make this request unless the User is inactive. Only User with Admin role can activate other Users. However, logged-in User can't activate himself.
HTTP Request
POST https://adelion.com/api/usr/user/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Activate User
To activate User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates User.
HTTP Request
POST https://adelion.com/api/su/usr/user/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate User
To deactivate User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates User. Only User with Admin role can deactivate other Users. However, logged-in User can't deactivate himself.
HTTP Request
POST https://adelion.com/api/usr/user/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Deactivate User
To deactivate User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates User.
HTTP Request
POST https://adelion.com/api/su/usr/user/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete User
To delete User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes User. Only User with Admin role can delete other Users. However, logged-in User can't delete himself.
HTTP Request
POST https://adelion.com/api/usr/user/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Superuser Delete User
To delete User, send JSON structured like this:
{
"User": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"User": {
"Id": 12,
"TeamId": 1,
"TeamName": "Team1",
"Mail": "user@example.com",
"FirstName": "John",
"LastName": "Smith",
"Role": 0,
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes User.
HTTP Request
POST https://adelion.com/api/su/usr/user/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | User ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Notifications
Get notifications
To get notifications for logged-in user, just call endpoint without parameters.
Success JSON:
[
{
"Id": 2,
"Message": "New version of Firefox released",
"Seen": 0,
"TimeCreated": 1659838347
},
{
"Id": 1,
"Message": "New version of Chrome released",
"Seen": 1,
"TimeCreated": 1659838115
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches notifications for logged-in user.
HTTP Request
GET https://adelion.com/api/usr/notification/get
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Get recent notifications
To get recent notifications for logged-in user, just call endpoint without parameters.
Success JSON:
{
"NewCount": 1,
"Notifications": [
{
"Id": 2,
"Message": "New version of Firefox released",
"Seen": 0,
"TimeCreated": 1659838347
},
{
"Id": 1,
"Message": "New version of Chrome released",
"Seen": 1,
"TimeCreated": 1659838115
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches recent notifications for logged-in user.
HTTP Request
GET https://adelion.com/api/usr/notification/recent/get
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
"See" notifications
To "see" notifications, just call endpoint without parameters.
Success JSON:
{
"Status": "Ok"
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint "sees" notifications. It means that all notifications for a user will be "seen" (not unread).
HTTP Request
GET https://adelion.com/api/usr/notification/see
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Clients
Get Client
To get Client, send query parameter like this: Id=12
Or if you want to get all Clients, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Client(s).
HTTP Request
GET https://adelion.com/api/sys/client/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Client ID, if sent, request will fetch Client with exact ID, otherwise it fill fetch all Clients. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add Client
To add Client, send JSON structured like this:
{
"Client": {
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east"
}
}
Success JSON:
{
"Status": "Ok",
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Client.
HTTP Request
POST https://adelion.com/api/sys/client/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Name | string | Client's name. | required |
| Ip | string | Client's IP address. | required |
| Region | string | Client's region. Can be one of the following: us-east, us-west, eu, apac | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Client
To update Client, send JSON structured like this:
{
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east"
}
}
Success JSON:
{
"Status": "Ok",
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates other Client.
HTTP Request
POST https://adelion.com/api/sys/client/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Client ID. | required |
| Name | string | Client's name. | required |
| Ip | string | Client's IP address. | required |
| Region | string | Client's region. Can be one of the following: us-east, us-west, eu, apac | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate Client
To activate Client, send JSON structured like this:
{
"Client": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates Client.
HTTP Request
POST https://adelion.com/api/sys/client/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Client ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate Client
To deactivate Client, send JSON structured like this:
{
"Client": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates Client.
HTTP Request
POST https://adelion.com/api/sys/client/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Client ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete Client
To delete Client, send JSON structured like this:
{
"Client": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Client": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Client.
HTTP Request
POST https://adelion.com/api/sys/client/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Client ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Load Balancers
Get LB
To get LB, send query parameter like this: Id=12
Or if you want to get all LBs, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches LB(s).
HTTP Request
GET https://adelion.com/api/sys/lb/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB ID, if sent, request will fetch LB with exact ID, otherwise it fill fetch all LBs. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add LB
To add LB, send JSON structured like this:
{
"Lb": {
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east"
}
}
Success JSON:
{
"Status": "Ok",
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds LB.
HTTP Request
POST https://adelion.com/api/sys/lb/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Name | string | LB's name. | required |
| Ip | string | LB's IP address. | required |
| Region | string | LB's region. Can be one of the following: us-east, us-west, eu, apac | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update LB
To update LB, send JSON structured like this:
{
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east"
}
}
Success JSON:
{
"Status": "Ok",
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates other LB.
HTTP Request
POST https://adelion.com/api/sys/lb/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB ID. | required |
| Name | string | LB's name. | required |
| Ip | string | LB's IP address. | required |
| Region | string | LB's region. Can be one of the following: us-east, us-west, eu, apac | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate LB
To activate LB, send JSON structured like this:
{
"Lb": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates LB.
HTTP Request
POST https://adelion.com/api/sys/lb/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate LB
To deactivate LB, send JSON structured like this:
{
"Lb": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates LB.
HTTP Request
POST https://adelion.com/api/sys/lb/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete LB
To delete LB, send JSON structured like this:
{
"Lb": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"Lb": {
"Id": 12,
"Name": "us-east-srv1",
"Ip": "198.22.160.21",
"Region": "us-east",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes LB.
HTTP Request
POST https://adelion.com/api/sys/lb/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
LB Domains
Get LB Domain
To get LB Domain, send query parameter like this: Id=12
Or if you want to get all LB Domains, don't send Id parameter, or set it as 0.
Success JSON:
{
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches LB Domain(s).
HTTP Request
GET https://adelion.com/api/sys/lbdomain/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB Domain ID, if sent, request will fetch LB Domain with exact ID, otherwise it fill fetch all LB Domains. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add LB Domain
To add LB Domain, send JSON structured like this:
{
"LbDomain": {
"LbId": 2,
"ClientId": 0,
"TeamId": 1,
"Domain": "us-east1.adelion.com"
}
}
Success JSON:
{
"Status": "Ok",
"LbDomain": {
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds LB Domain.
HTTP Request
POST https://adelion.com/api/sys/lbdomain/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| LbId | int | ID of the LB for LB Domain. | required either LbId or ClientId |
| ClientId | int | ID of the Client for LB Domain. | required either LbId or ClientId |
| TeamId | int | ID of the Team for LB Domain. | required |
| Domain | string | LB Domain. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update LB Domain
To update LB Domain, send JSON structured like this:
{
"LbDomain": {
"Id": 12,
"LbId": 2,
"ClientId": 0,
"TeamId": 1,
"Domain": "us-east1.adelion.com"
}
}
Success JSON:
{
"Status": "Ok",
"LbDomain": {
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates other LB Domain.
HTTP Request
POST https://adelion.com/api/sys/lbdomain/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB Domain ID. | required |
| LbId | int | ID of the LB for LB Domain. | required either LbId or ClientId |
| ClientId | int | ID of the Client for LB Domain. | required either LbId or ClientId |
| TeamId | int | ID of the Team for LB Domain. | required |
| Domain | string | LB Domain. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate LB Domain
To activate LB Domain, send JSON structured like this:
{
"LbDomain": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"LbDomain": {
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates LB Domain.
HTTP Request
POST https://adelion.com/api/sys/lbdomain/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB Domain ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate LB Domain
To deactivate LB Domain, send JSON structured like this:
{
"LbDomain": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"LbDomain": {
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates LB Domain.
HTTP Request
POST https://adelion.com/api/sys/lbdomain/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB Domain ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete LB Domain
To delete LB Domain, send JSON structured like this:
{
"LbDomain": {
"Id": 12
}
}
Success JSON:
{
"Status": "Ok",
"LbDomain": {
"Id": 12,
"LbId": 2,
"LbName": "us-east1",
"ClientId": 0,
"ClientName": "",
"TeamId": 1,
"TeamName": "Kodio",
"Domain": "us-east1.adelion.com",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes LB Domain.
HTTP Request
POST https://adelion.com/api/sys/lbdomain/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | LB Domain ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Info
Get IP address
To get IP address, just call endpoint without parameters.
Success JSON:
{
"Ip": "127.0.0.1"
}
This endpoint fetches IP address of the client that makes request.
HTTP Request
GET https://adelion.com/api/info/ip
Success
Get Geo info
To get Geo info, send query parameter like this: ip=78.155.48.53
Or if you want to get Geo info from IP of the client making request, don't include ip parameter, or set it to blank.
Success JSON:
{
"ip": "78.155.48.53",
"cc": "ME",
"city": "Podgorica",
"zip": "",
"isp": "Crnogorski Telekom a.d.Podgorica",
"lat": 42.4411,
"lon": 19.2632
}
This endpoint fetches Geo info from IP address.
HTTP Request
GET https://adelion.com/api/info/geo
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| ip | int | IP address. | optional |
Success
Get countries
To get list of countries, just call endpoint without parameters.
Success JSON:
[
{
"CC": "BF",
"Country": "Burkina Faso"
},
{
"CC": "ID",
"Country": "Indonesia"
},
{
"CC": "MR",
"Country": "Mauritania"
},
{
"CC": "RE",
"Country": "Reunion"
},
{
"CC": "CA",
"Country": "Canada"
},
{
"CC": "JP",
"Country": "Japan"
},
{
"CC": "AN",
"Country": "Netherlands Antilles"
},
{
"CC": "MO",
"Country": "Macao"
},
{
"CC": "TZ",
"Country": "Tanzania"
},
{
"CC": "TF",
"Country": "French Southern Territories"
},
{
"CC": "VN",
"Country": "Viet Nam"
},
{
"CC": "KY",
"Country": "Cayman Islands"
},
{
"CC": "AO",
"Country": "Angola"
},
{
"CC": "PG",
"Country": "Papua New Guinea"
},
{
"CC": "EE",
"Country": "Estonia"
},
{
"CC": "FJ",
"Country": "Fiji"
},
{
"CC": "GW",
"Country": "Guinea-Bissau"
},
{
"CC": "IL",
"Country": "Israel"
},
{
"CC": "GI",
"Country": "Gibraltar"
},
{
"CC": "DJ",
"Country": "Djibouti"
},
{
"CC": "BD",
"Country": "Bangladesh"
},
{
"CC": "OM",
"Country": "Oman"
},
{
"CC": "TW",
"Country": "Taiwan"
},
{
"CC": "HN",
"Country": "Honduras"
},
{
"CC": "PT",
"Country": "Portugal"
},
{
"CC": "GH",
"Country": "Ghana"
},
{
"CC": "KW",
"Country": "Kuwait"
},
{
"CC": "MY",
"Country": "Malaysia"
},
{
"CC": "CR",
"Country": "Costa Rica"
},
{
"CC": "GP",
"Country": "Guadeloupe"
},
{
"CC": "PE",
"Country": "Peru"
},
{
"CC": "SG",
"Country": "Singapore"
},
{
"CC": "SJ",
"Country": "Svalbard And Jan Mayen"
},
{
"CC": "LI",
"Country": "Liechtenstein"
},
{
"CC": "VA",
"Country": "Holy See (Vatican City State)"
},
{
"CC": "SV",
"Country": "El Salvador"
},
{
"CC": "MT",
"Country": "Malta"
},
{
"CC": "IE",
"Country": "Ireland"
},
{
"CC": "SS",
"Country": "South Sudan"
},
{
"CC": "CG",
"Country": "Congo"
},
{
"CC": "AG",
"Country": "Antigua And Barbuda"
},
{
"CC": "DM",
"Country": "Dominica"
},
{
"CC": "CH",
"Country": "Switzerland"
},
{
"CC": "GA",
"Country": "Gabon"
},
{
"CC": "SN",
"Country": "Senegal"
},
{
"CC": "GD",
"Country": "Grenada"
},
{
"CC": "GL",
"Country": "Greenland"
},
{
"CC": "NA",
"Country": "Namibia"
},
{
"CC": "BW",
"Country": "Botswana"
},
{
"CC": "HM",
"Country": "Heard Island & Mcdonald Islands"
},
{
"CC": "NF",
"Country": "Norfolk Island"
},
{
"CC": "IO",
"Country": "British Indian Ocean Territory"
},
{
"CC": "DK",
"Country": "Denmark"
},
{
"CC": "LY",
"Country": "Libyan Arab Jamahiriya"
},
{
"CC": "NC",
"Country": "New Caledonia"
},
{
"CC": "MX",
"Country": "Mexico"
},
{
"CC": "MC",
"Country": "Monaco"
},
{
"CC": "TN",
"Country": "Tunisia"
},
{
"CC": "SY",
"Country": "Syrian Arab Republic"
},
{
"CC": "KR",
"Country": "South Korea"
},
{
"CC": "DZ",
"Country": "Algeria"
},
{
"CC": "AW",
"Country": "Aruba"
},
{
"CC": "LU",
"Country": "Luxembourg"
},
{
"CC": "SO",
"Country": "Somalia"
},
{
"CC": "TT",
"Country": "Trinidad And Tobago"
},
{
"CC": "PR",
"Country": "Puerto Rico"
},
{
"CC": "CF",
"Country": "Central African Republic"
},
{
"CC": "AD",
"Country": "Andorra"
},
{
"CC": "SC",
"Country": "Seychelles"
},
{
"CC": "EH",
"Country": "Western Sahara"
},
{
"CC": "RW",
"Country": "Rwanda"
},
{
"CC": "BQ",
"Country": "Bonaire, Saint Eustatius and Saba"
},
{
"CC": "SH",
"Country": "Saint Helena"
},
{
"CC": "NI",
"Country": "Nicaragua"
},
{
"CC": "SZ",
"Country": "Swaziland"
},
{
"CC": "SM",
"Country": "San Marino"
},
{
"CC": "TG",
"Country": "Togo"
},
{
"CC": "BO",
"Country": "Bolivia"
},
{
"CC": "IR",
"Country": "Iran, Islamic Republic Of"
},
{
"CC": "CX",
"Country": "Christmas Island"
},
{
"CC": "UZ",
"Country": "Uzbekistan"
},
{
"CC": "FM",
"Country": "Micronesia, Federated States Of"
},
{
"CC": "TC",
"Country": "Turks And Caicos Islands"
},
{
"CC": "DO",
"Country": "Dominican Republic"
},
{
"CC": "TJ",
"Country": "Tajikistan"
},
{
"CC": "NG",
"Country": "Nigeria"
},
{
"CC": "BM",
"Country": "Bermuda"
},
{
"CC": "HR",
"Country": "Croatia"
},
{
"CC": "IQ",
"Country": "Iraq"
},
{
"CC": "TR",
"Country": "Turkey"
},
{
"CC": "MD",
"Country": "Moldova"
},
{
"CC": "EG",
"Country": "Egypt"
},
{
"CC": "GS",
"Country": "South Georgia And Sandwich Isl."
},
{
"CC": "MQ",
"Country": "Martinique"
},
{
"CC": "BR",
"Country": "Brazil"
},
{
"CC": "MW",
"Country": "Malawi"
},
{
"CC": "BT",
"Country": "Bhutan"
},
{
"CC": "MS",
"Country": "Montserrat"
},
{
"CC": "VE",
"Country": "Venezuela"
},
{
"CC": "MA",
"Country": "Morocco"
},
{
"CC": "DE",
"Country": "Germany"
},
{
"CC": "PF",
"Country": "French Polynesia"
},
{
"CC": "QA",
"Country": "Qatar"
},
{
"CC": "XK",
"Country": "Kosovo"
},
{
"CC": "LC",
"Country": "Saint Lucia"
},
{
"CC": "PW",
"Country": "Palau"
},
{
"CC": "RU",
"Country": "Russian Federation"
},
{
"CC": "KE",
"Country": "Kenya"
},
{
"CC": "LR",
"Country": "Liberia"
},
{
"CC": "ZW",
"Country": "Zimbabwe"
},
{
"CC": "BG",
"Country": "Bulgaria"
},
{
"CC": "ES",
"Country": "Spain"
},
{
"CC": "GU",
"Country": "Guam"
},
{
"CC": "TO",
"Country": "Tonga"
},
{
"CC": "SI",
"Country": "Slovenia"
},
{
"CC": "AL",
"Country": "Albania"
},
{
"CC": "LA",
"Country": "Lao People's Democratic Republic"
},
{
"CC": "UA",
"Country": "Ukraine"
},
{
"CC": "SL",
"Country": "Sierra Leone"
},
{
"CC": "BI",
"Country": "Burundi"
},
{
"CC": "PM",
"Country": "Saint Pierre And Miquelon"
},
{
"CC": "UG",
"Country": "Uganda"
},
{
"CC": "MN",
"Country": "Mongolia"
},
{
"CC": "US",
"Country": "United States"
},
{
"CC": "EC",
"Country": "Ecuador"
},
{
"CC": "AR",
"Country": "Argentina"
},
{
"CC": "TD",
"Country": "Chad"
},
{
"CC": "BE",
"Country": "Belgium"
},
{
"CC": "CC",
"Country": "Cocos (Keeling) Islands"
},
{
"CC": "AZ",
"Country": "Azerbaijan"
},
{
"CC": "YT",
"Country": "Mayotte"
},
{
"CC": "PH",
"Country": "Philippines"
},
{
"CC": "ST",
"Country": "Sao Tome And Principe"
},
{
"CC": "FR",
"Country": "France"
},
{
"CC": "LS",
"Country": "Lesotho"
},
{
"CC": "CI",
"Country": "Cote D'Ivoire"
},
{
"CC": "LB",
"Country": "Lebanon"
},
{
"CC": "MV",
"Country": "Maldives"
},
{
"CC": "TM",
"Country": "Turkmenistan"
},
{
"CC": "TH",
"Country": "Thailand"
},
{
"CC": "ER",
"Country": "Eritrea"
},
{
"CC": "MZ",
"Country": "Mozambique"
},
{
"CC": "PA",
"Country": "Panama"
},
{
"CC": "IS",
"Country": "Iceland"
},
{
"CC": "AT",
"Country": "Austria"
},
{
"CC": "BV",
"Country": "Bouvet Island"
},
{
"CC": "KM",
"Country": "Comoros"
},
{
"CC": "CD",
"Country": "Congo, Democratic Republic"
},
{
"CC": "SE",
"Country": "Sweden"
},
{
"CC": "GF",
"Country": "French Guiana"
},
{
"CC": "NR",
"Country": "Nauru"
},
{
"CC": "KG",
"Country": "Kyrgyzstan"
},
{
"CC": "SD",
"Country": "Sudan"
},
{
"CC": "IM",
"Country": "Isle Of Man"
},
{
"CC": "AX",
"Country": "Aland Islands"
},
{
"CC": "AU",
"Country": "Australia"
},
{
"CC": "GE",
"Country": "Georgia"
},
{
"CC": "UY",
"Country": "Uruguay"
},
{
"CC": "BY",
"Country": "Belarus"
},
{
"CC": "BJ",
"Country": "Benin"
},
{
"CC": "PL",
"Country": "Poland"
},
{
"CC": "BH",
"Country": "Bahrain"
},
{
"CC": "JO",
"Country": "Jordan"
},
{
"CC": "VU",
"Country": "Vanuatu"
},
{
"CC": "VI",
"Country": "Virgin Islands, U.S."
},
{
"CC": "CY",
"Country": "Cyprus"
},
{
"CC": "HU",
"Country": "Hungary"
},
{
"CC": "NL",
"Country": "Netherlands"
},
{
"CC": "NO",
"Country": "Norway"
},
{
"CC": "KZ",
"Country": "Kazakhstan"
},
{
"CC": "BZ",
"Country": "Belize"
},
{
"CC": "LV",
"Country": "Latvia"
},
{
"CC": "PY",
"Country": "Paraguay"
},
{
"CC": "AQ",
"Country": "Antarctica"
},
{
"CC": "SB",
"Country": "Solomon Islands"
},
{
"CC": "CZ",
"Country": "Czech Republic"
},
{
"CC": "SA",
"Country": "Saudi Arabia"
},
{
"CC": "WF",
"Country": "Wallis And Futuna"
},
{
"CC": "ME",
"Country": "Montenegro"
},
{
"CC": "GR",
"Country": "Greece"
},
{
"CC": "MG",
"Country": "Madagascar"
},
{
"CC": "JM",
"Country": "Jamaica"
},
{
"CC": "HK",
"Country": "Hong Kong"
},
{
"CC": "AE",
"Country": "United Arab Emirates"
},
{
"CC": "VG",
"Country": "Virgin Islands, British"
},
{
"CC": "KI",
"Country": "Kiribati"
},
{
"CC": "TL",
"Country": "Timor-Leste"
},
{
"CC": "PN",
"Country": "Pitcairn"
},
{
"CC": "GT",
"Country": "Guatemala"
},
{
"CC": "MM",
"Country": "Myanmar"
},
{
"CC": "UM",
"Country": "United States Outlying Islands"
},
{
"CC": "NP",
"Country": "Nepal"
},
{
"CC": "CV",
"Country": "Cape Verde"
},
{
"CC": "FO",
"Country": "Faroe Islands"
},
{
"CC": "ZA",
"Country": "South Africa"
},
{
"CC": "YE",
"Country": "Yemen"
},
{
"CC": "MF",
"Country": "Saint Martin"
},
{
"CC": "CO",
"Country": "Colombia"
},
{
"CC": "MU",
"Country": "Mauritius"
},
{
"CC": "GG",
"Country": "Guernsey"
},
{
"CC": "MK",
"Country": "Macedonia"
},
{
"CC": "AM",
"Country": "Armenia"
},
{
"CC": "AS",
"Country": "American Samoa"
},
{
"CC": "RO",
"Country": "Romania"
},
{
"CC": "BS",
"Country": "Bahamas"
},
{
"CC": "MP",
"Country": "Northern Mariana Islands"
},
{
"CC": "JE",
"Country": "Jersey"
},
{
"CC": "IT",
"Country": "Italy"
},
{
"CC": "BA",
"Country": "Bosnia And Herzegovina"
},
{
"CC": "PS",
"Country": "Palestinian Territory, Occupied"
},
{
"CC": "BB",
"Country": "Barbados"
},
{
"CC": "FK",
"Country": "Falkland Islands (Malvinas)"
},
{
"CC": "HT",
"Country": "Haiti"
},
{
"CC": "WS",
"Country": "Samoa"
},
{
"CC": "KH",
"Country": "Cambodia"
},
{
"CC": "BN",
"Country": "Brunei Darussalam"
},
{
"CC": "AF",
"Country": "Afghanistan"
},
{
"CC": "GB",
"Country": "United Kingdom"
},
{
"CC": "CN",
"Country": "China"
},
{
"CC": "CU",
"Country": "Cuba"
},
{
"CC": "GQ",
"Country": "Equatorial Guinea"
},
{
"CC": "SR",
"Country": "Suriname"
},
{
"CC": "CK",
"Country": "Cook Islands"
},
{
"CC": "IN",
"Country": "India"
},
{
"CC": "KP",
"Country": "North Korea"
},
{
"CC": "MH",
"Country": "Marshall Islands"
},
{
"CC": "PK",
"Country": "Pakistan"
},
{
"CC": "TK",
"Country": "Tokelau"
},
{
"CC": "NZ",
"Country": "New Zealand"
},
{
"CC": "ZM",
"Country": "Zambia"
},
{
"CC": "VC",
"Country": "Saint Vincent And Grenadines"
},
{
"CC": "AI",
"Country": "Anguilla"
},
{
"CC": "FI",
"Country": "Finland"
},
{
"CC": "TV",
"Country": "Tuvalu"
},
{
"CC": "GN",
"Country": "Guinea"
},
{
"CC": "NE",
"Country": "Niger"
},
{
"CC": "KN",
"Country": "Saint Kitts And Nevis"
},
{
"CC": "RS",
"Country": "Serbia"
},
{
"CC": "SK",
"Country": "Slovakia"
},
{
"CC": "NU",
"Country": "Niue"
},
{
"CC": "CL",
"Country": "Chile"
},
{
"CC": "LT",
"Country": "Lithuania"
},
{
"CC": "ET",
"Country": "Ethiopia"
},
{
"CC": "CW",
"Country": "Curacao"
},
{
"CC": "ML",
"Country": "Mali"
},
{
"CC": "LK",
"Country": "Sri Lanka"
},
{
"CC": "SX",
"Country": "Sint Maarten"
},
{
"CC": "GM",
"Country": "Gambia"
},
{
"CC": "BL",
"Country": "Saint Barthelemy"
},
{
"CC": "CM",
"Country": "Cameroon"
},
{
"CC": "GY",
"Country": "Guyana"
}
]
This endpoint fetches countries.
HTTP Request
GET https://adelion.com/api/info/countries
Success
Get operating systems
To get list of operating systems, just call endpoint without parameters.
Success JSON:
[
{
"Family": "Windows",
"Versions": [
{
"Major": "XP",
"Minor": ""
},
{
"Major": "Vista",
"Minor": ""
},
{
"Major": "7",
"Minor": ""
},
{
"Major": "8",
"Minor": ""
},
{
"Major": "8",
"Minor": "1"
},
{
"Major": "10",
"Minor": ""
},
{
"Major": "11",
"Minor": ""
}
]
},
{
"Family": "Mac OS X",
"Versions": [
{
"Major": "10",
"Minor": "5"
},
{
"Major": "10",
"Minor": "6"
},
{
"Major": "10",
"Minor": "7"
},
{
"Major": "10",
"Minor": "8"
},
{
"Major": "10",
"Minor": "9"
},
{
"Major": "10",
"Minor": "10"
},
{
"Major": "10",
"Minor": "11"
},
{
"Major": "10",
"Minor": "12"
},
{
"Major": "10",
"Minor": "13"
},
{
"Major": "10",
"Minor": "14"
},
{
"Major": "10",
"Minor": "15"
},
{
"Major": "10",
"Minor": "16"
},
{
"Major": "11",
"Minor": "0"
},
{
"Major": "11",
"Minor": "1"
},
{
"Major": "11",
"Minor": "2"
},
{
"Major": "11",
"Minor": "3"
},
{
"Major": "11",
"Minor": "4"
},
{
"Major": "11",
"Minor": "5"
},
{
"Major": "11",
"Minor": "6"
},
{
"Major": "11",
"Minor": "7"
},
{
"Major": "12",
"Minor": "0"
},
{
"Major": "12",
"Minor": "1"
},
{
"Major": "12",
"Minor": "2"
},
{
"Major": "12",
"Minor": "3"
},
{
"Major": "12",
"Minor": "4"
},
{
"Major": "12",
"Minor": "5"
},
{
"Major": "12",
"Minor": "6"
},
{
"Major": "12",
"Minor": "7"
},
{
"Major": "13",
"Minor": "0"
},
{
"Major": "13",
"Minor": "1"
},
{
"Major": "13",
"Minor": "2"
},
{
"Major": "13",
"Minor": "3"
},
{
"Major": "13",
"Minor": "4"
},
{
"Major": "13",
"Minor": "5"
},
{
"Major": "13",
"Minor": "6"
},
{
"Major": "14",
"Minor": "0"
},
{
"Major": "14",
"Minor": "1"
},
{
"Major": "14",
"Minor": "2"
}
]
},
{
"Family": "Linux",
"Versions": []
},
{
"Family": "Android",
"Versions": [
{
"Major": "1",
"Minor": ""
},
{
"Major": "2",
"Minor": ""
},
{
"Major": "3",
"Minor": ""
},
{
"Major": "4",
"Minor": ""
},
{
"Major": "5",
"Minor": ""
},
{
"Major": "6",
"Minor": ""
},
{
"Major": "7",
"Minor": ""
},
{
"Major": "8",
"Minor": ""
},
{
"Major": "9",
"Minor": ""
},
{
"Major": "10",
"Minor": ""
},
{
"Major": "11",
"Minor": ""
},
{
"Major": "12",
"Minor": ""
},
{
"Major": "13",
"Minor": ""
},
{
"Major": "14",
"Minor": ""
}
]
},
{
"Family": "iOS",
"Versions": [
{
"Major": "4",
"Minor": ""
},
{
"Major": "5",
"Minor": ""
},
{
"Major": "6",
"Minor": ""
},
{
"Major": "7",
"Minor": ""
},
{
"Major": "8",
"Minor": ""
},
{
"Major": "9",
"Minor": ""
},
{
"Major": "10",
"Minor": ""
},
{
"Major": "11",
"Minor": ""
},
{
"Major": "12",
"Minor": ""
},
{
"Major": "13",
"Minor": ""
},
{
"Major": "14",
"Minor": ""
},
{
"Major": "15",
"Minor": ""
},
{
"Major": "16",
"Minor": ""
},
{
"Major": "17",
"Minor": ""
}
]
},
{
"Family": "Chrome OS",
"Versions": []
},
{
"Family": "Tizen",
"Versions": []
},
{
"Family": "Roku",
"Versions": []
},
{
"Family": "Web0S",
"Versions": []
},
{
"Family": "ATV OS X",
"Versions": []
},
{
"Family": "Chromecast",
"Versions": []
},
{
"Family": "GoogleTV",
"Versions": []
},
{
"Family": "KaiOS",
"Versions": []
},
{
"Family": "Sony",
"Versions": []
},
{
"Family": "FreeBSD",
"Versions": []
},
{
"Family": "Other",
"Versions": []
}
]
This endpoint fetches operating systems.
HTTP Request
GET https://adelion.com/api/info/os
Success
Get web browsers
To get list of web browsers, just call endpoint without parameters.
Success JSON:
[
{
"Family": "Chrome",
"Versions": [
{
"Major": 38
},
{
"Major": 39
},
{
"Major": 40
},
{
"Major": 41
},
{
"Major": 42
},
{
"Major": 43
},
{
"Major": 44
},
{
"Major": 45
},
{
"Major": 46
},
{
"Major": 47
},
{
"Major": 48
},
{
"Major": 49
},
{
"Major": 50
},
{
"Major": 51
},
{
"Major": 52
},
{
"Major": 53
},
{
"Major": 54
},
{
"Major": 55
},
{
"Major": 56
},
{
"Major": 57
},
{
"Major": 58
},
{
"Major": 59
},
{
"Major": 60
},
{
"Major": 61
},
{
"Major": 62
},
{
"Major": 63
},
{
"Major": 64
},
{
"Major": 65
},
{
"Major": 66
},
{
"Major": 67
},
{
"Major": 68
},
{
"Major": 69
},
{
"Major": 70
},
{
"Major": 71
},
{
"Major": 72
},
{
"Major": 73
},
{
"Major": 74
},
{
"Major": 75
},
{
"Major": 76
},
{
"Major": 77
},
{
"Major": 78
},
{
"Major": 79
},
{
"Major": 80
},
{
"Major": 81
},
{
"Major": 83
},
{
"Major": 84
},
{
"Major": 85
},
{
"Major": 86
},
{
"Major": 87
},
{
"Major": 88
},
{
"Major": 89
},
{
"Major": 90
},
{
"Major": 91
},
{
"Major": 92
},
{
"Major": 93
},
{
"Major": 94
},
{
"Major": 95
},
{
"Major": 96
},
{
"Major": 97
},
{
"Major": 98
},
{
"Major": 99
},
{
"Major": 100
},
{
"Major": 101
},
{
"Major": 102
},
{
"Major": 103
},
{
"Major": 104
},
{
"Major": 105
},
{
"Major": 106
},
{
"Major": 107
},
{
"Major": 108
},
{
"Major": 109
},
{
"Major": 110
},
{
"Major": 111
},
{
"Major": 112
},
{
"Major": 113
},
{
"Major": 114
},
{
"Major": 115
},
{
"Major": 116
},
{
"Major": 117
},
{
"Major": 118
},
{
"Major": 119
},
{
"Major": 120
},
{
"Major": 121
}
]
},
{
"Family": "Edge",
"Versions": [
{
"Major": 79
},
{
"Major": 80
},
{
"Major": 81
},
{
"Major": 83
},
{
"Major": 84
},
{
"Major": 85
},
{
"Major": 86
},
{
"Major": 87
},
{
"Major": 88
},
{
"Major": 89
},
{
"Major": 90
},
{
"Major": 91
},
{
"Major": 92
},
{
"Major": 93
},
{
"Major": 94
},
{
"Major": 95
},
{
"Major": 96
},
{
"Major": 97
},
{
"Major": 98
},
{
"Major": 99
},
{
"Major": 100
},
{
"Major": 101
},
{
"Major": 102
},
{
"Major": 103
},
{
"Major": 104
},
{
"Major": 105
},
{
"Major": 106
},
{
"Major": 107
},
{
"Major": 108
},
{
"Major": 109
},
{
"Major": 110
},
{
"Major": 111
},
{
"Major": 112
},
{
"Major": 113
},
{
"Major": 114
},
{
"Major": 115
},
{
"Major": 116
},
{
"Major": 117
},
{
"Major": 118
},
{
"Major": 119
},
{
"Major": 120
},
{
"Major": 121
}
]
},
{
"Family": "Firefox",
"Versions": [
{
"Major": 38
},
{
"Major": 39
},
{
"Major": 40
},
{
"Major": 41
},
{
"Major": 42
},
{
"Major": 43
},
{
"Major": 44
},
{
"Major": 45
},
{
"Major": 46
},
{
"Major": 47
},
{
"Major": 48
},
{
"Major": 49
},
{
"Major": 50
},
{
"Major": 51
},
{
"Major": 52
},
{
"Major": 53
},
{
"Major": 54
},
{
"Major": 55
},
{
"Major": 56
},
{
"Major": 57
},
{
"Major": 58
},
{
"Major": 59
},
{
"Major": 60
},
{
"Major": 61
},
{
"Major": 62
},
{
"Major": 63
},
{
"Major": 64
},
{
"Major": 65
},
{
"Major": 66
},
{
"Major": 67
},
{
"Major": 68
},
{
"Major": 69
},
{
"Major": 70
},
{
"Major": 71
},
{
"Major": 72
},
{
"Major": 73
},
{
"Major": 74
},
{
"Major": 75
},
{
"Major": 76
},
{
"Major": 77
},
{
"Major": 78
},
{
"Major": 79
},
{
"Major": 80
},
{
"Major": 81
},
{
"Major": 82
},
{
"Major": 83
},
{
"Major": 84
},
{
"Major": 85
},
{
"Major": 86
},
{
"Major": 87
},
{
"Major": 88
},
{
"Major": 89
},
{
"Major": 90
},
{
"Major": 91
},
{
"Major": 92
},
{
"Major": 93
},
{
"Major": 94
},
{
"Major": 95
},
{
"Major": 96
},
{
"Major": 97
},
{
"Major": 98
},
{
"Major": 99
},
{
"Major": 100
},
{
"Major": 101
},
{
"Major": 102
},
{
"Major": 103
},
{
"Major": 104
},
{
"Major": 105
},
{
"Major": 106
},
{
"Major": 107
},
{
"Major": 108
},
{
"Major": 109
},
{
"Major": 110
},
{
"Major": 111
},
{
"Major": 112
},
{
"Major": 113
},
{
"Major": 114
},
{
"Major": 115
},
{
"Major": 116
},
{
"Major": 117
},
{
"Major": 118
},
{
"Major": 119
},
{
"Major": 120
},
{
"Major": 121
}
]
},
{
"Family": "IE",
"Versions": [
{
"Major": 6
},
{
"Major": 7
},
{
"Major": 8
},
{
"Major": 9
},
{
"Major": 10
},
{
"Major": 11
}
]
},
{
"Family": "Opera",
"Versions": [
{
"Major": 38
},
{
"Major": 39
},
{
"Major": 40
},
{
"Major": 41
},
{
"Major": 42
},
{
"Major": 43
},
{
"Major": 44
},
{
"Major": 45
},
{
"Major": 46
},
{
"Major": 47
},
{
"Major": 48
},
{
"Major": 49
},
{
"Major": 50
},
{
"Major": 51
},
{
"Major": 52
},
{
"Major": 53
},
{
"Major": 54
},
{
"Major": 55
},
{
"Major": 56
},
{
"Major": 57
},
{
"Major": 58
},
{
"Major": 60
},
{
"Major": 62
},
{
"Major": 63
},
{
"Major": 64
},
{
"Major": 65
},
{
"Major": 66
},
{
"Major": 67
},
{
"Major": 68
},
{
"Major": 69
},
{
"Major": 70
},
{
"Major": 71
},
{
"Major": 72
},
{
"Major": 73
},
{
"Major": 74
},
{
"Major": 75
},
{
"Major": 76
},
{
"Major": 77
},
{
"Major": 78
},
{
"Major": 79
},
{
"Major": 80
},
{
"Major": 81
},
{
"Major": 82
},
{
"Major": 83
},
{
"Major": 84
},
{
"Major": 85
},
{
"Major": 86
},
{
"Major": 87
},
{
"Major": 88
},
{
"Major": 89
},
{
"Major": 90
},
{
"Major": 91
},
{
"Major": 92
},
{
"Major": 93
},
{
"Major": 94
},
{
"Major": 95
},
{
"Major": 96
},
{
"Major": 97
},
{
"Major": 98
},
{
"Major": 99
},
{
"Major": 100
},
{
"Major": 101
},
{
"Major": 102
},
{
"Major": 103
},
{
"Major": 104
},
{
"Major": 105
},
{
"Major": 106
}
]
},
{
"Family": "Safari",
"Versions": [
{
"Major": 3
},
{
"Major": 4
},
{
"Major": 5
},
{
"Major": 6
},
{
"Major": 7
},
{
"Major": 8
},
{
"Major": 9
},
{
"Major": 10
},
{
"Major": 11
},
{
"Major": 12
},
{
"Major": 13
},
{
"Major": 14
},
{
"Major": 15
},
{
"Major": 16
},
{
"Major": 17
}
]
},
{
"Family": "Chrome Mobile",
"Versions": []
},
{
"Family": "Chrome Mobile iOS",
"Versions": []
},
{
"Family": "Chrome Mobile WebView",
"Versions": []
},
{
"Family": "Edge Mobile",
"Versions": []
},
{
"Family": "Firefox Mobile",
"Versions": []
},
{
"Family": "Firefox iOS",
"Versions": []
},
{
"Family": "Opera Mobile",
"Versions": []
},
{
"Family": "Opera Mini",
"Versions": []
},
{
"Family": "Mobile Safari",
"Versions": []
},
{
"Family": "Mobile Safari UI/WKWebView",
"Versions": []
},
{
"Family": "Yandex Browser",
"Versions": []
},
{
"Family": "Samsung Internet",
"Versions": []
},
{
"Family": "MiuiBrowser",
"Versions": []
},
{
"Family": "Facebook",
"Versions": []
},
{
"Family": "Instagram",
"Versions": []
},
{
"Family": "Roku",
"Versions": []
},
{
"Family": "Chromium",
"Versions": []
},
{
"Family": "HbbTV",
"Versions": []
},
{
"Family": "NetFront",
"Versions": []
},
{
"Family": "Espial",
"Versions": []
},
{
"Family": "WebKit Nightly",
"Versions": []
},
{
"Family": "UC Browser",
"Versions": []
},
{
"Family": "Other",
"Versions": []
}
]
This endpoint fetches web browsers.
HTTP Request
GET https://adelion.com/api/info/browsers
Success
Get User-Agent info
To get User-Agent info, send query parameter like this: ua=Mozilla%2F5.0%20%28Linux%3B%20Android%2011%3B%20Pixel%203a%20Build%2FRQ1A.210205.004%3B%20wv%29%20AppleWebKit%2F537.36%20%28KHTML%2C%20like%20Gecko%29%20Version%2F4.0%20Chrome%2F88.0.4324.181%20Mobile%20Safari%2F537.36
Or if you want to get User-Agent info from User-Agent of the client making request, don't include ua parameter, or set it to blank.
Success JSON:
{
"OsFamily": "Android",
"OsMajor": "11",
"OsMinor": "",
"BrowserFamily": "Chrome Mobile WebView",
"BrowserMajor": 0,
"DeviceFamily": "Pixel 3a",
"DeviceModel": "Pixel 3a",
"DeviceBrand": "Google"
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches OS and Browser info from User-Agent string.
HTTP Request
GET https://adelion.com/api/info/ua
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| ua | int | User-Agent string to parse. Must be URL encoded. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
Get IAB categories
To get list of IAB categories, just call endpoint without parameters.
Success JSON:
[
{
"Name": "IAB1",
"Title": "Arts & Entertainment",
"Subcategories": [
{
"Name": "IAB1-1",
"Title": "Books & Literature"
},
{
"Name": "IAB1-2",
"Title": "Celebrity Fan/Gossip"
},
{
"Name": "IAB1-3",
"Title": "Fine Art"
},
{
"Name": "IAB1-4",
"Title": "Humor"
},
{
"Name": "IAB1-5",
"Title": "Movies"
},
{
"Name": "IAB1-6",
"Title": "Music"
},
{
"Name": "IAB1-7",
"Title": "Television"
}
]
},
{
"Name": "IAB2",
"Title": "Automotive",
"Subcategories": [
{
"Name": "IAB2-1",
"Title": "Auto Parts"
},
{
"Name": "IAB2-2",
"Title": "Auto Repair"
},
{
"Name": "IAB2-3",
"Title": "Buying/Selling Cars"
},
{
"Name": "IAB2-4",
"Title": "Car Culture"
},
{
"Name": "IAB2-5",
"Title": "Certified Pre-Owned"
},
{
"Name": "IAB2-6",
"Title": "Convertible"
},
{
"Name": "IAB2-7",
"Title": "Coupe"
},
{
"Name": "IAB2-8",
"Title": "Crossover"
},
{
"Name": "IAB2-9",
"Title": "Diesel"
},
{
"Name": "IAB2-10",
"Title": "Electric Vehicle"
},
{
"Name": "IAB2-11",
"Title": "Hatchback"
},
{
"Name": "IAB2-12",
"Title": "Hybrid"
},
{
"Name": "IAB2-13",
"Title": "Luxury"
},
{
"Name": "IAB2-14",
"Title": "Minivan"
},
{
"Name": "IAB2-15",
"Title": "Motorcycles"
},
{
"Name": "IAB2-16",
"Title": "Off-Road Vehicles"
},
{
"Name": "IAB2-17",
"Title": "Performance Vehicles"
},
{
"Name": "IAB2-18",
"Title": "Pickup"
},
{
"Name": "IAB2-19",
"Title": "Road-Side Assistance"
},
{
"Name": "IAB2-20",
"Title": "Sedan"
},
{
"Name": "IAB2-21",
"Title": "Trucks & Accessories"
},
{
"Name": "IAB2-22",
"Title": "Vintage Cars"
},
{
"Name": "IAB2-23",
"Title": "Wagon"
}
]
},
{
"Name": "IAB3",
"Title": "Business",
"Subcategories": [
{
"Name": "IAB3-1",
"Title": "Advertising"
},
{
"Name": "IAB3-2",
"Title": "Agriculture"
},
{
"Name": "IAB3-3",
"Title": "Biotech/Biomedical"
},
{
"Name": "IAB3-4",
"Title": "Business Software"
},
{
"Name": "IAB3-5",
"Title": "Construction"
},
{
"Name": "IAB3-6",
"Title": "Forestry"
},
{
"Name": "IAB3-7",
"Title": "Government"
},
{
"Name": "IAB3-8",
"Title": "Green Solutions"
},
{
"Name": "IAB3-9",
"Title": "Human Resources"
},
{
"Name": "IAB3-10",
"Title": "Logistics"
},
{
"Name": "IAB3-11",
"Title": "Marketing"
},
{
"Name": "IAB3-12",
"Title": "Metals"
}
]
},
{
"Name": "IAB4",
"Title": "Careers",
"Subcategories": [
{
"Name": "IAB4-1",
"Title": "Career Planning"
},
{
"Name": "IAB4-2",
"Title": "College"
},
{
"Name": "IAB4-3",
"Title": "Financial Aid"
},
{
"Name": "IAB4-4",
"Title": "Job Fairs"
},
{
"Name": "IAB4-5",
"Title": "Job Search"
},
{
"Name": "IAB4-6",
"Title": "Resume Writing/Advice"
},
{
"Name": "IAB4-7",
"Title": "Nursing"
},
{
"Name": "IAB4-8",
"Title": "Scholarships"
},
{
"Name": "IAB4-9",
"Title": "Telecommuting"
},
{
"Name": "IAB4-10",
"Title": "U.S. Military"
},
{
"Name": "IAB4-11",
"Title": "Career Advice"
}
]
},
{
"Name": "IAB5",
"Title": "Education",
"Subcategories": [
{
"Name": "IAB5-1",
"Title": "7-12 Education"
},
{
"Name": "IAB5-2",
"Title": "Adult Education"
},
{
"Name": "IAB5-3",
"Title": "Art History"
},
{
"Name": "IAB5-4",
"Title": "College Administration"
},
{
"Name": "IAB5-5",
"Title": "College Life"
},
{
"Name": "IAB5-6",
"Title": "Distance Learning"
},
{
"Name": "IAB5-7",
"Title": "English as a 2nd Language"
},
{
"Name": "IAB5-8",
"Title": "Language Learning"
},
{
"Name": "IAB5-9",
"Title": "Graduate School"
},
{
"Name": "IAB5-10",
"Title": "Homeschooling"
},
{
"Name": "IAB5-11",
"Title": "Homework/Study Tips"
},
{
"Name": "IAB5-12",
"Title": "K-6 Educators"
},
{
"Name": "IAB5-13",
"Title": "Private School"
},
{
"Name": "IAB5-14",
"Title": "Special Education"
},
{
"Name": "IAB5-15",
"Title": "Studying Business"
}
]
},
{
"Name": "IAB6",
"Title": "Family & Parenting",
"Subcategories": [
{
"Name": "IAB6-1",
"Title": "Adoption"
},
{
"Name": "IAB6-2",
"Title": "Babies & Toddlers"
},
{
"Name": "IAB6-3",
"Title": "Daycare/Pre School"
},
{
"Name": "IAB6-4",
"Title": "Family Internet"
},
{
"Name": "IAB6-5",
"Title": "Parenting - K-6 Kids"
},
{
"Name": "IAB6-6",
"Title": "Parenting teens"
},
{
"Name": "IAB6-7",
"Title": "Pregnancy"
},
{
"Name": "IAB6-8",
"Title": "Special Needs Kids"
},
{
"Name": "IAB6-9",
"Title": "Eldercare"
}
]
},
{
"Name": "IAB7",
"Title": "Health & Fitness",
"Subcategories": [
{
"Name": "IAB7-1",
"Title": "Exercise"
},
{
"Name": "IAB7-2",
"Title": "ADD"
},
{
"Name": "IAB7-3",
"Title": "AIDS/HIV"
},
{
"Name": "IAB7-4",
"Title": "Allergies"
},
{
"Name": "IAB7-5",
"Title": "Alternative Medicine"
},
{
"Name": "IAB7-6",
"Title": "Arthritis"
},
{
"Name": "IAB7-7",
"Title": "Asthma"
},
{
"Name": "IAB7-8",
"Title": "Autism/PDD"
},
{
"Name": "IAB7-9",
"Title": "Bipolar Disorder"
},
{
"Name": "IAB7-10",
"Title": "Brain Tumor"
},
{
"Name": "IAB7-11",
"Title": "Cancer"
},
{
"Name": "IAB7-12",
"Title": "Cholesterol"
},
{
"Name": "IAB7-13",
"Title": "Chronic Fatigue Syndrome"
},
{
"Name": "IAB7-14",
"Title": "Chronic Pain"
},
{
"Name": "IAB7-15",
"Title": "Cold & Flu"
},
{
"Name": "IAB7-16",
"Title": "Deafness"
},
{
"Name": "IAB7-17",
"Title": "Dental Care"
},
{
"Name": "IAB7-18",
"Title": "Depression"
},
{
"Name": "IAB7-19",
"Title": "Dermatology"
},
{
"Name": "IAB7-20",
"Title": "Diabetes"
},
{
"Name": "IAB7-21",
"Title": "Epilepsy"
},
{
"Name": "IAB7-22",
"Title": "GERD/Acid Reflux"
},
{
"Name": "IAB7-23",
"Title": "Headaches/Migraines"
},
{
"Name": "IAB7-24",
"Title": "Heart Disease"
},
{
"Name": "IAB7-25",
"Title": "Herbs for Health"
},
{
"Name": "IAB7-26",
"Title": "Holistic Healing"
},
{
"Name": "IAB7-27",
"Title": "IBS/Crohn's Disease"
},
{
"Name": "IAB7-28",
"Title": "Incest/Abuse Support"
},
{
"Name": "IAB7-29",
"Title": "Incontinence"
},
{
"Name": "IAB7-30",
"Title": "Infertility"
},
{
"Name": "IAB7-31",
"Title": "Men's Health"
},
{
"Name": "IAB7-32",
"Title": "Nutrition"
},
{
"Name": "IAB7-33",
"Title": "Orthopedics"
},
{
"Name": "IAB7-34",
"Title": "Panic/Anxiety Disorders"
},
{
"Name": "IAB7-35",
"Title": "Pediatrics"
},
{
"Name": "IAB7-36",
"Title": "Physical Therapy"
},
{
"Name": "IAB7-37",
"Title": "Psychology/Psychiatry"
},
{
"Name": "IAB7-38",
"Title": "Senior Health"
},
{
"Name": "IAB7-39",
"Title": "Sexuality"
},
{
"Name": "IAB7-40",
"Title": "Sleep Disorders"
},
{
"Name": "IAB7-41",
"Title": "Smoking Cessation"
},
{
"Name": "IAB7-42",
"Title": "Substance Abuse"
},
{
"Name": "IAB7-43",
"Title": "Thyroid Disease"
},
{
"Name": "IAB7-44",
"Title": "Weight Loss"
},
{
"Name": "IAB7-45",
"Title": "Women's Health"
}
]
},
{
"Name": "IAB8",
"Title": "Food & Drink",
"Subcategories": [
{
"Name": "IAB8-1",
"Title": "American Cuisine"
},
{
"Name": "IAB8-2",
"Title": "Barbecues & Grilling"
},
{
"Name": "IAB8-3",
"Title": "Cajun/Creole"
},
{
"Name": "IAB8-4",
"Title": "Chinese Cuisine"
},
{
"Name": "IAB8-5",
"Title": "Cocktails/Beer"
},
{
"Name": "IAB8-6",
"Title": "Coffee/Tea"
},
{
"Name": "IAB8-7",
"Title": "Cuisine-Specific"
},
{
"Name": "IAB8-8",
"Title": "Desserts & Baking"
},
{
"Name": "IAB8-9",
"Title": "Dining Out"
},
{
"Name": "IAB8-10",
"Title": "Food Allergies"
},
{
"Name": "IAB8-11",
"Title": "French Cuisine"
},
{
"Name": "IAB8-12",
"Title": "Health/Low-Fat Cooking"
},
{
"Name": "IAB8-13",
"Title": "Italian Cuisine"
},
{
"Name": "IAB8-14",
"Title": "Japanese Cuisine"
},
{
"Name": "IAB8-15",
"Title": "Mexican Cuisine"
},
{
"Name": "IAB8-16",
"Title": "Vegan"
},
{
"Name": "IAB8-17",
"Title": "Vegetarian"
},
{
"Name": "IAB8-18",
"Title": "Wine"
}
]
},
{
"Name": "IAB9",
"Title": "Hobbies & Interests",
"Subcategories": [
{
"Name": "IAB9-1",
"Title": "Art/Technology"
},
{
"Name": "IAB9-2",
"Title": "Arts & Crafts"
},
{
"Name": "IAB9-3",
"Title": "Beadwork"
},
{
"Name": "IAB9-4",
"Title": "Bird-Watching"
},
{
"Name": "IAB9-5",
"Title": "Board Games/Puzzles"
},
{
"Name": "IAB9-6",
"Title": "Candle & Soap Making"
},
{
"Name": "IAB9-7",
"Title": "Card Games"
},
{
"Name": "IAB9-8",
"Title": "Chess"
},
{
"Name": "IAB9-9",
"Title": "Cigars"
},
{
"Name": "IAB9-10",
"Title": "Collecting"
},
{
"Name": "IAB9-11",
"Title": "Comic Books"
},
{
"Name": "IAB9-12",
"Title": "Drawing/Sketching"
},
{
"Name": "IAB9-13",
"Title": "Freelance Writing"
},
{
"Name": "IAB9-14",
"Title": "Genealogy"
},
{
"Name": "IAB9-15",
"Title": "Getting Published"
},
{
"Name": "IAB9-16",
"Title": "Guitar"
},
{
"Name": "IAB9-17",
"Title": "Home Recording"
},
{
"Name": "IAB9-18",
"Title": "Investors & Patents"
},
{
"Name": "IAB9-19",
"Title": "Jewelry Making"
},
{
"Name": "IAB9-20",
"Title": "Magic & Illusion"
},
{
"Name": "IAB9-21",
"Title": "Needlework"
},
{
"Name": "IAB9-22",
"Title": "Painting"
},
{
"Name": "IAB9-23",
"Title": "Photography"
},
{
"Name": "IAB9-24",
"Title": "Radio"
},
{
"Name": "IAB9-25",
"Title": "Roleplaying Games"
},
{
"Name": "IAB9-26",
"Title": "Sci-Fi & Fantasy"
},
{
"Name": "IAB9-27",
"Title": "Scrapbooking"
},
{
"Name": "IAB9-28",
"Title": "Screenwriting"
},
{
"Name": "IAB9-29",
"Title": "Stamps & Coins"
},
{
"Name": "IAB9-30",
"Title": "Video & Computer Games"
},
{
"Name": "IAB9-31",
"Title": "Woodworking"
}
]
},
{
"Name": "IAB10",
"Title": "Home & Garden",
"Subcategories": [
{
"Name": "IAB10-1",
"Title": "Appliances"
},
{
"Name": "IAB10-2",
"Title": "Entertaining"
},
{
"Name": "IAB10-3",
"Title": "Environmental Safety"
},
{
"Name": "IAB10-4",
"Title": "Gardening"
},
{
"Name": "IAB10-5",
"Title": "Home Repair"
},
{
"Name": "IAB10-6",
"Title": "Home Theater"
},
{
"Name": "IAB10-7",
"Title": "Interior Decorating"
},
{
"Name": "IAB10-8",
"Title": "Landscaping"
},
{
"Name": "IAB10-9",
"Title": "Remodeling & Construction"
}
]
},
{
"Name": "IAB11",
"Title": "Law, Government, & Politics",
"Subcategories": [
{
"Name": "IAB11-1",
"Title": "Immigration"
},
{
"Name": "IAB11-2",
"Title": "Legal Issues"
},
{
"Name": "IAB11-3",
"Title": "U.S. Government Resources"
},
{
"Name": "IAB11-4",
"Title": "Politics"
},
{
"Name": "IAB11-5",
"Title": "Commentary"
}
]
},
{
"Name": "IAB12",
"Title": "News",
"Subcategories": [
{
"Name": "IAB12-1",
"Title": "International News"
},
{
"Name": "IAB12-2",
"Title": "National News"
},
{
"Name": "IAB12-3",
"Title": "Local News"
}
]
},
{
"Name": "IAB13",
"Title": "Personal Finance",
"Subcategories": [
{
"Name": "IAB13-1",
"Title": "Beginning Investing"
},
{
"Name": "IAB13-2",
"Title": "Credit/Debt & Loans"
},
{
"Name": "IAB13-3",
"Title": "Financial News"
},
{
"Name": "IAB13-4",
"Title": "Financial Planning"
},
{
"Name": "IAB13-5",
"Title": "Hedge Fund"
},
{
"Name": "IAB13-6",
"Title": "Insurance"
},
{
"Name": "IAB13-7",
"Title": "Investing"
},
{
"Name": "IAB13-8",
"Title": "Mutual Funds"
},
{
"Name": "IAB13-9",
"Title": "Options"
},
{
"Name": "IAB13-10",
"Title": "Retirement Planning"
},
{
"Name": "IAB13-11",
"Title": "Stocks"
},
{
"Name": "IAB13-12",
"Title": "Tax Planning"
}
]
},
{
"Name": "IAB14",
"Title": "Society",
"Subcategories": [
{
"Name": "IAB14-1",
"Title": "Dating"
},
{
"Name": "IAB14-2",
"Title": "Divorce Support"
},
{
"Name": "IAB14-3",
"Title": "Gay Life"
},
{
"Name": "IAB14-4",
"Title": "Marriage"
},
{
"Name": "IAB14-5",
"Title": "Senior Living"
},
{
"Name": "IAB14-6",
"Title": "Teens"
},
{
"Name": "IAB14-7",
"Title": "Weddings"
},
{
"Name": "IAB14-8",
"Title": "Ethnic Specific"
}
]
},
{
"Name": "IAB15",
"Title": "Science",
"Subcategories": [
{
"Name": "IAB15-1",
"Title": "Astrology"
},
{
"Name": "IAB15-2",
"Title": "Biology"
},
{
"Name": "IAB15-3",
"Title": "Chemistry"
},
{
"Name": "IAB15-4",
"Title": "Geology"
},
{
"Name": "IAB15-5",
"Title": "Paranormal Phenomena"
},
{
"Name": "IAB15-6",
"Title": "Physics"
},
{
"Name": "IAB15-7",
"Title": "Space/Astronomy"
},
{
"Name": "IAB15-8",
"Title": "Geography"
},
{
"Name": "IAB15-9",
"Title": "Botany"
},
{
"Name": "IAB15-10",
"Title": "Weather"
}
]
},
{
"Name": "IAB16",
"Title": "Pets",
"Subcategories": [
{
"Name": "IAB16-1",
"Title": "Aquariums"
},
{
"Name": "IAB16-2",
"Title": "Birds"
},
{
"Name": "IAB16-3",
"Title": "Cats"
},
{
"Name": "IAB16-4",
"Title": "Dogs"
},
{
"Name": "IAB16-5",
"Title": "Large Animals"
},
{
"Name": "IAB16-6",
"Title": "Reptiles"
},
{
"Name": "IAB16-7",
"Title": "Veterinary Medicine"
}
]
},
{
"Name": "IAB17",
"Title": "Sports",
"Subcategories": [
{
"Name": "IAB17-1",
"Title": "Auto Racing"
},
{
"Name": "IAB17-2",
"Title": "Baseball"
},
{
"Name": "IAB17-3",
"Title": "Bicycling"
},
{
"Name": "IAB17-4",
"Title": "Bodybuilding"
},
{
"Name": "IAB17-5",
"Title": "Boxing"
},
{
"Name": "IAB17-6",
"Title": "Canoeing/Kayaking"
},
{
"Name": "IAB17-7",
"Title": "Cheerleading"
},
{
"Name": "IAB17-8",
"Title": "Climbing"
},
{
"Name": "IAB17-9",
"Title": "Cricket"
},
{
"Name": "IAB17-10",
"Title": "Figure Skating"
},
{
"Name": "IAB17-11",
"Title": "Fly Fishing"
},
{
"Name": "IAB17-12",
"Title": "Football"
},
{
"Name": "IAB17-13",
"Title": "Freshwater Fishing"
},
{
"Name": "IAB17-14",
"Title": "Game & Fish"
},
{
"Name": "IAB17-15",
"Title": "Golf"
},
{
"Name": "IAB17-16",
"Title": "Horse Racing"
},
{
"Name": "IAB17-17",
"Title": "Horses"
},
{
"Name": "IAB17-18",
"Title": "Hunting/Shooting"
},
{
"Name": "IAB17-19",
"Title": "Inline Skating"
},
{
"Name": "IAB17-20",
"Title": "Martial Arts"
},
{
"Name": "IAB17-21",
"Title": "Mountain Biking"
},
{
"Name": "IAB17-22",
"Title": "NASCAR Racing"
},
{
"Name": "IAB17-23",
"Title": "Olympics"
},
{
"Name": "IAB17-24",
"Title": "Paintball"
},
{
"Name": "IAB17-25",
"Title": "Power & Motorcycles"
},
{
"Name": "IAB17-26",
"Title": "Pro Basketball"
},
{
"Name": "IAB17-27",
"Title": "Pro Ice Hockey"
},
{
"Name": "IAB17-28",
"Title": "Rodeo"
},
{
"Name": "IAB17-29",
"Title": "Rugby"
},
{
"Name": "IAB17-30",
"Title": "Running/Jogging"
},
{
"Name": "IAB17-31",
"Title": "Sailing"
},
{
"Name": "IAB17-32",
"Title": "Saltwater Fishing"
},
{
"Name": "IAB17-33",
"Title": "Scuba Diving"
},
{
"Name": "IAB17-34",
"Title": "Skateboarding"
},
{
"Name": "IAB17-35",
"Title": "Skiing"
},
{
"Name": "IAB17-36",
"Title": "Snowboarding"
},
{
"Name": "IAB17-37",
"Title": "Surfing/Body-Boarding"
},
{
"Name": "IAB17-38",
"Title": "Swimming"
},
{
"Name": "IAB17-39",
"Title": "Table Tennis/Ping-Pong"
},
{
"Name": "IAB17-40",
"Title": "Tennis"
},
{
"Name": "IAB17-41",
"Title": "Volleyball"
},
{
"Name": "IAB17-42",
"Title": "Walking"
},
{
"Name": "IAB17-43",
"Title": "Waterski/Wakeboard"
},
{
"Name": "IAB17-44",
"Title": "World Soccer"
}
]
},
{
"Name": "IAB18",
"Title": "Style & Fashion",
"Subcategories": [
{
"Name": "IAB18-1",
"Title": "Beauty"
},
{
"Name": "IAB18-2",
"Title": "Body Art"
},
{
"Name": "IAB18-3",
"Title": "Fashion"
},
{
"Name": "IAB18-4",
"Title": "Jewelry"
},
{
"Name": "IAB18-5",
"Title": "Clothing"
},
{
"Name": "IAB18-6",
"Title": "Accessories"
}
]
},
{
"Name": "IAB19",
"Title": "Technology & Computing",
"Subcategories": [
{
"Name": "IAB19-1",
"Title": "3-D Graphics"
},
{
"Name": "IAB19-2",
"Title": "Animation"
},
{
"Name": "IAB19-3",
"Title": "Antivirus Software"
},
{
"Name": "IAB19-4",
"Title": "C/C++"
},
{
"Name": "IAB19-5",
"Title": "Cameras & Camcorders"
},
{
"Name": "IAB19-6",
"Title": "Cell Phones"
},
{
"Name": "IAB19-7",
"Title": "Computer Certification"
},
{
"Name": "IAB19-8",
"Title": "Computer Networking"
},
{
"Name": "IAB19-9",
"Title": "Computer Peripherals"
},
{
"Name": "IAB19-10",
"Title": "Computer Reviews"
},
{
"Name": "IAB19-11",
"Title": "Data Centers"
},
{
"Name": "IAB19-12",
"Title": "Databases"
},
{
"Name": "IAB19-13",
"Title": "Desktop Publishing"
},
{
"Name": "IAB19-14",
"Title": "Desktop Video"
},
{
"Name": "IAB19-15",
"Title": "Email"
},
{
"Name": "IAB19-16",
"Title": "Graphics Software"
},
{
"Name": "IAB19-17",
"Title": "Home Video/DVD"
},
{
"Name": "IAB19-18",
"Title": "Internet Technology"
},
{
"Name": "IAB19-19",
"Title": "Java"
},
{
"Name": "IAB19-20",
"Title": "JavaScript"
},
{
"Name": "IAB19-21",
"Title": "Mac Support"
},
{
"Name": "IAB19-22",
"Title": "MP3/MIDI"
},
{
"Name": "IAB19-23",
"Title": "Net Conferencing"
},
{
"Name": "IAB19-24",
"Title": "Net for Beginners"
},
{
"Name": "IAB19-25",
"Title": "Network Security"
},
{
"Name": "IAB19-26",
"Title": "Palmtops/PDAs"
},
{
"Name": "IAB19-27",
"Title": "PC Support"
},
{
"Name": "IAB19-28",
"Title": "Portable"
},
{
"Name": "IAB19-29",
"Title": "Entertainment"
},
{
"Name": "IAB19-30",
"Title": "Shareware/Freeware"
},
{
"Name": "IAB19-31",
"Title": "Unix"
},
{
"Name": "IAB19-32",
"Title": "Visual Basic"
},
{
"Name": "IAB19-33",
"Title": "Web Clip Art"
},
{
"Name": "IAB19-34",
"Title": "Web Design/HTML"
},
{
"Name": "IAB19-35",
"Title": "Web Search"
},
{
"Name": "IAB19-36",
"Title": "Windows"
}
]
},
{
"Name": "IAB20",
"Title": "Travel",
"Subcategories": [
{
"Name": "IAB20-1",
"Title": "Adventure Travel"
},
{
"Name": "IAB20-2",
"Title": "Africa"
},
{
"Name": "IAB20-3",
"Title": "Air Travel"
},
{
"Name": "IAB20-4",
"Title": "Australia & New Zealand"
},
{
"Name": "IAB20-5",
"Title": "Bed & Breakfasts"
},
{
"Name": "IAB20-6",
"Title": "Budget Travel"
},
{
"Name": "IAB20-7",
"Title": "Business Travel"
},
{
"Name": "IAB20-8",
"Title": "By US Locale"
},
{
"Name": "IAB20-9",
"Title": "Camping"
},
{
"Name": "IAB20-10",
"Title": "Canada"
},
{
"Name": "IAB20-11",
"Title": "Caribbean"
},
{
"Name": "IAB20-12",
"Title": "Cruises"
},
{
"Name": "IAB20-13",
"Title": "Eastern Europe"
},
{
"Name": "IAB20-14",
"Title": "Europe"
},
{
"Name": "IAB20-15",
"Title": "France"
},
{
"Name": "IAB20-16",
"Title": "Greece"
},
{
"Name": "IAB20-17",
"Title": "Honeymoons/Getaways"
},
{
"Name": "IAB20-18",
"Title": "Hotels"
},
{
"Name": "IAB20-19",
"Title": "Italy"
},
{
"Name": "IAB20-20",
"Title": "Japan"
},
{
"Name": "IAB20-21",
"Title": "Mexico & Central America"
},
{
"Name": "IAB20-22",
"Title": "National Parks"
},
{
"Name": "IAB20-23",
"Title": "South America"
},
{
"Name": "IAB20-24",
"Title": "Spas"
},
{
"Name": "IAB20-25",
"Title": "Theme Parks"
},
{
"Name": "IAB20-26",
"Title": "Traveling with Kids"
},
{
"Name": "IAB20-27",
"Title": "United Kingdom"
}
]
},
{
"Name": "IAB21",
"Title": "Real Estate",
"Subcategories": [
{
"Name": "IAB21-1",
"Title": "Apartments"
},
{
"Name": "IAB21-2",
"Title": "Architects"
},
{
"Name": "IAB21-3",
"Title": "Buying/Selling Homes"
}
]
},
{
"Name": "IAB22",
"Title": "Shopping",
"Subcategories": [
{
"Name": "IAB22-1",
"Title": "Contests & Freebies"
},
{
"Name": "IAB22-2",
"Title": "Couponing"
},
{
"Name": "IAB22-3",
"Title": "Comparison"
},
{
"Name": "IAB22-4",
"Title": "Engines"
}
]
},
{
"Name": "IAB23",
"Title": "Religion & Spirituality",
"Subcategories": [
{
"Name": "IAB23-1",
"Title": "Alternative Religions"
},
{
"Name": "IAB23-2",
"Title": "Atheism/Agnosticism"
},
{
"Name": "IAB23-3",
"Title": "Buddhism"
},
{
"Name": "IAB23-4",
"Title": "Catholicism"
},
{
"Name": "IAB23-5",
"Title": "Christianity"
},
{
"Name": "IAB23-6",
"Title": "Hinduism"
},
{
"Name": "IAB23-7",
"Title": "Islam"
},
{
"Name": "IAB23-8",
"Title": "Judaism"
},
{
"Name": "IAB23-9",
"Title": "Latter-Day Saints"
},
{
"Name": "IAB23-10",
"Title": "Pagan/Wiccan"
}
]
},
{
"Name": "IAB24",
"Title": "Uncategorized",
"Subcategories": []
},
{
"Name": "IAB25",
"Title": "Non-Standard Content",
"Subcategories": [
{
"Name": "IAB25-1",
"Title": "Unmoderated UGC"
},
{
"Name": "IAB25-2",
"Title": "Extreme Graphic/Explicit Violence"
},
{
"Name": "IAB25-3",
"Title": "Pornography"
},
{
"Name": "IAB25-4",
"Title": "Profane Content"
},
{
"Name": "IAB25-5",
"Title": "Hate Content"
},
{
"Name": "IAB25-6",
"Title": "Under Construction"
},
{
"Name": "IAB25-7",
"Title": "Incentivized"
}
]
},
{
"Name": "IAB26",
"Title": "Illegal Content",
"Subcategories": [
{
"Name": "IAB26-1",
"Title": "Illegal Content"
},
{
"Name": "IAB26-2",
"Title": "Warez"
},
{
"Name": "IAB26-3",
"Title": "Spyware/Malware"
},
{
"Name": "IAB26-4",
"Title": "Copyright Infringement"
}
]
}
]
This endpoint fetches IAB categories.
HTTP Request
GET https://adelion.com/api/info/iabcategories
Success
Get GeoEdge alerts
To get list of GeoEdge alerts, just call endpoint without parameters.
Success JSON:
[
{
"Id": 1,
"Key": "trigger_ad_specific_banner",
"Description": "Specific Ad"
},
{
"Id": 2,
"Key": "trigger_scan_malware",
"Description": "Malware In Page"
},
{
"Id": 3,
"Key": "trigger_ad_lp_offensive",
"Description": "Offensive Content"
},
{
"Id": 4,
"Key": "trigger_lp_categories",
"Description": "Related to Vertical"
},
{
"Id": 5,
"Key": "trigger_ad_networks",
"Description": "From a Network"
},
{
"Id": 6,
"Key": "trigger_lp_advertiser_by_names",
"Description": "From an Advertiser"
},
{
"Id": 7,
"Key": "trigger_ad_auto_play_sound",
"Description": "Autoplay Sound"
},
{
"Id": 9,
"Key": "trigger_lp_advertiser_by_domains",
"Description": "From a Landing Page Domain"
},
{
"Id": 10,
"Key": "trigger_lp_advertiser_by_keywords",
"Description": "With a Keyword"
},
{
"Id": 11,
"Key": "trigger_ad_deceptive",
"Description": "Deceptive Ad"
},
{
"Id": 12,
"Key": "trigger_ad_max_file_size",
"Description": "Creative File Size"
},
{
"Id": 13,
"Key": "trigger_lp_file_download",
"Description": "Post-Click File Download"
},
{
"Id": 14,
"Key": "trigger_lp_error",
"Description": "Landing Page Error"
},
{
"Id": 15,
"Key": "trigger_ad_1x1",
"Description": "1x1 Image"
},
{
"Id": 16,
"Key": "trigger_ad_max_allowed_dimensions",
"Description": "Unallowed Dimensions"
},
{
"Id": 17,
"Key": "trigger_ad_flash_high_cpu",
"Description": "High CPU Usage"
},
{
"Id": 18,
"Key": "trigger_scan_with_http_over_https",
"Description": "HTTP over HTTPS"
},
{
"Id": 19,
"Key": "trigger_ad_cookies_domains",
"Description": "Cookie Dropping"
},
{
"Id": 20,
"Key": "trigger_lp_malware",
"Description": "Malware Post-Click"
},
{
"Id": 21,
"Key": "trigger_ad_malware",
"Description": "Malware Pre-Click"
},
{
"Id": 22,
"Key": "trigger_ad_lp_phishing",
"Description": "Phishing"
},
{
"Id": 23,
"Key": "trigger_ad_popup",
"Description": "Pop-Up Ad"
},
{
"Id": 24,
"Key": "trigger_ad_cookies_networks",
"Description": "Cookie Dropping"
},
{
"Id": 25,
"Key": "trigger_lp_changed",
"Description": "Landing Page Change"
},
{
"Id": 26,
"Key": "trigger_ad_popunder",
"Description": "Pop-Under Ad"
},
{
"Id": 27,
"Key": "trigger_ad_max_load_time",
"Description": "Ad Load Time"
},
{
"Id": 29,
"Key": "trigger_ad_max_load_time_from_start",
"Description": "Ad Time From Start"
},
{
"Id": 30,
"Key": "trigger_scan_requests_errors",
"Description": "Capture Request Errors"
},
{
"Id": 31,
"Key": "trigger_scan_total_time",
"Description": "Capture Complete Time"
},
{
"Id": 32,
"Key": "trigger_ad_automatic_redirect_domains",
"Description": "Auto Redirect"
},
{
"Id": 33,
"Key": "trigger_ad_popup_with_js_alert",
"Description": "JS Alert on Entry"
},
{
"Id": 34,
"Key": "trigger_ad_file_download",
"Description": "Pre-Click File Download"
},
{
"Id": 35,
"Key": "trigger_ad_changed",
"Description": "Creative Change"
},
{
"Id": 36,
"Key": "trigger_ad_domains",
"Description": "From a Network Domain"
},
{
"Id": 37,
"Key": "trigger_lp_cascading_networks",
"Description": "Landing Page Cascading"
},
{
"Id": 39,
"Key": "trigger_ad_video_in_display",
"Description": "In-Banner Video"
},
{
"Id": 40,
"Key": "trigger_ad_video_max_length",
"Description": "Video Length"
},
{
"Id": 41,
"Key": "trigger_ad_video_supported_types",
"Description": "Video Required File Types"
},
{
"Id": 42,
"Key": "trigger_ad_video_vast_from_start",
"Description": "VAST From Start"
},
{
"Id": 43,
"Key": "trigger_ad_video_auto_sound",
"Description": "Video Autoplay Sound"
},
{
"Id": 44,
"Key": "trigger_ad_popup_with_js_alert_on_exit",
"Description": "Javascript Alert On Exit"
},
{
"Id": 45,
"Key": "trigger_scan_is_multi_pop",
"Description": "Multiple Pops"
},
{
"Id": 46,
"Key": "trigger_lp_auto_play_sound",
"Description": "Landing Page Auto Sound"
},
{
"Id": 47,
"Key": "trigger_ad_html5_image_max_file_size",
"Description": "HTML5 Image File Size"
},
{
"Id": 48,
"Key": "trigger_ad_html5_js_max_file_size",
"Description": "HTML5 JS File Size"
},
{
"Id": 49,
"Key": "trigger_ad_malicious",
"Description": "Malicious URL Pre-Click"
},
{
"Id": 50,
"Key": "trigger_lp_malicious",
"Description": "Malicious URL Post-Click"
},
{
"Id": 51,
"Key": "trigger_scan_malicious",
"Description": "Malicious In Page"
},
{
"Id": 52,
"Key": "trigger_lp_max_size",
"Description": "Landing Page File Size"
},
{
"Id": 53,
"Key": "trigger_ad_html5_zindex",
"Description": "HTML5 Z-Index Values"
},
{
"Id": 54,
"Key": "trigger_ad_video_vast_missing_media_file",
"Description": "Missing Media File in VAST"
},
{
"Id": 55,
"Key": "trigger_ad_html5_max_requests",
"Description": "HTML5 Max Number of Requests"
},
{
"Id": 56,
"Key": "trigger_ad_max_expanded_allowed_dimensions",
"Description": "HTML5 Unallowed Expanded Dimensions"
},
{
"Id": 57,
"Key": "trigger_ad_video_auto_scroll",
"Description": "Video Auto Scroll"
},
{
"Id": 58,
"Key": "trigger_ad_animation_max_length",
"Description": "Animation Max Length"
},
{
"Id": 59,
"Key": "trigger_lp_vibrate",
"Description": "Landing Page Vibrate"
},
{
"Id": 61,
"Key": "trigger_ad_video_frame_rate",
"Description": "Video Frame Rate"
},
{
"Id": 62,
"Key": "trigger_ad_video_bit_rate",
"Description": "Video Bit Rate"
},
{
"Id": 63,
"Key": "trigger_ad_video_companion_ads",
"Description": "Video Companion Ads"
},
{
"Id": 64,
"Key": "trigger_scan_requests_size",
"Description": "Capture Requests Size"
},
{
"Id": 65,
"Key": "trigger_ad_allowed_ratio",
"Description": "Unallowed Aspect Ratio"
},
{
"Id": 66,
"Key": "trigger_ad_video_auto_play",
"Description": "Video Autoplay"
},
{
"Id": 67,
"Key": "trigger_ad_html5_init_requests",
"Description": "HTML5 Max Number of Initial Requests"
},
{
"Id": 68,
"Key": "trigger_ad_html5_sub_requests",
"Description": "HTML5 Max Number of Subsequent Requests"
},
{
"Id": 69,
"Key": "trigger_ad_html5_init_max_file_size",
"Description": "HTML5 Initial File Size"
},
{
"Id": 70,
"Key": "trigger_ad_html5_sub_max_file_size",
"Description": "HTML5 Subsequent File Size"
},
{
"Id": 71,
"Key": "trigger_lp_domains",
"Description": "Domain in Landing Page"
},
{
"Id": 72,
"Key": "trigger_lp_back_button_redirect",
"Description": "Back Button Hijack"
},
{
"Id": 73,
"Key": "trigger_ad_max_requests",
"Description": "Max Number of Requests"
},
{
"Id": 74,
"Key": "trigger_ad_video_file_size",
"Description": "Vast File Size"
},
{
"Id": 75,
"Key": "trigger_ssl_cert_violation",
"Description": "SSL Certificate Violation"
},
{
"Id": 76,
"Key": "trigger_ad_browser_locking",
"Description": "Browser Locking"
},
{
"Id": 77,
"Key": "trigger_vpaid_format",
"Description": "VPAID Format In The Response"
},
{
"Id": 78,
"Key": "trigger_vast_depth",
"Description": "VAST Max Depth"
},
{
"Id": 79,
"Key": "trigger_ad_video_empty_vast",
"Description": "Empty VAST"
},
{
"Id": 80,
"Key": "trigger_ad_video_broken_vast",
"Description": "Broken VAST"
},
{
"Id": 81,
"Key": "trigger_ad_floating",
"Description": "Floating Ad"
},
{
"Id": 82,
"Key": "trigger_ad_lp_offensive",
"Description": "Extreme Offensive Content"
},
{
"Id": 83,
"Key": "trigger_ad_deceptive_site",
"Description": "Deceptive Site"
},
{
"Id": 84,
"Key": "trigger_ad_verification_wrapper",
"Description": "Ad Verification Wrapper"
},
{
"Id": 85,
"Key": "trigger_adomain_mismatch",
"Description": "'adomain' Mismatch"
},
{
"Id": 86,
"Key": "trigger_ad_video_loud",
"Description": "Loud Ad"
},
{
"Id": 87,
"Key": "trigger_ad_adomains",
"Description": "adomain"
}
]
This endpoint fetches GeoEdge alerts.
HTTP Request
GET https://adelion.com/api/info/geoedgealerts
Success
Banner EPs
Get Banner EP
To get Banner EP, send query parameter like this: Id=1 or PublisherId=1 or AccManagerId=5
Or if you want to get all Banner EPs, don't include either of Id or PublisherId or AccManagerId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"=1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Banner EP(s).
HTTP Request
GET https://adelion.com/api/ortb/bannerep/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID, if sent, request will fetch Banner EP with exact ID, otherwise it fill fetch all Banner EPs. | optional |
| PublisherId | int | Publisher ID, if sent, request will fetch Banner EPs with exact publisher ID, otherwise it fill fetch all Banner EPs. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Banner EPs with exact Account Manager ID (User ID), otherwise it fill fetch all Banner EPs. | optional |
| ActiveOnly | int | Request will fetch only active Banner EPs if set to 1, otherwise it fill fetch all Banner EPs. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Get Banner EP Short
To get Banner EP, send query parameter like this: Id=1 or PublisherId=1 or AccManagerId=5
Or if you want to get all Banner EPs, don't include either of Id or PublisherId or AccManagerId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"Name": "Banner EP 1",
"Tags": [
1
],
"WebEnabled": 1,
"AppEnabled": 1,
"AccManagerId": 5,
"Status": 0
}
Success JSON for multiple:
[
{
"Id": 1,
"Name": "Banner EP 1",
"Tags": [
1
],
"WebEnabled": 1,
"AppEnabled": 1,
"AccManagerId": 5,
"Status": 0
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Banner EP(s).
HTTP Request
GET https://adelion.com/api/ortb/bannerep/get/short
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID, if sent, request will fetch Banner EP with exact ID, otherwise it fill fetch all Banner EPs. | optional |
| PublisherId | int | Publisher ID, if sent, request will fetch Banner EPs with exact publisher ID, otherwise it fill fetch all Banner EPs. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Banner EPs with exact Account Manager ID (User ID), otherwise it fill fetch all Banner EPs. | optional |
| ActiveOnly | int | Request will fetch only active Banner EPs if set to 1, otherwise it fill fetch all Banner EPs. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add Banner EP
To add Banner EP, send JSON structured like this:
{
"BannerEp": {
"PublisherId": 1,
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Banner EP.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| PublisherId | int | Owner publisher's ID. | required |
| Name | string | Banner EP's name. | optional |
| Tags | array of int | List of Tags' IDs. | optional |
| Bidfloor | float | Minimum bid expressed in CPM. Value will be used as a bidfloor in RTB auctions. | optional |
| PublisherProfitShare | float | Percentage of a profit (bid price minus bidfloor) from DSP RTB EP's advertiser that Banner EP's publisher earns. | optional |
| Keywords | string | Comma separated list of keywords describing the site/app. | optional |
| SiteDomain | string | Domain of the site. | optional |
| AppName | string | App name. | optional |
| AppBundle | string | A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| AppStoreUrl | string | App store URL for an installed app. | optional |
| Tmax | int | Maximum time in milliseconds to wait for the response from DSP RTB EP's server. | optional |
| AuctionType | int | Type of RTB auction within the platform. 1 - First Price, 2 - Second Price Plus. | optional |
| Secure | int | Indicates if the Banner EP requires secure HTTPS URL creative assets and markup. 0 - No, 1 - Yes. | optional |
| IabCategories | array of strings | IAB categories of the site/app where ads will be displayed. See Info -> Get IAB categories for a list of available categories. | optional |
| AdPosition | int | Banner position on screen. See Info -> ORTB Ad Position for a list of available ad positions. | optional |
| Width | int | Banner width. See ORTB Info -> ORTB Banner Sizes for a list of available banner sizes (combination of Width and Height). | optional |
| Height | int | Banner height. See ORTB Info -> ORTB Banner Sizes for a list of available banner sizes (combination of Width and Height). | optional |
| RequestsDailyLimit | int | Number of requests to receive per day. The system will even out distribution of requests throughout the day, ie. "day shaping". Set to 0 for unlimited requests. | optional |
| BidsDailyLimit | int | Number of bids per day. The system will even out distribution of bids throughout the day, ie. "day shaping". Set to 0 for unlimited bids. | optional |
| ImpressionsDailyLimit | int | Number of impressions per day. The system will even out distribution of impressions throughout the day, ie. "day shaping". Set to 0 for unlimited impressions. | optional |
| ImpressionsLimitPerIp | int | Daily limit of impressions per IP address. Set to 0 for unlimited impressions per IP address. | optional |
| SpentDailyLimit | float | Maximum daily amount (USD) to spend on Banner EP. Set to 0 for unlimited amount. | optional |
| WebEnabled | int | Enable Web traffic. 0 - Disabled, 1 - Enabled. | optional |
| AppEnabled | int | Enable App traffic. 0 - Disabled, 1 - Enabled. | optional |
| MaxIvt | float | Filter traffic from inventory with IVT greater than this value. | optional |
| DomainsBrandsListMode | int | Block or allow publisher domains or brand names: 0 - Blacklist, 1 - Whitelist. | optional |
| DomainsBrandsList | array of int | List of Domain Lists' IDs to block or allow. | optional |
| AppsListMode | int | Block or allow publisher applications by their application identifiers: 0 - Blacklist, 1 - Whitelist. | optional |
| AppsList | array of int | List of App Lists' IDs to block or allow. | optional |
| IpBlacklists | array of int | List of IP Lists' IDs to use for IP block. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| AllowIpV6 | int | Allow IPv6 addresses. 1 - Enabled, 0 - Disabled. | optional |
| CheckSiteLive | int | Check if source website is live. 1 - Enabled, 0 - Disabled. | optional |
| CheckAppStore | int | Check if app is live on its application store (App Store, Google Play, etc.). 1 - Enabled, 0 - Disabled. | optional |
| AdDomainsBrandsBlacklist | string | List of domains or brand names to block, separated by new line. | optional |
| AdAppsBlacklist | string | Blacklist of applications by their application identifiers, separated by new line. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| CridListMode | int | Block or allow Creative IDs: 0 - Blacklist, 1 - Whitelist. | optional |
| CridList | string | List of Creative IDs to block or allow, separated by new line. | optional |
| BlockedAdIabCategories | array of strings | Ads with these IAB categories will not be displayed. See Info -> Get IAB categories for a list of available categories. | optional |
| BlockedAdAttributes | array of int | Ads with these ad attributes will not be displayed. See ORTB Info -> ORTB Creative Attribute for a list of available ad attributes. | optional |
| Countries | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| Os | array of object | Array of Os objects that should be sent like in JSON example. Not all operating systems have their versions, so for them you don't have to include Versions array in object. See Info -> Get operating systems for a list of available operating systems and their versions. | optional |
| Browsers | array of object | Array of Browser objects that should be sent like in JSON example. Not all web browsers have their versions, so for them you don't have to include Versions array in object. See Info -> Get web browsers for a list of available web browsers and their versions. | optional |
| DeviceTypes | array of int | Array of Device Type Rev objects that should be sent like in JSON example. See ORTB Info -> ORTB Device Type Rev for a list of available device types. | optional |
| Campaigns | array of int | Array of Campaigns' IDs to connect to the Banner EP. This will make the Campaign Ad appear for Banner EP if all the targeting is matched. | optional |
| DspRtbEps | array of int | Array of DSP RTB EPs' IDs to connect to the Banner EP. This will make the DSP RTB EP appear for Banner EP if all the targeting is matched. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Duplicate Banner EP
To duplicate Banner EP, send JSON structured like this:
{
"BannerEp": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 2,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=2&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=2&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint duplicates Banner EP.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/duplicate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | ID of Banner EP to duplicate. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Banner EP
To update Banner EP, send JSON structured like this:
{
"BannerEp": {
"Id": 1,
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"=1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Banner EP.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID. | required |
| Name | string | Banner EP's name. | optional |
| Tags | array of int | List of Tags' IDs. | optional |
| Bidfloor | float | Minimum bid expressed in CPM. Value will be used as a bidfloor in RTB auctions. | optional |
| PublisherProfitShare | float | Percentage of a profit (bid price minus bidfloor) from DSP RTB EP's advertiser that Banner EP's publisher earns. | optional |
| Keywords | string | Comma separated list of keywords describing the site/app. | optional |
| SiteDomain | string | Domain of the site. | optional |
| AppName | string | App name. | optional |
| AppBundle | string | A platform-specific application identifier intended to be unique to the app and independent of the exchange. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| AppStoreUrl | string | App store URL for an installed app. | optional |
| Tmax | int | Maximum time in milliseconds to wait for the response from DSP RTB EP's server. | optional |
| AuctionType | int | Type of RTB auction within the platform. 1 - First Price, 2 - Second Price Plus. | optional |
| Secure | int | Indicates if the Banner EP requires secure HTTPS URL creative assets and markup. 0 - No, 1 - Yes. | optional |
| IabCategories | array of strings | IAB categories of the site/app where ads will be displayed. See Info -> Get IAB categories for a list of available categories. | optional |
| AdPosition | int | Banner position on screen. See Info -> ORTB Ad Position for a list of available ad positions. | optional |
| Width | int | Banner width. See ORTB Info -> ORTB Banner Sizes for a list of available banner sizes (combination of Width and Height). | optional |
| Height | int | Banner height. See ORTB Info -> ORTB Banner Sizes for a list of available banner sizes (combination of Width and Height). | optional |
| RequestsDailyLimit | int | Number of requests to receive per day. The system will even out distribution of requests throughout the day, ie. "day shaping". Set to 0 for unlimited requests. | optional |
| BidsDailyLimit | int | Number of bids per day. The system will even out distribution of bids throughout the day, ie. "day shaping". Set to 0 for unlimited bids. | optional |
| ImpressionsDailyLimit | int | Number of impressions per day. The system will even out distribution of impressions throughout the day, ie. "day shaping". Set to 0 for unlimited impressions. | optional |
| ImpressionsLimitPerIp | int | Daily limit of impressions per IP address. Set to 0 for unlimited impressions per IP address. | optional |
| SpentDailyLimit | float | Maximum daily amount (USD) to spend on Banner EP. Set to 0 for unlimited amount. | optional |
| WebEnabled | int | Enable Web traffic. 0 - Disabled, 1 - Enabled. | optional |
| AppEnabled | int | Enable App traffic. 0 - Disabled, 1 - Enabled. | optional |
| MaxIvt | float | Filter traffic from inventory with IVT greater than this value. | optional |
| DomainsBrandsListMode | int | Block or allow publisher domains or brand names: 0 - Blacklist, 1 - Whitelist. | optional |
| DomainsBrandsList | array of int | List of Domain Lists' IDs to block or allow. | optional |
| AppsListMode | int | Block or allow publisher applications by their application identifiers: 0 - Blacklist, 1 - Whitelist. | optional |
| AppsList | array of int | List of App Lists' IDs to block or allow. | optional |
| IpBlacklists | array of int | List of IP Lists' IDs to use for IP block. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| AllowIpV6 | int | Allow IPv6 addresses. 1 - Enabled, 0 - Disabled. | optional |
| CheckSiteLive | int | Check if source website is live. 1 - Enabled, 0 - Disabled. | optional |
| CheckAppStore | int | Check if app is live on its application store (App Store, Google Play, etc.). 1 - Enabled, 0 - Disabled. | optional |
| AdDomainsBrandsBlacklist | string | List of domains or brand names to block, separated by new line. | optional |
| AdAppsBlacklist | string | Blacklist of applications by their application identifiers, separated by new line. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| CridListMode | int | Block or allow Creative IDs: 0 - Blacklist, 1 - Whitelist. | optional |
| CridList | string | List of Creative IDs to block or allow, separated by new line. | optional |
| BlockedAdIabCategories | array of strings | Ads with these IAB categories will not be displayed. See Info -> Get IAB categories for a list of available categories. | optional |
| BlockedAdAttributes | array of int | Ads with these ad attributes will not be displayed. See ORTB Info -> ORTB Creative Attribute for a list of available ad attributes. | optional |
| Countries | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| Os | array of object | Array of Os objects that should be sent like in JSON example. Not all operating systems have their versions, so for them you don't have to include Versions array in object. See Info -> Get operating systems for a list of available operating systems and their versions. | optional |
| Browsers | array of object | Array of Browser objects that should be sent like in JSON example. Not all web browsers have their versions, so for them you don't have to include Versions array in object. See Info -> Get web browsers for a list of available web browsers and their versions. | optional |
| DeviceTypes | array of int | Array of Device Type Rev objects that should be sent like in JSON example. See ORTB Info -> ORTB Device Type Rev for a list of available device types. | optional |
| Campaigns | array of int | Array of Campaigns' IDs to connect to the Banner EP. This will make the Campaign Ad appear for Banner EP if all the targeting is matched. | optional |
| DspRtbEps | array of int | Array of DSP RTB EPs' IDs to connect to the Banner EP. This will make the DSP RTB EP appear for Banner EP if all the targeting is matched. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate Banner EP
To activate Banner EP, send JSON structured like this:
{
"BannerEp": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates Banner EP. Banner EP is active by default, so you shouldn't make this request unless the Banner EP is inactive.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate Banner EP
To deactivate Banner EP, send JSON structured like this:
{
"BannerEp": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 1,
"StatusString": "Inactive",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates Banner EP.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete Banner EP
To delete Banner EP, send JSON structured like this:
{
"BannerEp": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"BannerEp": {
"Id": 1,
"TeamId": 1,
"PublisherId": 1,
"PublisherName": "Publisher",
"Name": "Banner EP 1",
"Tags": [
1
],
"Bidfloor": 0.5,
"PublisherProfitShare": 90.0,
"Keywords": "",
"SiteDomain": "",
"AppName": "",
"AppBundle": "",
"AppStoreUrl": "",
"Tmax": 300,
"AuctionType" : 2,
"Secure": 1,
"IabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdPosition": 4,
"Width": 300,
"Height": 250,
"RequestsDailyLimit": 0,
"BidsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ImpressionsLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"WebEnabled": 1,
"AppEnabled": 1,
"MaxIvt": 50.0,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsListMode": 0,
"AppsList": [
1
],
"IpBlacklists": [
1
],
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1,
"AllowIpV6": 1,
"CheckSiteLive": 0,
"CheckAppStore": 0,
"AdDomainsBrandsBlacklist": "",
"AdAppsBlacklist": "",
"CridListMode": 0,
"CridList": "",
"BlockedAdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3",
"IAB2-4"
],
"BlockedAdAttributes": [
8,
9
],
"Countries": [
{
"CC": "US",
"Country": "United States"
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Auth": "bK4uw2",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 2,
"StatusString": "Deleted",
"JsTag": "<ins class=\"adelion-ad\" data-ad-slot=\"1\" data-ad-auth=\"bK4uw2\" style=\"display:inline-block;width:300px;height:250px;\"></ins>\n<script async src=\"https://adelion.com/ins.js\"></script>",
"IframeTags": [
{
"Region": "us-east",
"IframeTag": "<iframe src=\"https://us-east1.adelion.com/banner?zone=1&auth=bK4uw2&type=if\" name=\"banner\" width=\"300\" height=\"250\" marginwidth=\"0\" marginheight=\"0\" align=\"top\" scrolling=\"No\" frameborder=\"0\" hspace=\"0\" vspace=\"0\" style=\"border:0\"></iframe>"
}
],
"StatsByDate": "https://adelion.com/api/ortb/stats/publisher/banner?username=publisher1&auth=RmyVFy&zone=1&date_from={date_from}&date_to={date_to}&columns=DateStats,Requests,NetImpressions,Spent",
"Campaigns": [
1
],
"DspRtbEps": [
1
]
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Banner EP.
HTTP Request
POST https://adelion.com/api/ortb/bannerep/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Banner EP ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Library
Sites Library
To fetch data for a table with sites library, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"Id",
"Hostname",
"AdsTxtCount"
],
"Order": [
{
"Column": "AdsTxtCount",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "Hostname",
"Values": [
"publisher1.net",
"publisher2.net"
]
}
]
}
Success JSON:
{
"Data": [
{
"Id": "1094",
"Hostname": "publisher1.net",
"AdsTxtCount": "2965"
},
{
"Id": "2121",
"Hostname": "publisher2.net",
"AdsTxtCount": "486"
}
],
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with sites library, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/lib/sites
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (Contains). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| Id | int | no | no | yes | no |
| Hostname | string | no | no | yes | yes |
| EffectiveHostname | string | no | no | yes | no |
| AdsTxtCount | int | no | no | yes | no |
| Ivt | float | no | no | yes | no |
| DelistedCount | int | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Apps Library
To fetch data for a table with apps library, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"Id",
"Bundle",
"Name",
"StoreUrl",
"Store",
"Hostname",
"AppAdsTxtCount"
],
"Order": [
{
"Column": "AppAdsTxtCount",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "Bundle",
"Values": [
"com.pub.mygame1",
"com.pub.mygame2"
]
}
]
}
Success JSON:
{
"Data": [
{
"Id": "1094",
"Bundle": "com.pub.mygame1",
"Name": "My Game 1",
"StoreUrl": "https://play.google.com/store/apps/details?id=com.pub.mygame1",
"Store": "0",
"Hostname": "publisher1.com",
"AppAdsTxtCount": "2965"
},
{
"Id": "2121",
"Bundle": "com.pub.mygame2",
"Name": "My Game 2",
"StoreUrl": "https://play.google.com/store/apps/details?id=com.pub.mygame2",
"Store": "0",
"Hostname": "publisher2.com",
"AppAdsTxtCount": "486"
}
],
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with apps library, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/lib/apps
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (Contains). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| Id | int | no | no | yes | no |
| Bundle | string | no | no | yes | yes |
| Name | string | no | no | yes | yes |
| StoreUrl | string | no | no | yes | yes |
| Store | int | no | no | yes | no |
| StoreBundle | string | no | no | yes | yes |
| Hostname | string | no | no | yes | yes |
| AppAdsTxtCount | int | no | no | yes | no |
| Ivt | float | no | no | yes | no |
| DelistedCount | int | no | no | yes | no |
| BundleMismatchCount | int | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
CRIDs Library
To fetch data for a table with CRIDs library, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"Crid",
"GeoedgeAlerts"
],
"Order": [
{
"Column": "Crid",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "Crid",
"Values": [
"123456",
"345678"
]
}
]
}
Success JSON:
{
"Data": [
{
"Crid": "345678",
"GeoedgeAlerts": "76,80"
},
{
"Crid": "123456",
"GeoedgeAlerts": "76,80"
}
],
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with CRIDs library, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/lib/crids
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (Contains). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| Crid | string | no | no | yes | yes |
| Iurl | string | no | no | yes | yes |
| AdType | int | no | no | yes | yes |
| Env | int | no | no | yes | yes |
| GeoedgeAlerts | string | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Samples
Samples Table
To fetch data with samples, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"Id",
"RtbEpId",
"DspRtbEpId",
"BidRequest",
"BidResponse"
],
"Order": [
{
"Column": "Id",
"Ord": "DESC"
}
],
"Filter": [
]
}
Success JSON:
{
"Data": [
{
"Id": "20",
"TeamId": "1",
"RtbEpId": "2480",
"DspRtbEpId": "N/A",
"BidRequest": "...",
"BidResponse": ""
}
],
"Total": 1,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 1
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with samples, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/samples
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (Contains). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| Id | int | no | no | yes | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| BidRequest | string | no | no | no | no |
| BidResponse | string | no | no | no | no |
| TimeCreated | string | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Campaigns
Get Campaign
To get Campaign, send query parameter like this: Id=1 or AdvertiserId=1 or AccManagerId=5
Or if you want to get all Campaigns, don't include either of Id or AdvertiserId=1 AccManagerId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Campaign(s).
HTTP Request
GET https://adelion.com/api/ortb/campaign/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID, if sent, request will fetch Campaign with exact ID, otherwise it fill fetch all Campaigns. | optional |
| AdvertiserId | int | Advertiser ID, if sent, request will fetch Campaigns with exact advertiser ID, otherwise it fill fetch all Campaigns. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Campaigns with exact Account Manager ID (User ID), otherwise it fill fetch all Campaigns. | optional |
| ActiveOnly | int | Request will fetch only active Campaigns if set to 1, otherwise it fill fetch all Campaigns. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Get Campaign Short
To get Campaign, send query parameter like this: Id=1 or AdvertiserId=1 AccManagerId=5
Or if you want to get all Campaigns, don't include either of Id or AdvertiserId=1 AccManagerId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"Name": "Campaign 1",
"AccManagerId": 5,
"Status": 0
}
Success JSON for multiple:
[
{
"Id": 1,
"Name": "Campaign 1",
"AccManagerId": 5,
"Status": 0
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Campaign(s).
HTTP Request
GET https://adelion.com/api/ortb/campaign/get/short
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID, if sent, request will fetch Campaign with exact ID, otherwise it fill fetch all Campaigns. | optional |
| AdvertiserId | int | Advertiser ID, if sent, request will fetch Campaigns with exact advertiser ID, otherwise it fill fetch all Campaigns. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Campaigns with exact Account Manager ID (User ID), otherwise it fill fetch all Campaigns. | optional |
| ActiveOnly | int | Request will fetch only active Campaigns if set to 1, otherwise it fill fetch all Campaigns. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add Campaign
To add a Campaign, send JSON structured like this:
{
"Campaign": {
"AdvertiserId": 1,
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"RulesEnabled": 1,
"Budget": 0.0,
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [],
"PausedCreatives": [],
"PausedSites": [],
"PausedApps": [],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| AdvertiserId | int | Owner advertiser's ID. | required |
| Name | string | Campaign's name. | required |
| AdType | int | Ad Type of Campaign: 1 - Banner, 2 - Video, 3 - Audio, 4 - Native, 5 - Pop. | required |
| PricingType | int | Pricing type for Campaign: 0 - CPM, 1 - CPC, 2 - CPA. | required |
| ConversionsDailyLimit | int | Number of conversions per day. The system will even out distribution of actions throughout the day, ie. "day shaping". Set to 0 for unlimited conversions. | optional |
| ImpressionsDailyLimit | int | Number of impressions per day. The system will even out distribution of impressions throughout the day, ie. "day shaping". Set to 0 for unlimited impressions. | optional |
| ClicksDailyLimit | int | Number of clicks allowed per day. The system will even out distribution of clicks throughout the day, ie. "day shaping". Set to 0 for unlimited clicks. | optional |
| ClicksLimitPerIp | int | Daily limit of clicks per IP address. Set to 0 for unlimited clicks per IP address. | optional |
| SpentDailyLimit | float | Maximum daily amount (USD) to spend on Campaign. Set to 0 for unlimited amount. | optional |
| AdDomainBrand | string | Domain or brand name of your advertised product. | optional |
| AdAppBundle | string | Application identifier of your advertised application. On Android, this should be bundle or package name (e.g., com.foo.mygame), on iOS, this is numeric ID. | optional |
| DestinationUrl | string | Destination URL that loads when user clicks an ad. See below the list of macros that can be put inside the URL. | required |
| AdIabCategories | array of strings | IAB categories of Ad. See Info -> Get IAB categories for a list of available categories. | optional |
| AdAttributes | array of int | Ad attributes. See ORTB Info -> ORTB Creative Attribute for a list of available ad attributes. | optional |
| CountriesRevenue | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| CountriesSpent | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| SitesSpent | array of object | Array of objects that should be sent like in JSON example. Site values in objects must be canonical domain. | optional |
| AppsSpent | array of object | Array of objects that should be sent like in JSON example. App values in objects must be application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| RtbEpsSpent | array of object | Array of objects that should be sent like in JSON example. RtbEpId values in objects must be IDs of existing RTB EPs. | optional |
| Os | array of object | Array of Os objects that should be sent like in JSON example. Not all operating systems have their versions, so for them you don't have to include Versions array in object. See Info -> Get operating systems for a list of available operating systems and their versions. | optional |
| Browsers | array of object | Array of Browser objects that should be sent like in JSON example. Not all web browsers have their versions, so for them you don't have to include Versions array in object. See Info -> Get web browsers for a list of available web browsers and their versions. | optional |
| DeviceTypes | array of int | Array of Device Type Rev objects that should be sent like in JSON example. See ORTB Info -> ORTB Device Type Rev for a list of available device types. | optional |
| Languages | array of strings | Languages for audience (device) targeting. Language must be in two-letter language code (ISO-639-1-alpha-2). | optional |
| ConnectionType | int | Connection type of the user's device: 0 - All, 1 - 3G/LTE, 2 - Wi-Fi/Broadband. | optional |
| BannerEps | array of int | Array of Banner EPs' IDs to connect to the Campaign. This will make the Campaign's Ad appear for Banner EP if all the targeting is matched. | optional |
| VastTags | array of int | Array of VAST Tags' IDs to connect to the Campaign. This will make the Campaign's Ad appear for VAST Tag if all the targeting is matched. | optional |
| RtbEps | array of int | Array of RTB EPs' IDs to connect to the Campaign. This will make the Campaign's Ad appear in RTB EP response if all the targeting is matched. | optional |
| PopFeeds | array of int | Array of XML Pop Feeds' IDs to connect to the Campaign. This will make the Campaign's Ad appear in XML Pop Feed response if all the targeting is matched. | optional |
| Tags | array of int | List of Tags' IDs. | optional |
| RulesEnabled | int | Enable Optimisation Rules for the Campaign. 0 - Disabled, 1 - Enabled. | optional |
| Budget | float | Campaign budget. Set to 0 for unlimited amount. | optional |
| DomainsBrandsTargeting | int | Enable Websites targeting. 0 - Disabled, 1 - Enabled. | optional |
| DomainsBrandsListMode | int | Block or allow publisher domains or brand names: 0 - Blacklist, 1 - Whitelist. | optional |
| DomainsBrandsList | array of int | List of Domain Lists' IDs to block or allow. | optional |
| AppsTargeting | int | Enable Apps targeting. 0 - Disabled, 1 - Enabled. | optional |
| AppsListMode | int | Block or allow publisher applications by their application identifiers: 0 - Blacklist, 1 - Whitelist. | optional |
| AppsList | array of int | List of App Lists' IDs to block or allow. | optional |
| Vertical | string | Offer type for the Campaign. | optional |
| Ron | int | Run of network - connect with all available publisher endpoints: 0 - Disabled, 1 - Enabled. | optional |
| WebEnabled | int | Enable Web traffic from connected supply endpoints. 0 - Disabled, 1 - Enabled. | optional |
| AppEnabled | int | Enable App traffic from connected supply endpoints. 0 - Disabled, 1 - Enabled. | optional |
| BuyingType | int | Buy all available traffic or buy traffic smoothly. 0 - All Available, 1 - Smoothly. | optional |
| ConversionDelay | int | Time frame (sec) in which conversion should occur after generating click ID. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
Macros
| Macro | Description |
|---|---|
| {cc} | Lowercase country code will be replaced. |
| {CC} | Uppercase country code will be replaced. |
| {Country} | Capitalized country name will be replaced. |
| {ip} | IP will be replaced. |
| {ua} | User-agent string will be replaced. |
| {width} | Width will be replaced. |
| {height} | Height will be replaced. |
| {site_url} | Site URL will be replaced. |
| {app_bundle} | App Bundle will be replaced. |
| {app_name} | App Name will be replaced. |
| {app_store_url} | App Store URL will be replaced. |
| {cb} | Cache buster: a uniquely generated character sequence for each link in order to prevent page caching. |
| {timestamp} | Timestamp generated at the time of transaction. |
| {schain} | Serialized schain parameter. |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Duplicate Campaign
To duplicate Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 2,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint duplicates Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/duplicate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | ID of Campaign to duplicate. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Campaign
To update Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1,
"Name": "Campaign 1",
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"RulesEnabled": 1,
"Budget": 0.0,
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
| Name | string | Campaign's name. | optional |
| PricingType | int | Pricing type for Campaign: 0 - CPM, 1 - CPC, 2 - CPA. | optional |
| ConversionsDailyLimit | int | Number of conversions per day. The system will even out distribution of actions throughout the day, ie. "day shaping". Set to 0 for unlimited conversions. | optional |
| ImpressionsDailyLimit | int | Number of impressions per day. The system will even out distribution of impressions throughout the day, ie. "day shaping". Set to 0 for unlimited impressions. | optional |
| ClicksDailyLimit | int | Number of clicks allowed per day. The system will even out distribution of clicks throughout the day, ie. "day shaping". Set to 0 for unlimited clicks. | optional |
| ClicksLimitPerIp | int | Daily limit of clicks per IP address. Set to 0 for unlimited clicks per IP address. | optional |
| SpentDailyLimit | float | Maximum daily amount (USD) to spend on Campaign. Set to 0 for unlimited amount. | optional |
| AdDomainBrand | string | Domain or brand name of your advertised product. | optional |
| AdAppBundle | string | Application identifier of your advertised application. On Android, this should be bundle or package name (e.g., com.foo.mygame), on iOS, this is numeric ID. | optional |
| DestinationUrl | string | Destination URL that loads when user clicks an ad. See below the list of macros that can be put inside the URL. | required |
| AdIabCategories | array of strings | IAB categories of Ad. See Info -> Get IAB categories for a list of available categories. | optional |
| AdAttributes | array of int | Ad attributes. See ORTB Info -> ORTB Creative Attribute for a list of available ad attributes. | optional |
| CountriesRevenue | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| CountriesSpent | array of object | Array of Country objects that should be sent like in JSON example. CC values in objects must be ISO-3166-1-alpha-2 country codes. See Info -> Get countries for a list of available countries. | optional |
| SitesSpent | array of object | Array of objects that should be sent like in JSON example. Site values in objects must be canonical domain. | optional |
| AppsSpent | array of object | Array of objects that should be sent like in JSON example. App values in objects must be application identifiers. On Android, these should be bundle or package names (e.g., com.foo.mygame), on iOS, these are numeric IDs. | optional |
| RtbEpsSpent | array of object | Array of objects that should be sent like in JSON example. RtbEpId values in objects must be IDs of existing RTB EPs. | optional |
| Os | array of object | Array of Os objects that should be sent like in JSON example. Not all operating systems have their versions, so for them you don't have to include Versions array in object. See Info -> Get operating systems for a list of available operating systems and their versions. | optional |
| Browsers | array of object | Array of Browser objects that should be sent like in JSON example. Not all web browsers have their versions, so for them you don't have to include Versions array in object. See Info -> Get web browsers for a list of available web browsers and their versions. | optional |
| DeviceTypes | array of int | Array of Device Type Rev objects that should be sent like in JSON example. See ORTB Info -> ORTB Device Type Rev for a list of available device types. | optional |
| Languages | array of strings | Languages for audience (device) targeting. Language must be in two-letter language code (ISO-639-1-alpha-2). | optional |
| ConnectionType | int | Connection type of the user's device: 0 - All, 1 - 3G/LTE, 2 - Wi-Fi/Broadband. | optional |
| BannerEps | array of int | Array of Banner EPs' IDs to connect to the Campaign. This will make the Campaign's Ad appear for Banner EP if all the targeting is matched. | optional |
| VastTags | array of int | Array of VAST Tags' IDs to connect to the Campaign. This will make the Campaign's Ad appear for VAST Tag if all the targeting is matched. | optional |
| RtbEps | array of int | Array of RTB EPs' IDs to connect to the Campaign. This will make the Campaign's Ad appear in RTB EP response if all the targeting is matched. | optional |
| PopFeeds | array of int | Array of XML Pop Feeds' IDs to connect to the Campaign. This will make the Campaign's Ad appear in XML Pop Feed response if all the targeting is matched. | optional |
| Tags | array of int | List of Tags' IDs. | optional |
| RulesEnabled | int | Enable Optimisation Rules for the Campaign. 0 - Disabled, 1 - Enabled. | optional |
| Budget | float | Campaign budget. Set to 0 for unlimited amount. | optional |
| DomainsBrandsTargeting | int | Enable Websites targeting. 0 - Disabled, 1 - Enabled. | optional |
| DomainsBrandsListMode | int | Block or allow publisher domains or brand names: 0 - Blacklist, 1 - Whitelist. | optional |
| DomainsBrandsList | array of int | List of Domain Lists' IDs to block or allow. | optional |
| AppsTargeting | int | Enable Apps targeting. 0 - Disabled, 1 - Enabled. | optional |
| AppsListMode | int | Block or allow publisher applications by their application identifiers: 0 - Blacklist, 1 - Whitelist. | optional |
| AppsList | array of int | List of App Lists' IDs to block or allow. | optional |
| Vertical | string | Offer type for the Campaign. | optional |
| Ron | int | Run of network - connect with all available supply endpoints: 0 - Disabled, 1 - Enabled. | optional |
| WebEnabled | int | Enable Web traffic from connected supply endpoints. 0 - Disabled, 1 - Enabled. | optional |
| AppEnabled | int | Enable App traffic from connected supply endpoints. 0 - Disabled, 1 - Enabled. | optional |
| BuyingType | int | Buy all available traffic or buy traffic smoothly. 0 - All Available, 1 - Smoothly. | optional |
| ConversionDelay | int | Time frame (sec) in which conversion should occur after generating click ID. | optional |
| NonEmptyReferer | int | Ad impression or click with no referer will be filtered: 1 - Enabled, 0 - Disabled. | optional |
| RefererMatch | int | Referer in ad impression or click and site URL should match: 1 - Enabled, 0 - Disabled. | optional |
| IpMatch | int | Real user's IP address in ad impression or click and user IP parameter should match: 1 - Enabled, 0 - Disabled. | optional |
| UaMatch | int | Real user's User Agent in ad impression or click and user agent parameter should match: 1 - Enabled, 0 - Disabled. | optional |
Macros
| Macro | Description |
|---|---|
| {cc} | Lowercase country code will be replaced. |
| {CC} | Uppercase country code will be replaced. |
| {Country} | Capitalized country name will be replaced. |
| {ip} | IP will be replaced. |
| {ua} | User-agent string will be replaced. |
| {width} | Width will be replaced. |
| {height} | Height will be replaced. |
| {site_url} | Site URL will be replaced. |
| {app_bundle} | App Bundle will be replaced. |
| {app_name} | App Name will be replaced. |
| {app_store_url} | App Store URL will be replaced. |
| {cb} | Cache buster: a uniquely generated character sequence for each link in order to prevent page caching. |
| {timestamp} | Timestamp generated at the time of transaction. |
| {schain} | Serialized schain parameter. |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Campaign CC
To update Campaign CC, send JSON structured like this:
{
"Campaign": {
"Id": 1,
"CC": "US",
"BidCpm": 0.5,
"Paused": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 1
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 0.5
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Campaign's CC.
HTTP Request
POST https://adelion.com/api/ortb/campaign/update/cc
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
| CC | string | Value that must be ISO-3166-1-alpha-2 country code. | required |
| BidCpm | float | CPM price for selected country. | optional |
| Paused | int | Pause traffic from selected country. 0 - Not Paused, 1 - Paused. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Campaign RTB EP
To update Campaign RTB EP, send JSON structured like this:
{
"Campaign": {
"Id": 1,
"RtbEpId": 4,
"BidCpm": 0.5,
"Paused": 0
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 1
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 0.5
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
},
{
"RtbEpId": 4,
"Price": 0.5
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Campaign's RTB EP.
HTTP Request
POST https://adelion.com/api/ortb/campaign/update/rtbep
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
| RtbEpId | int | RTB EP ID to manage for Campaign. | required |
| BidCpm | float | CPM price for selected RTB EP. | optional |
| Paused | int | Pause traffic from selected RTB EP. 0 - Not Paused, 1 - Paused. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Campaign Target
To update Campaign Target, send JSON structured like this:
{
"Campaign": {
"Id": 1,
"Target": "app_com.mygame.app",
"BidCpm": 0.5,
"Paused": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 1
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 0.5
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
},
{
"App": "com.mygame.app",
"Price": 0.5
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1",
"com.mygame.app"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Campaign's Target.
HTTP Request
POST https://adelion.com/api/ortb/campaign/update/target
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
| Target | string | Target name. For apps it must start with "app_" and for web sites it must start with "site_". | required |
| BidCpm | float | CPM price for selected Target. | optional |
| Paused | int | Pause traffic from selected Target. 0 - Not Paused, 1 - Paused. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Campaign Creative
To update Campaign Creative, send JSON structured like this:
{
"Campaign": {
"Id": 1,
"CreativeId": 3,
"Paused": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 1
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 0.5
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
},
{
"RtbEpId": 4,
"Price": 0.5
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15,
3
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Campaign's RTB EP.
HTTP Request
POST https://adelion.com/api/ortb/campaign/update/creative
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
| CreativeId | int | Creative ID to manage for Campaign. | required |
| Paused | int | Pause traffic for selected Creative. 0 - Not Paused, 1 - Paused. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate Campaign
To activate a Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates Campaign. Campaign is active by default, so you shouldn't make this request unless the Campaign is inactive.
HTTP Request
POST https://adelion.com/api/ortb/campaign/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Pause Campaign
To pause a Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 3,
"StatusString": "Paused",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint pauses Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/pause
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate Campaign
To deactivate a Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 1,
"StatusString": "Inactive",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete Campaign
To delete a Campaign, send JSON structured like this:
{
"Campaign": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Campaign": {
"Id": 1,
"TeamId": 1,
"AdvertiserId": 1,
"AdvertiserName": "Advertiser",
"Name": "Campaign 1",
"AdType": 1,
"PricingType": 0,
"ConversionsDailyLimit": 0,
"ImpressionsDailyLimit": 0,
"ClicksDailyLimit": 0,
"ClicksLimitPerIp": 5,
"SpentDailyLimit": 0.0,
"AdDomainBrand": "domainbrand",
"AdAppBundle": "com.foo.mygame",
"DestinationUrl": "https://mygame.com/landing",
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 2,
"StatusString": "Deleted",
"AdsCount": 1,
"RulesCount": 1,
"AdIabCategories": [
"IAB1-1",
"IAB2-1",
"IAB3"
],
"AdAttributes": [
8,
9
],
"CountriesRevenue": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0,
"Paused": 0
}
],
"CountriesSpent": [
{
"CC": "US",
"Country": "United States",
"Price": 1.0
}
],
"SitesSpent": [
{
"Site": "site.com",
"Price": 1.0
}
],
"AppsSpent": [
{
"App": "com.foo.mygame",
"Price": 1.0
}
],
"RtbEpsSpent": [
{
"RtbEpId": 2,
"Price": 1.0
}
],
"Os": [
{
"Family": "Windows",
"Versions": [
{
"Major": "10",
"Minor": ""
}
]
}
],
"Browsers": [
{
"Family": "Chrome"
}
],
"DeviceTypes": [
1,
2,
3,
4,
5
],
"Languages": [
"en",
"fr"
],
"ConnectionType": 0,
"PausedPublishers": [
29,
65
],
"PausedCreatives": [
11,
15
],
"PausedSites": [
"site1.com"
],
"PausedApps": [
"com.bundle1"
],
"BannerEps": [
1
],
"VastTags": [
1
],
"RtbEps": [
1
],
"PopFeeds": [
1
],
"Tags": [
1
],
"TimeStarted": 1721658668,
"RulesEnabled": 1,
"Budget": 0.0,
"BudgetLifetimeSpent": 0.0,
"DomainsBrandsTargeting": 1,
"DomainsBrandsListMode": 0,
"DomainsBrandsList": [
1
],
"AppsTargeting": 1,
"AppsListMode": 0,
"AppsList": [
1
],
"Vertical": "Games",
"Ron": 0,
"WebEnabled": 1,
"AppEnabled": 1,
"BuyingType": 0,
"ConversionDelay": 3600,
"NonEmptyReferer": 1,
"RefererMatch": 1,
"IpMatch": 1,
"UaMatch": 1
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Campaign.
HTTP Request
POST https://adelion.com/api/ortb/campaign/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Campaign ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Ads
Get Ad
To get Ad, send query parameter like this: Id=1 or CampaignId=1 or AccManagerId=5
Or if you want to get all Ads, don't include either of Id or CampaignId or AccManagerId parameters, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Ad(s).
HTTP Request
GET https://adelion.com/api/ortb/ad/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID, if sent, request will fetch Ad with exact ID, otherwise it fill fetch all Ads. | optional |
| CampaignId | int | Campaign ID, if sent, request will fetch Ads with exact Campaign ID, otherwise it fill fetch all Ads. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Ads with exact Account Manager ID (User ID), otherwise it fill fetch all Ads. | optional |
| ActiveOnly | int | Request will fetch only active Ads if set to 1, otherwise it fill fetch all Ads. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Get Ad Short
To get Ad, send query parameter like this: Id=1 or CampaignId=1 or AccManagerId=5
Or if you want to get all Ads, don't include either of Id or CampaignId or AccManagerId parameters, or set them as 0.
Success JSON:
{
"Id": 1,
"Name": "Ad 1",
"AccManagerId": 5,
"Status": 0
}
Success JSON for multiple:
[
{
"Id": 1,
"AdType": 1,
"Name": "Ad 1",
"AccManagerId": 5,
"Status": 0
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Ad(s).
HTTP Request
GET https://adelion.com/api/ortb/ad/get/short
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID, if sent, request will fetch Ad with exact ID, otherwise it fill fetch all Ads. | optional |
| CampaignId | int | Campaign ID, if sent, request will fetch Ads with exact Campaign ID, otherwise it fill fetch all Ads. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Ads with exact Account Manager ID (User ID), otherwise it fill fetch all Ads. | optional |
| ActiveOnly | int | Request will fetch only active Ads if set to 1, otherwise it fill fetch all Ads. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add Ad
To add an Ad, send JSON structured like this:
{
"Ad": {
"CampaignId": 1,
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
]
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 0,
"Overlays": [],
"CompanionsCount": 0,
"Companions": [],
"IconsCount": 0,
"Icons": [],
"NativeAssetsCount": 0,
"NativeAssets": [],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds an Ad.
HTTP Request
POST https://adelion.com/api/ortb/ad/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| CampaignId | int | Owner Campaign's ID. | required |
| CreativegroupId | int | ID of the Creative Group that is used to copy creatives from. | optional |
| AdType | int | Ad Type: 1 - Banner, 2 - Video, 3 - Audio, 4 - Native, 5 - Pop. | required |
| Name | string | Ad's name. | required |
| Title | string | Ad title. | required |
| Skipoffset | int | Number of seconds when the skip control appears after the creative begins playing. Set to -1 to make creative non-skippable. | optional |
| AdPosition | int | Position on screen. See Info -> ORTB Ad Position for a list of available ad positions. | optional |
| Placement | int | Video placement type. See Info -> ORTB Placement for a list of available video placement types. | optional |
| Delivery | int | Video delivery method. See Info -> ORTB Content Delivery Method for a list of available content delivery methods. | optional |
| PlaybackStart | int | Video playback start method. See Info -> ORTB Video Playback Method for a list of available video playback methods. | optional |
| PlaybackEnd | int | The event that causes video playback to end. See Info -> ORTB Video Playback Cessation Mode for a list of available video playback end methods. | optional |
| Interstitial | int | Determines if Ad creatives are used for an interstitial ad. See Info -> ORTB Interstitial for a list of available interstitial values. | optional |
| Creatives | array of int | Array of Creatives' IDs to assign to the Ad. Creatives must be with type Video (1). | required |
| Layout | int | The Layout ID of the native ad unit. See Info -> ORTB Native Layout ID for a list of available layout IDs. | optional |
| AdUnit | int | The Ad unit ID of the native ad unit. See Info -> ORTB Native Unit ID for a list of available ad unit IDs. | optional |
| Context | int | The context in which the ad appears. See Info -> ORTB Native Context Type ID for a list of available ad context IDs. | optional |
| ContextSubtype | int | A more detailed context in which the ad appears. See Info -> ORTB Native Context SubType ID for a list of available ad context subtype IDs. | optional |
| PlcmtType | int | The design/format/layout of the ad unit being offered. See Info -> ORTB Native Placement Type ID for a list of available placement type IDs. | optional |
| LinkClicktrackers | array of strings | List of third-party tracker URLs to be fired on click of the URL. | optional |
| LinkFallback | string | Fallback URL for deeplink. To be used if the URL given in Destination URL is not supported by the device. | optional |
| Imptrackers | array of strings | Impression tracking URLs, expected to return a 1x1 image or 204 response - typically only passed when using 3rd party trackers. | optional |
| Jstracker | string | Optional JavaScript impression tracker. This is a valid HTML, Javascript is already wrapped in <script> tags. |
optional |
| PrivacyUrl | string | Privacy notice URL. | optional |
| EventTrackers | array of object | Array of Event Tracker objects that should be sent like in JSON example. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Duplicate Ad
To duplicate Ad, send JSON structured like this:
{
"Ad": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 2,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 3,
"TeamId": 1,
"AdId": 2,
"Name": "Overlay 2",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 4,
"TeamId": 1,
"AdId": 2,
"DspVastTagId": 0,
"Name": "Companion 2",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 2,
"Name": "Icon 2",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint duplicates Ad.
HTTP Request
POST https://adelion.com/api/ortb/ad/duplicate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | ID of Ad to duplicate. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update Ad
To update Ad, send JSON structured like this:
{
"Ad": {
"Id": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
]
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Ad.
HTTP Request
POST https://adelion.com/api/ortb/ad/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID. | required |
| Name | string | Ad's name. | optional |
| Title | string | Ad title. | optional |
| Skipoffset | int | Number of seconds when the skip control appears after the creative begins playing. Set to -1 to make creative non-skippable. | optional |
| AdPosition | int | Position on screen. See Info -> ORTB Ad Position for a list of available ad positions. | optional |
| Placement | int | Video placement type. See Info -> ORTB Placement for a list of available video placement types. | optional |
| Delivery | int | Video delivery method. See Info -> ORTB Content Delivery Method for a list of available content delivery methods. | optional |
| PlaybackStart | int | Video playback start method. See Info -> ORTB Video Playback Method for a list of available video playback methods. | optional |
| PlaybackEnd | int | The event that causes video playback to end. See Info -> ORTB Video Playback Cessation Mode for a list of available video playback end methods. | optional |
| Interstitial | int | Determines if Ad creatives are used for an interstitial ad. See Info -> ORTB Interstitial for a list of available interstitial values. | optional |
| Creatives | array of int | Array of Creatives' IDs to assign to the Ad. Creatives must be with type Video (1). | required |
| Layout | int | The Layout ID of the native ad unit. See Info -> ORTB Native Layout ID for a list of available layout IDs. | optional |
| AdUnit | int | The Ad unit ID of the native ad unit. See Info -> ORTB Native Unit ID for a list of available ad unit IDs. | optional |
| Context | int | The context in which the ad appears. See Info -> ORTB Native Context Type ID for a list of available ad context IDs. | optional |
| ContextSubtype | int | A more detailed context in which the ad appears. See Info -> ORTB Native Context SubType ID for a list of available ad context subtype IDs. | optional |
| PlcmtType | int | The design/format/layout of the ad unit being offered. See Info -> ORTB Native Placement Type ID for a list of available placement type IDs. | optional |
| LinkClicktrackers | array of strings | List of third-party tracker URLs to be fired on click of the URL. | optional |
| LinkFallback | string | Fallback URL for deeplink. To be used if the URL given in Destination URL is not supported by the device. | optional |
| Imptrackers | array of strings | Impression tracking URLs, expected to return a 1x1 image or 204 response - typically only passed when using 3rd party trackers. | optional |
| Jstracker | string | Optional JavaScript impression tracker. This is a valid HTML, Javascript is already wrapped in <script> tags. |
optional |
| PrivacyUrl | string | Privacy notice URL. | optional |
| EventTrackers | array of object | Array of Event Tracker objects that should be sent like in JSON example. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate Ad
To activate an Ad, send JSON structured like this:
{
"Ad": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates Ad. Ad is active by default, so you shouldn't make this request unless the Ad is inactive.
HTTP Request
POST https://adelion.com/api/ortb/ad/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate Ad
To deactivate an Ad, send JSON structured like this:
{
"Ad": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates Ad.
HTTP Request
POST https://adelion.com/api/ortb/ad/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete Ad
To delete an Ad, send JSON structured like this:
{
"Ad": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Ad": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"CreativegroupId": 0,
"AdType": 1,
"Name": "Ad 1",
"Title": "MyGame",
"Skipoffset": -1,
"AdPosition": 4,
"Placement": 1,
"Delivery": 2,
"PlaybackStart": 1,
"PlaybackEnd": 1,
"Interstitial": -1,
"Creatives" : [
2
],
"Layout": 1,
"AdUnit": 1,
"Context": 1,
"ContextSubtype": 1,
"PlcmtType": 1,
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Imptrackers": [
"https://imptracker1",
"https://imptracker2"
],
"Jstracker": "..html..",
"PrivacyUrl": "https://privacy",
"EventTrackers": [
{
"event": 1,
"method": 1,
"url": "https://eventtracker1"
},
{
"event": 1,
"method": 2,
"url": "https://eventtracker2"
}
],
"OverlaysCount": 1,
"Overlays": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
],
"CompanionsCount": 1,
"Companions": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"IconsCount": 1,
"Icons": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
],
"NativeAssetsCount": 1,
"NativeAssets": [
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
],
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Ad.
HTTP Request
POST https://adelion.com/api/ortb/ad/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Ad ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Native Assets
Get ORTB Native Asset
To get Native Asset, send query parameter like this: Id=1 or AdId=1
Or if you want to get all Native Assets, don't include either of Id or AdId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Native Asset(s).
HTTP Request
GET https://adelion.com/api/ortb/nativeasset/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Native Asset ID, if sent, request will fetch Native Asset with exact ID, otherwise it fill fetch all Native Assets. | optional |
| AdId | int | Native Ad ID, if sent, request will fetch Native Assets with exact Native Ad ID, otherwise it fill fetch all Native Assets. | optional |
| ActiveOnly | int | Request will fetch only active Native Assets if set to 1, otherwise it fill fetch all Native Assets. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Native Asset
To add Native Asset, send JSON structured like this:
{
"Nativeasset": {
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0
}
}
Success JSON:
{
"Status": "Ok",
"Nativeasset": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Native Asset.
HTTP Request
POST https://adelion.com/api/ortb/nativeasset/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| AdId | int | Owner Native Ad's ID. | required |
| Type | int | Type of Native Asset. See Info -> ORTB Native Asset Type for a list of available values. | required |
| Name | string | Native Asset's name. | required |
| TitleText | int | Text of the Native Asset Title. Required and applicable only if Type is 0 (Title). | required if Type=0 |
| ImgType | int | Type of Native Asset Image. Required and applicable only if Type is 1 (Image). See Info -> ORTB Native Image Asset Type for a list of available values. | required if Type=1 |
| ImgCreativeId | int | ID of a Creative to use as an image resource for Native Asset. Required and applicable only if Type is 1 (Image). See ORTB Creative Library -> Get ORTB Creative for additional info. | required if Type=1 |
| VideoCreativeId | int | ID of a Creative to use as a video resource for Native Asset. Required and applicable only if Type is 2 (Video). See ORTB Creative Library -> Get ORTB Creative for additional info. | required if Type=2 |
| DataType | int | Type of Native Asset Data. Required and applicable only if Type is 3 (Data). See Info -> ORTB Native Data Asset Type for a list of available values. | required if Type=3 |
| DataLabel | string | The optional formatted string name of the data type to be displayed. Optional but applicable only if Type is 3 (Data). | optional if Type=3 |
| DataValue | string | The formatted string of data to be displayed. Required and applicable only if Type is 3 (Data). | required if Type=3 |
| LinkUrl | string | Landing URL of the clickable link. If the asset doesn't have a Link URL, the parent Native Ad Destination URL applies. | optional |
| LinkClicktrackers | array of strings | List of third-party tracker URLs to be fired on click of the URL. If the asset doesn't have a Link Click Trackers, the parent Native Ad Link Click Trackers applies. | optional |
| LinkFallback | string | Fallback URL for deeplink. To be used if the URL given in Destination URL is not supported by the device. If the asset doesn't have a Link Fallback, the parent Native Ad Link Fallback applies. | optional |
| Required | int | Native Asset is required to be displayed by publisher: 1 - Enabled, 0 - Disabled. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB Native Asset
To update Native Asset, send JSON structured like this:
{
"Nativeasset": {
"Id": 1,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0
}
}
Success JSON:
{
"Status": "Ok",
"Nativeasset": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Native Asset.
HTTP Request
POST https://adelion.com/api/ortb/nativeasset/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Native Asset ID. | required |
| Name | string | Native Asset's name. | required |
| TitleText | int | Text of the Native Asset Title. Required and applicable only if Type is 0 (Title). | required if Type=0 |
| ImgType | int | Type of Native Asset Image. Required and applicable only if Type is 1 (Image). See Info -> ORTB Native Image Asset Type for a list of available values. | required if Type=1 |
| ImgCreativeId | int | ID of a Creative to use as an image resource for Native Asset. Required and applicable only if Type is 1 (Image). See ORTB Creative Library -> Get ORTB Creative for additional info. | required if Type=1 |
| VideoCreativeId | int | ID of a Creative to use as a video resource for Native Asset. Required and applicable only if Type is 2 (Video). See ORTB Creative Library -> Get ORTB Creative for additional info. | required if Type=2 |
| DataType | int | Type of Native Asset Data. Required and applicable only if Type is 3 (Data). See Info -> ORTB Native Data Asset Type for a list of available values. | required if Type=3 |
| DataLabel | string | The optional formatted string name of the data type to be displayed. Optional but applicable only if Type is 3 (Data). | optional if Type=3 |
| DataValue | string | The formatted string of data to be displayed. Required and applicable only if Type is 3 (Data). | required if Type=3 |
| LinkUrl | string | Landing URL of the clickable link. If the asset doesn't have a Link URL, the parent Native Ad Destination URL applies. | optional |
| LinkClicktrackers | array of strings | List of third-party tracker URLs to be fired on click of the URL. If the asset doesn't have a Link Click Trackers, the parent Native Ad Link Click Trackers applies. | optional |
| LinkFallback | string | Fallback URL for deeplink. To be used if the URL given in Destination URL is not supported by the device. If the asset doesn't have a Link Fallback, the parent Native Ad Link Fallback applies. | optional |
| Required | int | Native Asset is required to be displayed by publisher: 1 - Enabled, 0 - Disabled. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB Native Asset
To delete Native Asset, send JSON structured like this:
{
"Nativeasset": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Nativeasset": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Type": 0,
"Name": "Native asset 1",
"TitleText": "Test native ad text!",
"ImgType": -1,
"ImgCreativeId": 0,
"VideoCreativeId": 0,
"DataType": -1,
"DataLabel": "",
"DataValue": "",
"LinkUrl": "https://mygame.com/landing",
"LinkClicktrackers": [
"https://clicktracker1",
"https://clicktracker2"
],
"LinkFallback": "https://fallback",
"Required": 0,
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Native Asset.
HTTP Request
POST https://adelion.com/api/ortb/nativeasset/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Native Asset ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Creatives
Get ORTB Creative
To get Creative, send query parameter like this: Id=1
Or if you want to get all Creatives, don't include Id parameter, or set it as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"Type": 0,
"Mime": 2,
"Name": "image_1_20211029214520",
"Cdn": "https://rtbme.b-cdn.net/images/image_1_20211029214520.jpg",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 1,
"Width": 728,
"Height": 90,
"WidthRatio": 364,
"HeightRatio": 45,
"FileSize": 42844,
"Duration": 30,
"Bitrate": 128,
"Framerate": 30,
"Codec": "h264",
"Checksum": "71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece",
"Html": "",
"Status": 0,
"StatusString": "Active",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [
1
],
"Creativegroups": []
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"Type": 0,
"Mime": 2,
"Name": "image_1_20211029214520",
"Cdn": "https://rtbme.b-cdn.net/images/image_1_20211029214520.jpg",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 1,
"Width": 728,
"Height": 90,
"WidthRatio": 364,
"HeightRatio": 45,
"FileSize": 42844,
"Duration": 30,
"Bitrate": 128,
"Framerate": 30,
"Codec": "h264",
"Checksum": "71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece",
"Html": "",
"Status": 0,
"StatusString": "Active",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [
1
],
"Creativegroups": []
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Creative(s).
HTTP Request
GET https://adelion.com/api/ortb/creative/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative ID, if sent, request will fetch Creative with exact ID, otherwise it fill fetch all Creatives. | optional |
| ActiveOnly | int | Request will fetch only active Creatives if set to 1, otherwise it fill fetch all Creatives. | optional |
Type and Mime
| Type | Type name | Mime | Mime name | Description |
|---|---|---|---|---|
| 0 | Image | 1 | PNG | PNG image |
| 0 | Image | 2 | JPEG | JPEG image |
| 1 | Video | 3 | MPEG4 | MPEG4 video |
| 1 | Video | 4 | WEBM | WEBM video |
| 1 | Video | 5 | 3GP | 3GP video |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Download ORTB Creative
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads Creative file.
HTTP Request
GET https://adelion.com/api/ortb/creative/download
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| id | int | Creative ID. | required |
| auth | string | Authorization string which is received from Get OTB Creative result. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Creative (upload)
To add Creative by file upload, send body containing file with Content-Type header described in Content Types section.
Success JSON:
{
"Status": "Ok",
"Creative": {
"Id": 1,
"TeamId": 1,
"Type": 0,
"Mime": 2,
"Name": "image_1_20211029214520",
"Cdn": "https://rtbme.b-cdn.net/images/image_1_20211029214520.jpg",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 1,
"Width": 728,
"Height": 90,
"WidthRatio": 364,
"HeightRatio": 45,
"FileSize": 42844,
"Duration": 30,
"Bitrate": 128,
"Framerate": 30,
"Codec": "h264",
"Checksum": "71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece",
"Html": "",
"Status": 0,
"StatusString": "Active",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [],
"Creativegroups": []
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Creative by uploading file. File should be sent inside request body, with Content-Type header described below.
HTTP Request
POST https://adelion.com/api/ortb/creative/add/upload
Content Types
| Content-Type | Description | Type | Type name | Mime | Mime name |
|---|---|---|---|---|---|
| image/png | PNG image | 0 | Image | 1 | PNG |
| image/jpeg | JPEG image | 0 | Image | 2 | JPEG |
| video/mp4 | MPEG4 video | 1 | Video | 3 | MPEG4 |
| video/webm | WEBM video | 1 | Video | 4 | WEBM |
| video/3gp | 3GP video | 1 | Video | 5 | 3GP |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that doesn't contain regular file. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Creative (html)
To add Creative with HTML, send JSON structured like this:
{
"Creative": {
"Html": "<html>...</html>"
}
}
Success JSON:
{
"Status": "Ok",
"Creative": {
"Id": 1,
"TeamId": 1,
"Type": 2,
"Mime": 0,
"Name": "html_1_20211029214520",
"Cdn": "",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 1,
"Width": 0,
"Height": 0,
"WidthRatio": 0,
"HeightRatio": 0,
"FileSize": 0,
"Duration": 0,
"Bitrate": 0,
"Framerate": 0,
"Codec": "",
"Checksum": "",
"Html": "<html>...</html>",
"Status": 0,
"StatusString": "Active",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [],
"Creativegroups": []
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Creative with HTML.
HTTP Request
POST https://adelion.com/api/ortb/creative/add/html
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Html | string | HTML to be displayed as an ad. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that doesn't contain regular file. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB Creative
To update Creative, send JSON structured like this:
{
"Creative": {
"Id": 1,
"Name": "Creative 1",
"MediaRating": 2,
"Html": ""
}
}
Success JSON:
{
"Status": "Ok",
"Creative": {
"Id": 1,
"TeamId": 1,
"Type": 0,
"Mime": 2,
"Name": "Creative 1",
"Cdn": "https://rtbme.b-cdn.net/images/image_1_20211029214520.jpg",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 2,
"Width": 728,
"Height": 90,
"WidthRatio": 364,
"HeightRatio": 45,
"FileSize": 42844,
"Duration": 30,
"Bitrate": 128,
"Framerate": 30,
"Codec": "h264",
"Checksum": "71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece",
"Html": "",
"Status": 0,
"StatusString": "Active",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [
1
],
"Creativegroups": []
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Creative.
HTTP Request
POST https://adelion.com/api/ortb/creative/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative ID. | required |
| Name | string | Creative's name. | optional |
| MediaRating | int | Creative media rating per IQG guidelines. See Info -> ORTB Media Rating for a list of available values. | optional |
| Html | string | HTML to be displayed as an ad. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB Creative
To delete a Creative, send JSON structured like this:
{
"Creative": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Creative": {
"Id": 1,
"TeamId": 1,
"Type": 0,
"Mime": 2,
"Name": "image_1_20211029214520",
"Cdn": "https://rtbme.b-cdn.net/images/image_1_20211029214520.jpg",
"Auth": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"MediaRating": 1,
"Width": 728,
"Height": 90,
"WidthRatio": 364,
"HeightRatio": 45,
"FileSize": 42844,
"Duration": 30,
"Bitrate": 128,
"Framerate": 30,
"Codec": "h264",
"Checksum": "71944d7430c461f0cd6e7fd10cee7eb72786352a3678fc7bc0ae3d410f72aece",
"Html": "",
"Status": 2,
"StatusString": "Deleted",
"DownloadUrl": "/api/ortb/creative/download?id=1&auth=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"Ads": [
1
],
"Creativegroups": []
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Creative.
HTTP Request
POST https://adelion.com/api/ortb/creative/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Creative Groups
Get ORTB Creative Group
To get Creative Group, send query parameter like this: Id=1
Or if you want to get all Creative Groups, don't include Id parameter, or set it as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Creative Group(s).
HTTP Request
GET https://adelion.com/api/ortb/creativegroup/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID, if sent, request will fetch Creative Group with exact ID, otherwise it fill fetch all Creative Groups. | optional |
| ActiveOnly | int | Request will fetch only active Creative Groups if set to 1, otherwise it fill fetch all Creative Groups. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Get ORTB Creative Group Short
To get Creative Group, send query parameter like this: Id=1
Or if you want to get all Creative Groups, don't include either of Id parameter, or set it as 0.
Success JSON:
{
"Id": 1,
"Name": "Creative group 1",
"Status": 0
}
Success JSON for multiple:
[
{
"Id": 1,
"Name": "Creative group 1",
"Status": 0
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Creative Group(s).
HTTP Request
GET https://adelion.com/api/ortb/creativegroup/get/short
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID, if sent, request will fetch Creative Group with exact ID, otherwise it fill fetch all Creative Groups. | optional |
| ActiveOnly | int | Request will fetch only active Creative Groups if set to 1, otherwise it fill fetch all Creative Groups. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Creative Group
To add a Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Name": "Creative group 1",
"Creatives" : [
1
]
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds a Creative Group.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Name | string | Creative Group's name. | required |
| Creatives | array of int | Array of Creatives' IDs to assign to the Creative Group. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Duplicate ORTB Creative Group
To duplicate Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 2,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint duplicates Creative Group.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/duplicate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | ID of Creative Group to duplicate. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB Creative Group
To update Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Id": 1,
"Name": "Creative group 1",
"Creatives" : [
1
]
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Creative Group.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID. | required |
| Name | string | Creative Group's name. | optional |
| Creatives | array of int | Array of Creatives' IDs to assign to the Creative Group. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Activate ORTB Creative Group
To activate a Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint activates Creative Group. Creative Group is active by default, so you shouldn't make this request unless the Creative Group is inactive.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/activate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Deactivate ORTB Creative Group
To deactivate a Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 1,
"StatusString": "Inactive"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deactivates Creative Group.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/deactivate
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB Creative Group
To delete a Creative Group, send JSON structured like this:
{
"Creativegroup": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Creativegroup": {
"Id": 1,
"TeamId": 1,
"Name": "Creative group 1",
"Creatives" : [
1
],
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Creative Group.
HTTP Request
POST https://adelion.com/api/ortb/creativegroup/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Creative Group ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Overlays
Get ORTB overlay
To get overlay, send query parameter like this: Id=1 or AdId=1
Or if you want to get all overlays, don't include either of Id or AdId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches overlay(s).
HTTP Request
GET https://adelion.com/api/ortb/overlay/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Overlay ID, if sent, request will fetch overlay with exact ID, otherwise it fill fetch all overlays. | optional |
| AdId | int | Video Ad ID, if sent, request will fetch overlays with exact Video Ad ID, otherwise it fill fetch all overlays. | optional |
| ActiveOnly | int | Request will fetch only active overlays if set to 1, otherwise it fill fetch all overlays. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB overlay
To add overlay, send JSON structured like this:
{
"Overlay": {
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1
}
}
Success JSON:
{
"Status": "Ok",
"Overlay": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds overlay.
HTTP Request
POST https://adelion.com/api/ortb/overlay/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| AdId | int | Owner Video Ad's ID. | required |
| Name | string | Overlay's name. | required |
| StaticCreativeId | int | ID of a Creative to use as a static resource for overlay. See ORTB Creative Library -> Get ORTB Creative for additional info. | optional |
| IframeUrl | string | URL of a resource that is an HTML page that can be displayed within an IFrame on the publisher's page. | optional |
| Html | string | A "snippet" of HTML code to be inserted directly within the publisher's HTML page code. | optional |
| Width | int | Width of the placement slot for which the overlay creative is intended. | required |
| Height | int | Height of the placement slot for which the overlay creative is intended. | required |
| MinDuration | int | Minimum duration in seconds to display an overlay ad. Set to 0 for any duration. | optional |
| MediaRating | int | Overlay media rating per IQG guidelines. See Info -> ORTB Media Rating for a list of available values. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB overlay
To update overlay, send JSON structured like this:
{
"Overlay": {
"Id": 1,
"Name": "Overlay 1",
"MinDuration": 15,
"MediaRating": 1
}
}
Success JSON:
{
"Status": "Ok",
"Overlay": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates overlay.
HTTP Request
POST https://adelion.com/api/ortb/overlay/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Overlay ID. | required |
| Name | string | Overlay's name. | optional |
| MinDuration | int | Minimum duration in seconds to display an overlay ad. Set to 0 for any duration. | optional |
| MediaRating | int | Overlay media rating per IQG guidelines. See Info -> ORTB Media Rating for a list of available values. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB overlay
To delete overlay, send JSON structured like this:
{
"Overlay": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Overlay": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Overlay 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"MinDuration": 15,
"MediaRating": 1,
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes overlay.
HTTP Request
POST https://adelion.com/api/ortb/overlay/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Overlay ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Companions
Get ORTB Companion
To get Companion, send query parameter like this: Id=1 or AdId=1 or DspVastTagId=1
Or if you want to get all Companions, don't include either of Id or AdId or DspVastTagId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Companion(s).
HTTP Request
GET https://adelion.com/api/ortb/companion/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Companion ID, if sent, request will fetch Companion with exact ID, otherwise it fill fetch all Companions. | optional |
| AdId | int | Video Ad ID, if sent, request will fetch Companions with exact Video Ad ID, otherwise it fill fetch all Companions. | optional |
| DspVastTagId | int | DSP VAST Tag ID, if sent, request will fetch Companions with exact DSP VAST Tag ID, otherwise it fill fetch all Companions. | optional |
| ActiveOnly | int | Request will fetch only active Companions if set to 1, otherwise it fill fetch all Companions. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Companion
To add Companion, send JSON structured like this:
{
"Companion": {
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com"
}
}
Success JSON:
{
"Status": "Ok",
"Companion": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds Companion.
HTTP Request
POST https://adelion.com/api/ortb/companion/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| AdId | int | Owner Video Ad's ID. | Either of AdId or DspVastTagId is required |
| DspVastTagId | int | Owner DSP VAST Tag's ID. | Either of AdId or DspVastTagId is required |
| Name | string | Companion's name. | required |
| StaticCreativeId | int | ID of a creative to use as a static resource for Companion. See ORTB Creative Library -> Get ORTB creative for additional info. | Either of StaticCreativeId or IframeUrl or Html is required |
| IframeUrl | string | URL of a resource that is an HTML page that can be displayed within an IFrame on the publisher's page. | Either of StaticCreativeId or IframeUrl or Html is required |
| Html | string | A "snippet" of HTML code to be inserted directly within the publisher's HTML page code. | Either of StaticCreativeId or IframeUrl or Html is required |
| Width | int | Width of the placement slot for which the Companion ad is intended. | required |
| Height | int | Height of the placement slot for which the Companion ad is intended. | required |
| DestinationUrl | string | Destination URL that loads when user clicks a Companion ad. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB Companion
To update Companion, send JSON structured like this:
{
"Companion": {
"Id": 1,
"Name": "Companion 1",
"DestinationUrl": "https://destinationurl.com"
}
}
Success JSON:
{
"Status": "Ok",
"Companion": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Companion.
HTTP Request
POST https://adelion.com/api/ortb/companion/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Companion ID. | required |
| Name | string | Companion's name. | optional |
| DestinationUrl | string | Destination URL that loads when user clicks a Companion ad. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB Companion
To delete Companion, send JSON structured like this:
{
"Companion": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Companion": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"DspVastTagId": 0,
"Name": "Companion 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"DestinationUrl": "https://destinationurl.com",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Companion.
HTTP Request
POST https://adelion.com/api/ortb/companion/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Companion ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Icons
Get ORTB icon
To get icon, send query parameter like this: Id=1 or AdId=1
Or if you want to get all icons, don't include either of Id or AdId parameter, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches icon(s).
HTTP Request
GET https://adelion.com/api/ortb/icon/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Icon ID, if sent, request will fetch icon with exact ID, otherwise it fill fetch all icons. | optional |
| AdId | int | Video Ad ID, if sent, request will fetch icons with exact Video Ad ID, otherwise it fill fetch all icons. | optional |
| ActiveOnly | int | Request will fetch only active icons if set to 1, otherwise it fill fetch all icons. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB icon
To add icon, send JSON structured like this:
{
"Icon": {
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com"
}
}
Success JSON:
{
"Status": "Ok",
"Icon": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds icon.
HTTP Request
POST https://adelion.com/api/ortb/icon/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| AdId | int | Owner Video Ad's ID. | required |
| Name | string | Icon's name. | required |
| StaticCreativeId | int | ID of a Creative to use as a static resource for icon. See ORTB Creative Library -> Get ORTB Creative for additional info. | optional |
| IframeUrl | string | URL of a resource that is an HTML page that can be displayed within an IFrame on the publisher's page. | optional |
| Html | string | A "snippet" of HTML code to be inserted directly within the publisher's HTML page code. | optional |
| Width | int | The width (in pixels) of the icon to be overlaid on the ad. | required |
| Height | int | The height (in pixels) of the icon to be overlaid on the ad. | required |
| PositionX | int | The horizontal alignment location (in pixels) that the video player uses to place the top-left corner of the icon relative to the ad display area (not necessarily the video player display area). A value of "0" (zero) is the leftmost point of the ad display area. | optional |
| PositionY | int | The vertical alignment location (in pixels) that the video player uses to place the top-left corner of the icon relative to the ad display area (not necessarily the video player display area). A value of "0" (zero) is the topmost point of the ad display area | optional |
| Duration | int | The amount of time in seconds, for which the video player should display the icon. If set to "0" (zero), the video player should display the icon while the ad is displayed or until the user interacts with the ad or the icon. | optional |
| OffsetSec | int | Number of seconds when the video player should display the icon after the creative begins playing. | optional |
| Program | string | Identifies the industry initiative that the icon supports. | required |
| DestinationUrl | string | Destination URL that loads when user clicks a icon ad. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB icon
To update icon, send JSON structured like this:
{
"Icon": {
"Id": 1,
"Name": "Icon 1",
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com"
}
}
Success JSON:
{
"Status": "Ok",
"Icon": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates icon.
HTTP Request
POST https://adelion.com/api/ortb/icon/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Icon ID. | required |
| Name | string | Icon's name. | optional |
| PositionX | int | The horizontal alignment location (in pixels) that the video player uses to place the top-left corner of the icon relative to the ad display area (not necessarily the video player display area). A value of "0" (zero) is the leftmost point of the ad display area. | optional |
| PositionY | int | The vertical alignment location (in pixels) that the video player uses to place the top-left corner of the icon relative to the ad display area (not necessarily the video player display area). A value of "0" (zero) is the topmost point of the ad display area | optional |
| Duration | int | The amount of time in seconds, for which the video player should display the icon. If set to "0" (zero), the video player should display the icon while the ad is displayed or until the user interacts with the ad or the icon. | optional |
| OffsetSec | int | Number of seconds when the video player should display the icon after the creative begins playing. | optional |
| Program | string | Identifies the industry initiative that the icon supports. | optional |
| DestinationUrl | string | Destination URL that loads when user clicks a icon ad. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB icon
To delete icon, send JSON structured like this:
{
"Icon": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Icon": {
"Id": 1,
"TeamId": 1,
"AdId": 1,
"Name": "Icon 1",
"StaticCreativeId": 1,
"IframeUrl": "https://example.com/iframe.html",
"Html": "<html></html>",
"Width": 300,
"Height": 250,
"PositionX" : 0,
"PositionY" : 0,
"Duration" : 10,
"OffsetSec" : 15,
"Program": "IconProgram",
"DestinationUrl": "https://destinationurl.com",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes icon.
HTTP Request
POST https://adelion.com/api/ortb/icon/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Icon ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ORTB Rules
Get ORTB Rule
To get Rule, send query parameter like this: Id=1 or CampaignId=1 or AccManagerId=5
Or if you want to get all Rules, don't include either of Id or CampaignId or AccManagerId parameters, or set them as 0.
Success JSON:
{
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
Success JSON for multiple:
[
{
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches Rule(s).
HTTP Request
GET https://adelion.com/api/ortb/rule/get
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Rule ID, if sent, request will fetch Rule with exact ID, otherwise it fill fetch all Rules. | optional |
| CampaignId | int | Campaign ID, if sent, request will fetch Rules with exact Campaign ID, otherwise it fill fetch all Rules. | optional |
| AccManagerId | int | Account Manager ID, if sent, request will fetch Rules with exact Account Manager ID (User ID), otherwise it fill fetch all Rules. | optional |
| ActiveOnly | int | Request will fetch only active Rules if set to 1, otherwise it fill fetch all Rules. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Add ORTB Rule
To add one Rule at a time, send JSON structured like this:
{
"Rule": {
"CampaignId": 1,
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12
}
}
Success JSON:
{
"Status": "Ok",
"Rule": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
To add multiple Rules at a time, send JSON structured like this:
{
"Rules": [
{
"CampaignId": 1,
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12
},
{
"CampaignId": 1,
"Subject": 1,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 300,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 20,
"PeriodHours": 24
}
]
}
Success JSON for multiple:
{
"Status": "Ok",
"Rules": [
{
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
},
{
"Id": 2,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 1,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 300,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 20,
"PeriodHours": 24,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint adds a Rule.
HTTP Request
POST https://adelion.com/api/ortb/rule/add
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| CampaignId | int | Owner Campaign's ID. | required |
| Subject | int | Subject: 0 - Target, 1 - Publisher, 2 - Campaign, 3 - Geo. | required |
| Object1 | int | First object: 0 - Impressions, 1 - Clicks, 2 - Spent. | required |
| Object1ValDouble | float | First object's decimal value. Applicable only if first object is Spent. | required |
| Object1ValUint | int | First object's whole number value. Applicable only if first object is Impressions or Clicks. | required |
| Object2 | int | Second object: 0 - ROI, 1 - Conversions, 2 - eCPA, 3 - CR, 4 - CTR. | required |
| Object2Comp | int | Second object's comparison method: 0 - Less, 1 - Greater. | required |
| Object2ValDouble | float | Second object's decimal value. Applicable only if first object is ROI, eCPA, CR or CTR. | required |
| Object2ValUint | int | Second object's whole number value. Applicable only if first object is Conversions. | required |
| PeriodHours | int | Period (hours) within which rule will be activated (Subject will be paused) if the condition is met. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Update ORTB Rule
To update Rule, send JSON structured like this:
{
"Rule": {
"Id": 1,
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12
}
}
Success JSON:
{
"Status": "Ok",
"Rule": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 0,
"StatusString": "Active"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint updates Rule.
HTTP Request
POST https://adelion.com/api/ortb/rule/update
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Rule ID. | required |
| Subject | int | Subject: 0 - Target, 1 - Publisher, 2 - Campaign, 3 - Geo. | required |
| Object1 | int | First object: 0 - Impressions, 1 - Clicks, 2 - Spent. | required |
| Object1ValDouble | float | First object's decimal value. Applicable only if first object is Spent. | required |
| Object1ValUint | int | First object's whole number value. Applicable only if first object is Impressions or Clicks. | required |
| Object2 | int | Second object: 0 - ROI, 1 - Conversions, 2 - eCPA, 3 - CR, 4 - CTR. | required |
| Object2Comp | int | Second object's comparison method: 0 - Less, 1 - Greater. | required |
| Object2ValDouble | float | Second object's decimal value. Applicable only if first object is ROI, eCPA, CR or CTR. | required |
| Object2ValUint | int | Second object's whole number value. Applicable only if first object is Conversions. | required |
| PeriodHours | int | Period (hours) within which rule will be activated (Subject will be paused) if the condition is met. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Delete ORTB Rule
To delete a Rule, send JSON structured like this:
{
"Rule": {
"Id": 1
}
}
Success JSON:
{
"Status": "Ok",
"Rule": {
"Id": 1,
"TeamId": 1,
"CampaignId": 1,
"CampaignName": "Campaign 1",
"Subject": 2,
"Object1": 1,
"Object1ValDouble": 0,
"Object1ValUint": 500,
"Object2": 1,
"Object2Comp": 0,
"Object2ValDouble": 0,
"Object2ValUint": 15,
"PeriodHours": 12,
"AccManagerId": 5,
"AccManagerName": "John Doe",
"Status": 2,
"StatusString": "Deleted"
}
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint deletes Rule.
HTTP Request
POST https://adelion.com/api/ortb/rule/delete
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Id | int | Rule ID. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Statistics
Stats by SSP
To fetch data for a table with statistics by SSP, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"CC",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Bids",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-03-23",
"PublisherName": "Publisher 3",
"CC": "ME",
"Bids": "0",
"Spent": "0.0000"
},
{
"DateStats": "2025-03-23",
"PublisherName": "Publisher 3",
"CC": "ME",
"Bids": "0",
"Spent": "0.0000"
},
{
"DateStats": "2025-03-24",
"PublisherName": "Publisher 4",
"CC": "ME",
"Bids": "0",
"Spent": "0.0000"
},
{
"DateStats": "2025-03-24",
"PublisherName": "Publisher 3",
"CC": "ME",
"Bids": "0",
"Spent": "0.0000"
},
{
"DateStats": "2025-03-30",
"PublisherName": "Publisher 4",
"CC": "US",
"Bids": "12797",
"Spent": "5.2200"
}
],
"Sum": {
"Bids": "31679",
"Spent": "12.2300"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics by supply endpoints, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/zone
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| AppBundle | string | yes | no | yes | yes |
| Site | string | yes | no | yes | yes |
| Size | string | yes | no | yes | yes |
| PubId | string | yes | no | yes | yes |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| Requests | int | no | yes | yes | no |
| AdResponses | int | no | yes | yes | no |
| Coverage | float | no | no | yes | no |
| RemoteRequests | int | no | yes | yes | no |
| Bids | int | no | yes | yes | no |
| BidRate | float | no | no | yes | no |
| Wins | int | no | yes | yes | no |
| WinRate | float | no | no | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| FillRate | float | no | no | yes | no |
| FilterRate | float | no | no | yes | no |
| IpBlock | int | no | yes | yes | no |
| IpBlockReal | int | no | yes | yes | no |
| IpMismatch | int | no | yes | yes | no |
| UaMismatch | int | no | yes | yes | no |
| EmptyReferer | int | no | yes | yes | no |
| RefererMismatch | int | no | yes | yes | no |
| RepeatedImpression | int | no | yes | yes | no |
| JsFail | int | no | yes | yes | no |
| VastErrors | int | no | yes | yes | no |
| AvgBidfloor | float | no | no | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning | |
|---|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. | |
| 401 | Unauthorized -- Your access token is invalid. | |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. | |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats by SSP CSV
To download a CSV file with statistics by supply endpoints, send JSON structured like this:
{
"Columns": [
"DateStats",
"PublisherName",
"CC",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Bids",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-03-01",
"To": "2025-03-31",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics by publisher zones.
HTTP Request
POST https://adelion.com/api/ortb/stats/zone/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| AppBundle | string | yes | no | yes | yes |
| Site | string | yes | no | yes | yes |
| Size | string | yes | no | yes | yes |
| PubId | string | yes | no | yes | yes |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| Requests | int | no | yes | yes | no |
| AdResponses | int | no | yes | yes | no |
| Coverage | float | no | no | yes | no |
| RemoteRequests | int | no | yes | yes | no |
| Bids | int | no | yes | yes | no |
| BidRate | float | no | no | yes | no |
| Wins | int | no | yes | yes | no |
| WinRate | float | no | no | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| FillRate | float | no | no | yes | no |
| FilterRate | float | no | no | yes | no |
| IpBlock | int | no | yes | yes | no |
| IpBlockReal | int | no | yes | yes | no |
| IpMismatch | int | no | yes | yes | no |
| UaMismatch | int | no | yes | yes | no |
| EmptyReferer | int | no | yes | yes | no |
| RefererMismatch | int | no | yes | yes | no |
| RepeatedImpression | int | no | yes | yes | no |
| JsFail | int | no | yes | yes | no |
| VastErrors | int | no | yes | yes | no |
| AvgBidfloor | float | no | no | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats by DSP
To fetch data for a table with statistics by DSP, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"CC",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Bids",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-03-30",
"CC": "US",
"Bids": "1225558",
"Spent": "19.8000"
},
{
"DateStats": "2025-03-31",
"CC": "US",
"Bids": "5919134",
"Spent": "16.8220"
}
],
"Sum": {
"Bids": "7144692",
"Spent": "36.6220"
},
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics by DSP, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/ad
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| RemoteRequests | int | no | yes | yes | no |
| Bids | int | no | yes | yes | no |
| BidRate | float | no | no | yes | no |
| Wins | int | no | yes | yes | no |
| WinRate | float | no | no | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| FillRate | float | no | no | yes | no |
| FilterRate | float | no | no | yes | no |
| IpBlockReal | int | no | yes | yes | no |
| IpMismatch | int | no | yes | yes | no |
| UaMismatch | int | no | yes | yes | no |
| EmptyReferer | int | no | yes | yes | no |
| RefererMismatch | int | no | yes | yes | no |
| RepeatedImpression | int | no | yes | yes | no |
| JsFail | int | no | yes | yes | no |
| Timeouts | int | no | yes | yes | no |
| TimeoutsPercentage | float | no | no | yes | no |
| Errors | int | no | yes | yes | no |
| ErrorsPercentage | float | no | no | yes | no |
| VastErrors | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats by DSP CSV
To download a CSV file with statistics by DSP, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"CC",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Bids",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-03-01",
"To": "2025-03-31",
"Values": []
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics by DSP.
HTTP Request
POST https://adelion.com/api/ortb/stats/ad/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| RemoteRequests | int | no | yes | yes | no |
| Bids | int | no | yes | yes | no |
| BidRate | float | no | no | yes | no |
| Wins | int | no | yes | yes | no |
| WinRate | float | no | no | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| FillRate | float | no | no | yes | no |
| FilterRate | float | no | no | yes | no |
| IpBlockReal | int | no | yes | yes | no |
| IpMismatch | int | no | yes | yes | no |
| UaMismatch | int | no | yes | yes | no |
| EmptyReferer | int | no | yes | yes | no |
| RefererMismatch | int | no | yes | yes | no |
| RepeatedImpression | int | no | yes | yes | no |
| JsFail | int | no | yes | yes | no |
| Timeouts | int | no | yes | yes | no |
| TimeoutsPercentage | float | no | no | yes | no |
| Errors | int | no | yes | yes | no |
| ErrorsPercentage | float | no | no | yes | no |
| VastErrors | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Dashboard
To fetch data for dashboard summary, just call endpoint without parameters.
Success JSON:
{
"SumStats": {
"Requests": 107440129,
"Spent": 47.427891,
"Revenue": 65.563081,
"Profit": 18.135191,
"Roi": 38.237396
},
"Pie": [
{
"Name": "Banner Web",
"Revenue": 97.39875708403638,
"RevenueDiff": -0.8607257182795536
},
{
"Name": "Banner In-App",
"Revenue": 0.0,
"RevenueDiff": 0.0
},
{
"Name": "Video Web",
"Revenue": 0.8683393021142494,
"RevenueDiff": 0.3410373228863617
},
{
"Name": "Video In-App",
"Revenue": 0.0,
"RevenueDiff": 0.0
},
{
"Name": "CTV",
"Revenue": 0.0,
"RevenueDiff": 0.0
},
{
"Name": "Pop",
"Revenue": 1.7329036138493858,
"RevenueDiff": 0.519688395393191
}
],
"PerformingAdvertisers": [
{
"Id": 764,
"Name": "Advertiser 1",
"Impressions": 46387,
"Spent": 34.139202,
"Revenue": 47.50733,
"Profit": 13.368128
},
{
"Id": 965,
"Name": "Advertiser 2",
"Impressions": 270324,
"Spent": 10.477798,
"Revenue": 14.489979,
"Profit": 4.012181
},
{
"Id": 915,
"Name": "Advertiser 3",
"Impressions": 3083,
"Spent": 1.085867,
"Revenue": 1.314398,
"Profit": 0.22853
},
{
"Id": 774,
"Name": "Advertiser 4",
"Impressions": 2505,
"Spent": 0.840649,
"Revenue": 1.027123,
"Profit": 0.186474
},
{
"Id": 777,
"Name": "Advertiser 5",
"Impressions": 5846,
"Spent": 0.649771,
"Revenue": 0.928245,
"Profit": 0.278474
},
{
"Id": 778,
"Name": "Advertiser 6",
"Impressions": 1636,
"Spent": 0.126956,
"Revenue": 0.162899,
"Profit": 0.035943
},
{
"Id": 1001,
"Name": "Advertiser 7",
"Impressions": 653,
"Spent": 0.083541,
"Revenue": 0.105207,
"Profit": 0.021667
},
{
"Id": 1039,
"Name": "Advertiser 8",
"Impressions": 145,
"Spent": 0.024106,
"Revenue": 0.0279,
"Profit": 0.003794
},
{
"Id": 793,
"Name": "Advertiser 9",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 898,
"Name": "Advertiser 10",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
}
],
"PerformingPublishers": [
{
"Id": 953,
"Name": "Publisher 1",
"Impressions": 314187,
"Spent": 39.85605,
"Revenue": 55.895739,
"Profit": 16.039688
},
{
"Id": 1076,
"Name": "Publisher 2",
"Impressions": 9517,
"Spent": 6.332706,
"Revenue": 7.983575,
"Profit": 1.650869
},
{
"Id": 866,
"Name": "Publisher 3",
"Impressions": 5905,
"Spent": 0.795301,
"Revenue": 1.136145,
"Profit": 0.340844
},
{
"Id": 1013,
"Name": "Publisher 4",
"Impressions": 970,
"Spent": 0.443832,
"Revenue": 0.547622,
"Profit": 0.10379
},
{
"Id": 1223,
"Name": "Publisher 5",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 859,
"Name": "Publisher 6",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 1220,
"Name": "Publisher 7",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 956,
"Name": "Publisher 8",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 981,
"Name": "Publisher 9",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
},
{
"Id": 1012,
"Name": "Publisher 10",
"Impressions": 0,
"Spent": 0.0,
"Revenue": 0.0,
"Profit": 0.0
}
],
"PerformingGeos": [
{
"CC": "PL",
"Impressions": 12176,
"Spent": 9.375435,
"Revenue": 12.759631,
"Profit": 3.384196
},
{
"CC": "US",
"Impressions": 203281,
"Spent": 6.270957,
"Revenue": 8.617952,
"Profit": 2.346995
},
{
"CC": "GB",
"Impressions": 41052,
"Spent": 3.081849,
"Revenue": 4.326343,
"Profit": 1.244495
},
{
"CC": "DE",
"Impressions": 29497,
"Spent": 2.989366,
"Revenue": 4.169822,
"Profit": 1.180456
},
{
"CC": "ES",
"Impressions": 4559,
"Spent": 3.07844,
"Revenue": 4.169461,
"Profit": 1.091021
},
{
"CC": "HU",
"Impressions": 3987,
"Spent": 2.811933,
"Revenue": 3.988081,
"Profit": 1.176148
},
{
"CC": "PT",
"Impressions": 3362,
"Spent": 2.645836,
"Revenue": 3.696717,
"Profit": 1.050881
},
{
"CC": "CH",
"Impressions": 2708,
"Spent": 2.461859,
"Revenue": 3.401515,
"Profit": 0.939656
},
{
"CC": "AT",
"Impressions": 2473,
"Spent": 2.035973,
"Revenue": 2.831582,
"Profit": 0.795609
},
{
"CC": "AU",
"Impressions": 1626,
"Spent": 1.761361,
"Revenue": 2.490503,
"Profit": 0.729142
}
],
"LoserAdvertisers": [
{
"Id": 764,
"Name": "Advertiser 10",
"Impressions": 46387,
"Spent": 34.139202,
"Revenue": 47.50733,
"Revenue2": 127.0935,
"RevenueDiff": -79.58617000000001,
"Profit": 13.368128
},
{
"Id": 965,
"Name": "Advertiser 11",
"Impressions": 270324,
"Spent": 10.477798,
"Revenue": 14.489979,
"Revenue2": 44.78544,
"RevenueDiff": -30.295461000000003,
"Profit": 4.012181
},
{
"Id": 915,
"Name": "Advertiser 12",
"Impressions": 3083,
"Spent": 1.085867,
"Revenue": 1.314398,
"Revenue2": 2.577443,
"RevenueDiff": -1.2630450000000002,
"Profit": 0.22853
},
{
"Id": 774,
"Name": "Advertiser 13",
"Impressions": 2505,
"Spent": 0.840649,
"Revenue": 1.027123,
"Revenue2": 1.82377,
"RevenueDiff": -0.7966469999999999,
"Profit": 0.186474
},
{
"Id": 777,
"Name": "Advertiser 14",
"Impressions": 5846,
"Spent": 0.649771,
"Revenue": 0.928245,
"Revenue2": 1.441271,
"RevenueDiff": -0.513026,
"Profit": 0.278474
},
{
"Id": 778,
"Name": "Advertiser 15",
"Impressions": 1636,
"Spent": 0.126956,
"Revenue": 0.162899,
"Revenue2": 0.270563,
"RevenueDiff": -0.10766400000000001,
"Profit": 0.035943
},
{
"Id": 1001,
"Name": "Advertiser 16",
"Impressions": 653,
"Spent": 0.083541,
"Revenue": 0.105207,
"Revenue2": 0.184907,
"RevenueDiff": -0.0797,
"Profit": 0.021667
}
],
"LoserPublishers": [
{
"Id": 953,
"Name": "Publisher 10",
"Impressions": 314187,
"Spent": 39.85605,
"Revenue": 55.895739,
"Revenue2": 153.91279,
"RevenueDiff": -98.01705100000001,
"Profit": 16.039688
},
{
"Id": 1076,
"Name": "Publisher 11",
"Impressions": 9517,
"Spent": 6.332706,
"Revenue": 7.983575,
"Revenue2": 21.321027,
"RevenueDiff": -13.337452,
"Profit": 1.650869
},
{
"Id": 866,
"Name": "Publisher 12",
"Impressions": 5905,
"Spent": 0.795301,
"Revenue": 1.136145,
"Revenue2": 2.161871,
"RevenueDiff": -1.0257260000000001,
"Profit": 0.340844
},
{
"Id": 1013,
"Name": "Publisher 13",
"Impressions": 970,
"Spent": 0.443832,
"Revenue": 0.547622,
"Revenue2": 0.797842,
"RevenueDiff": -0.25022,
"Profit": 0.10379
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for dashboard summary, which is used in front-end UI.
HTTP Request
GET https://adelion.com/api/ortb/stats/dashboard
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Chart
To fetch data for dashboard chart, just call endpoint without parameters.
Success JSON:
{
"Chart": [
{
"Date": "27",
"Spent": 10.377083,
"Revenue": 37.171655,
"Profit": 26.794572
},
{
"Date": "28",
"Spent": 10.873013,
"Revenue": 38.994194,
"Profit": 28.121181
},
{
"Date": "29",
"Spent": 24.231195,
"Revenue": 58.938649,
"Profit": 34.707454
},
{
"Date": "30",
"Spent": 35.201892,
"Revenue": 56.395611,
"Profit": 21.193719
},
{
"Date": "31",
"Spent": 39.346454,
"Revenue": 51.808482,
"Profit": 12.462028
},
{
"Date": "01",
"Spent": 39.672317,
"Revenue": 52.886959,
"Profit": 13.214642
},
{
"Date": "02",
"Spent": 45.798451,
"Revenue": 60.357559,
"Profit": 14.559108
},
{
"Date": "03",
"Spent": 51.428674,
"Revenue": 66.873731,
"Profit": 15.445057
},
{
"Date": "04",
"Spent": 46.77334,
"Revenue": 61.18066,
"Profit": 14.40732
},
{
"Date": "05",
"Spent": 46.03486,
"Revenue": 60.690122,
"Profit": 14.655262
},
{
"Date": "06",
"Spent": 53.049051,
"Revenue": 69.367937,
"Profit": 16.318886
},
{
"Date": "07",
"Spent": 47.178144,
"Revenue": 62.598846,
"Profit": 15.420702
},
{
"Date": "08",
"Spent": 45.597667,
"Revenue": 60.845303,
"Profit": 15.247636
},
{
"Date": "09",
"Spent": 35.692671,
"Revenue": 47.863472,
"Profit": 12.170801
},
{
"Date": "10",
"Spent": 34.533213,
"Revenue": 45.681725,
"Profit": 11.148512
},
{
"Date": "11",
"Spent": 40.418605,
"Revenue": 52.922332,
"Profit": 12.503727
},
{
"Date": "12",
"Spent": 95.251086,
"Revenue": 130.77265,
"Profit": 35.521565
},
{
"Date": "13",
"Spent": 190.779585,
"Revenue": 264.275085,
"Profit": 73.495499
},
{
"Date": "14",
"Spent": 186.338512,
"Revenue": 258.278739,
"Profit": 71.940227
},
{
"Date": "15",
"Spent": 188.533986,
"Revenue": 261.779092,
"Profit": 73.245106
},
{
"Date": "16",
"Spent": 194.050047,
"Revenue": 269.697987,
"Profit": 75.64794
},
{
"Date": "17",
"Spent": 195.793951,
"Revenue": 273.737523,
"Profit": 77.943571
},
{
"Date": "18",
"Spent": 178.258872,
"Revenue": 248.730095,
"Profit": 70.471223
},
{
"Date": "19",
"Spent": 110.424172,
"Revenue": 154.378119,
"Profit": 43.953947
},
{
"Date": "20",
"Spent": 136.794844,
"Revenue": 190.657451,
"Profit": 53.862608
},
{
"Date": "21",
"Spent": 119.266958,
"Revenue": 166.308818,
"Profit": 47.04186
},
{
"Date": "22",
"Spent": 120.588476,
"Revenue": 167.055863,
"Profit": 46.467386
},
{
"Date": "23",
"Spent": 130.567633,
"Revenue": 181.080936,
"Profit": 50.513303
},
{
"Date": "24",
"Spent": 131.39071,
"Revenue": 182.14815,
"Profit": 50.75744
},
{
"Date": "25",
"Spent": 128.833,
"Revenue": 178.193529,
"Profit": 49.36053
},
{
"Date": "26",
"Spent": 47.427891,
"Revenue": 65.563081,
"Profit": 18.135191
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for dashboard chart, which is used in front-end UI.
HTTP Request
GET https://adelion.com/api/ortb/stats/dashboard/chart
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Verified Statistics
Verified Stats
To fetch data for a table with verified statistics, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"DspPopFeedName",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Spent",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
},
{
"Column": "DspPopFeedId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-03-30",
"DspPopFeedName": "DSP Pop Feed 1",
"Bids": "1225558",
"Spent": "19.8000"
},
{
"DateStats": "2025-03-31",
"DspPopFeedName": "DSP Pop Feed 4",
"Bids": "5919134",
"Spent": "16.8220"
}
],
"Sum": {
"Bids": "7144692",
"Spent": "36.6220"
},
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with verified statistics, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/verified
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Verified Stats CSV
To download a CSV file with verified statistics, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"DspPopFeedName",
"Bids",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Spent",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-03-01",
"To": "2025-03-31",
"Values": []
},
{
"Column": "DspPopFeedId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with verified statistics.
HTTP Request
POST https://adelion.com/api/ortb/stats/verified/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Bills | int | no | yes | yes | no |
| Losses | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| VerifiedImpressions | int | no | yes | yes | no |
| Spent | float | no | yes | yes | no |
| VerifiedSpent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| VerifiedRevenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Video Statistics
Stats for Video
To fetch data for a table with statistics for video, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"CC",
"CreativeImpressions",
"CreativeComplete",
"CreativeNetClicks",
"CompanionImpressions"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "CreativeImpressions",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-11-07",
"PublisherName": "Publisher 3",
"CC": "ME",
"CreativeImpressions": "0",
"CreativeComplete": "0",
"CreativeNetClicks": "0",
"CompanionImpressions": "0.0000"
},
{
"DateStats": "2025-11-08",
"PublisherName": "Publisher 3",
"CC": "ME",
"CreativeImpressions": "0",
"CreativeComplete": "0",
"CreativeNetClicks": "0",
"CompanionImpressions": "0.0000"
},
{
"DateStats": "2025-11-09",
"PublisherName": "Publisher 4",
"CC": "ME",
"CreativeImpressions": "0",
"CreativeComplete": "0",
"CreativeNetClicks": "0",
"CompanionImpressions": "0.0000"
},
{
"DateStats": "2025-11-10",
"PublisherName": "Publisher 3",
"CC": "ME",
"CreativeImpressions": "0",
"CreativeComplete": "0",
"CreativeNetClicks": "0",
"CompanionImpressions": "0.0000"
},
{
"DateStats": "2025-11-11",
"PublisherName": "Publisher 4",
"CC": "US",
"CreativeImpressions": "12797",
"CreativeComplete": "1354",
"CreativeNetClicks": "1044",
"CompanionImpressions": "54"
}
],
"Sum": {
"CreativeImpressions": "31679",
"CreativeComplete": "3197",
"CreativeNetClicks": "2446",
"CompanionImpressions": "72"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics for video, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/video
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| AdId | int | yes | no | yes | yes |
| AdName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| CreativeId | int | yes | no | yes | yes |
| CreativeName | string | yes | no | no | no |
| OverlayId | int | yes | no | yes | yes |
| OverlayName | string | yes | no | no | no |
| CompanionId | int | yes | no | yes | yes |
| CompanionName | string | yes | no | no | no |
| IconId | int | yes | no | yes | yes |
| IconName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| BrowserFamily | string | yes | no | yes | yes |
| CreativeImpressions | int | no | yes | yes | no |
| CreativeStart | int | no | yes | yes | no |
| CreativeComplete | int | no | yes | yes | no |
| CreativeSkip | int | no | yes | yes | no |
| CreativeClicks | int | no | yes | yes | no |
| CreativeNetClicks | int | no | yes | yes | no |
| OverlayImpressions | int | no | yes | yes | no |
| OverlayStart | int | no | yes | yes | no |
| OverlayComplete | int | no | yes | yes | no |
| OverlaySkip | int | no | yes | yes | no |
| OverlayClicks | int | no | yes | yes | no |
| OverlayNetClicks | int | no | yes | yes | no |
| CompanionImpressions | int | no | yes | yes | no |
| CompanionClicks | int | no | yes | yes | no |
| IconImpressions | int | no | yes | yes | no |
| IconClicks | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Video CSV
To download a CSV file with statistics for video, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"CC",
"CreativeImpressions",
"CreativeComplete",
"CreativeNetClicks",
"CompanionImpressions"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "CreativeImpressions",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics for video.
HTTP Request
POST https://adelion.com/api/ortb/stats/video/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| AdId | int | yes | no | yes | yes |
| AdName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| CreativeId | int | yes | no | yes | yes |
| CreativeName | string | yes | no | no | no |
| OverlayId | int | yes | no | yes | yes |
| OverlayName | string | yes | no | no | no |
| CompanionId | int | yes | no | yes | yes |
| CompanionName | string | yes | no | no | no |
| IconId | int | yes | no | yes | yes |
| IconName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| BrowserFamily | string | yes | no | yes | yes |
| CreativeImpressions | int | no | yes | yes | no |
| CreativeStart | int | no | yes | yes | no |
| CreativeComplete | int | no | yes | yes | no |
| CreativeSkip | int | no | yes | yes | no |
| CreativeClicks | int | no | yes | yes | no |
| CreativeNetClicks | int | no | yes | yes | no |
| OverlayImpressions | int | no | yes | yes | no |
| OverlayStart | int | no | yes | yes | no |
| OverlayComplete | int | no | yes | yes | no |
| OverlaySkip | int | no | yes | yes | no |
| OverlayClicks | int | no | yes | yes | no |
| OverlayNetClicks | int | no | yes | yes | no |
| CompanionImpressions | int | no | yes | yes | no |
| CompanionClicks | int | no | yes | yes | no |
| IconImpressions | int | no | yes | yes | no |
| IconClicks | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Seats/CRIDs Statistics
Seats/CRIDs Stats
To fetch data for a table with seats/crids, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"AdvertiserName",
"Bids",
"Impressions",
"NetImpressions",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Impressions",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
},
{
"Column": "AdvertiserId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-03-30",
"AdvertiserName": "Advertiser 1",
"Bids": "1225558",
"Impressions": "12978",
"NetImpressions": "9900",
"Spent": "19.8000"
},
{
"DateStats": "2025-03-31",
"AdvertiserName": "Advertiser 1",
"Bids": "5919134",
"Impressions": "11181",
"NetImpressions": "8411",
"Spent": "16.8220"
}
],
"Sum": {
"Bids": "7144692",
"Impressions": "24159",
"NetImpressions": "18311",
"Spent": "36.6220"
},
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with seats/crids statistics, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/crid
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Seat | string | yes | no | yes | yes |
| Crid | string | yes | no | yes | yes |
| Adomain | string | yes | no | yes | yes |
| Bundle | string | yes | no | yes | yes |
| Cat | string | yes | no | yes | yes |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Seats/CRIDs Stats CSV
To download a CSV file with seats/crids statistics, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"AdvertiserName",
"Bids",
"Impressions",
"NetImpressions",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Impressions",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-03-01",
"To": "2025-03-31",
"Values": []
},
{
"Column": "AdvertiserId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with seats/crids statistics.
HTTP Request
POST https://adelion.com/api/ortb/stats/crid/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Seat | string | yes | no | yes | yes |
| Crid | string | yes | no | yes | yes |
| Adomain | string | yes | no | yes | yes |
| Bundle | string | yes | no | yes | yes |
| Cat | string | yes | no | yes | yes |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Errors Statistics
Stats for Errors
To fetch data for a table with statistics with errors, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Error",
"Errors"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Errors",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-11-07",
"PublisherName": "Publisher 3",
"Error": "invalid_json",
"Errors": "12"
},
{
"DateStats": "2025-11-08",
"PublisherName": "Publisher 3",
"Error": "invalid_json",
"Errors": "145"
},
{
"DateStats": "2025-11-09",
"PublisherName": "Publisher 4",
"Error": "invalid_json",
"Errors": "565"
},
{
"DateStats": "2025-11-10",
"PublisherName": "Publisher 3",
"Error": "invalid_json",
"Errors": "9878"
},
{
"DateStats": "2025-11-11",
"PublisherName": "Publisher 4",
"Error": "invalid_json",
"Errors": "12797"
}
],
"Sum": {
"Errors": "31679"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics with errors, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/error
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Error | string | yes | no | yes | yes |
| Errors | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Errors CSV
To download a CSV file with statistics with errors, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Error",
"Errors"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Errors",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics with errors.
HTTP Request
POST https://adelion.com/api/ortb/stats/error/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Error | string | yes | no | yes | yes |
| Errors | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Opt Statistics
Stats for Opt
To fetch data for a table with statistics with opt, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Skip",
"Skips"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Skips",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-11-07",
"PublisherName": "Publisher 3",
"Skip": "invalid_json",
"Skips": "12"
},
{
"DateStats": "2025-11-08",
"PublisherName": "Publisher 3",
"Skip": "invalid_json",
"Skips": "145"
},
{
"DateStats": "2025-11-09",
"PublisherName": "Publisher 4",
"Skip": "invalid_json",
"Skips": "565"
},
{
"DateStats": "2025-11-10",
"PublisherName": "Publisher 3",
"Skip": "invalid_json",
"Skips": "9878"
},
{
"DateStats": "2025-11-11",
"PublisherName": "Publisher 4",
"Skip": "invalid_json",
"Skips": "12797"
}
],
"Sum": {
"Skips": "31679"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics with opt, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/opt
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Skip | string | yes | no | yes | yes |
| Skips | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Opt CSV
To download a CSV file with statistics with opt, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Skip",
"Skips"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Skips",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics with opt.
HTTP Request
POST https://adelion.com/api/ortb/stats/opt/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| DspRtbEpId | int | yes | no | yes | yes |
| DspRtbEpName | string | yes | no | no | no |
| DspVastTagId | int | yes | no | yes | yes |
| DspVastTagName | string | yes | no | no | no |
| DspPopFeedId | int | yes | no | yes | yes |
| DspPopFeedName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| Skip | string | yes | no | yes | yes |
| Skips | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
SChain Errors Statistics
Stats for SChain Errors
To fetch data for a table with statistics with schain errors, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Asi",
"Sid",
"Error",
"Errors"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Errors",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-11-07",
"PublisherName": "Publisher 3",
"Asi": "adtelligent.com",
"Sid": "625572",
"Error": "last_asi_diff",
"Errors": "12"
},
{
"DateStats": "2025-11-08",
"PublisherName": "Publisher 3",
"Asi": "adtelligent.com",
"Sid": "741826",
"Error": "last_asi_diff",
"Errors": "145"
},
{
"DateStats": "2025-11-09",
"PublisherName": "Publisher 4",
"Asi": "adelion.com",
"Sid": "59",
"Error": "loop",
"Errors": "565"
},
{
"DateStats": "2025-11-10",
"PublisherName": "Publisher 3",
"Asi": "adelion.com",
"Sid": "62",
"Error": "loop",
"Errors": "9878"
},
{
"DateStats": "2025-11-11",
"PublisherName": "Publisher 4",
"Asi": "adelion.com",
"Sid": "81",
"Error": "loop",
"Errors": "12797"
}
],
"Sum": {
"Errors": "31679"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics with schain errors, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/schainerror
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| Asi | string | yes | no | yes | yes |
| Sid | string | yes | no | yes | yes |
| Error | string | yes | no | yes | yes |
| Errors | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for SChain Errors CSV
To download a CSV file with statistics with schain errors, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Asi",
"Sid",
"Error",
"Errors"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Errors",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics with schain errors.
HTTP Request
POST https://adelion.com/api/ortb/stats/schainerror/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| Asi | string | yes | no | yes | yes |
| Sid | string | yes | no | yes | yes |
| Error | string | yes | no | yes | yes |
| Errors | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
IVT Statistics
Stats for IVT
To fetch data for a table with statistics with IVT, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Error",
"Requests"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Requests",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-11-07",
"PublisherName": "Publisher 3",
"Error": "defasedApp",
"Requests": "0"
},
{
"DateStats": "2025-11-08",
"PublisherName": "Publisher 3",
"Error": "defasedApp",
"Requests": "145"
},
{
"DateStats": "2025-11-09",
"PublisherName": "Publisher 4",
"Error": "defasedApp",
"Requests": "565"
},
{
"DateStats": "2025-11-10",
"PublisherName": "Publisher 3",
"Error": "highriskApp",
"Requests": "9878"
},
{
"DateStats": "2025-11-11",
"PublisherName": "Publisher 4",
"Error": "highriskApp",
"Requests": "12797"
}
],
"Sum": {
"Requests": "31679"
},
"Total": 5,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics with IVT, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/ivt
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| AppBundle | string | yes | no | yes | yes |
| Site | string | yes | no | yes | yes |
| PubId | string | yes | no | yes | yes |
| Error | string | yes | no | yes | yes |
| Requests | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for IVT CSV
To download a CSV file with statistics with IVT, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"PublisherName",
"Error",
"Requests"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Requests",
"Ord": "ASC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-11-06",
"To": "2025-11-12",
"Values": []
},
{
"Column": "PublisherId",
"From": "",
"To": "",
"Values": [ 3, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics with IVT.
HTTP Request
POST https://adelion.com/api/ortb/stats/ivt/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| AppBundle | string | yes | no | yes | yes |
| Site | string | yes | no | yes | yes |
| PubId | string | yes | no | yes | yes |
| Error | string | yes | no | yes | yes |
| Requests | int | no | yes | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Campaign Statistics
Stats for Campaigns
To fetch data for a table with statistics for Campaigns, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"DateStats",
"CampaignName",
"CC",
"Bids",
"Clicks",
"NetClicks",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Clicks",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
},
{
"Column": "CampaignId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Success JSON:
{
"Data": [
{
"DateStats": "2025-03-30",
"CampaignName": "Campaign 1",
"CC": "US",
"Bids": "1225558",
"Clicks": "12978",
"NetClicks": "9900",
"Spent": "19.8000"
},
{
"DateStats": "2025-03-31",
"CampaignName": "Campaign 1",
"CC": "US",
"Bids": "5919134",
"Clicks": "11181",
"NetClicks": "8411",
"Spent": "16.8220"
}
],
"Sum": {
"Bids": "7144692",
"Clicks": "24159",
"NetClicks": "18311",
"Spent": "36.6220"
},
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with statistics for Campaigns, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/stats/cmp
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| AdId | int | yes | no | yes | yes |
| AdName | string | yes | no | no | no |
| CreativeId | int | yes | no | yes | yes |
| CreativeName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| Target | string | yes | no | yes | yes |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| Clicks | int | no | yes | yes | no |
| NetClicks | int | no | yes | yes | no |
| Conversions | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Ecpc | float | no | no | yes | no |
| Ecpa | float | no | no | yes | no |
| Ctr | float | no | no | yes | no |
| WinRatio | float | no | no | yes | no |
| Ivt | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
| BidCpm | float | no | no | no | no |
| Paused | int | no | no | no | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Campaigns CSV
To download a CSV file with statistics for Campaigns, send JSON structured like this:
{
"Columns": [
"DateStats",
"CampaignName",
"CC",
"Bids",
"Clicks",
"NetClicks",
"Spent"
],
"Order": [
{
"Column": "DateStats",
"Ord": "ASC"
},
{
"Column": "Clicks",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "DateStats",
"From": "2025-04-01",
"To": "2025-04-30",
"Values": []
},
{
"Column": "CampaignId",
"From": "",
"To": "",
"Values": [ 1, 4 ]
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint downloads CSV file with statistics for Campaigns.
HTTP Request
POST https://adelion.com/api/ortb/stats/cmp/csv
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (From, To, Values array). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| DateStats | string | yes | no | yes | yes |
| AdvertiserId | int | yes | no | yes | yes |
| AdvertiserName | string | yes | no | no | no |
| CampaignId | int | yes | no | yes | yes |
| CampaignName | string | yes | no | no | no |
| AdId | int | yes | no | yes | yes |
| AdName | string | yes | no | no | no |
| CreativeId | int | yes | no | yes | yes |
| CreativeName | string | yes | no | no | no |
| PublisherId | int | yes | no | yes | yes |
| PublisherName | string | yes | no | no | no |
| BannerEpId | int | yes | no | yes | yes |
| BannerEpName | string | yes | no | no | no |
| VastTagId | int | yes | no | yes | yes |
| VastTagName | string | yes | no | no | no |
| RtbEpId | int | yes | no | yes | yes |
| RtbEpName | string | yes | no | no | no |
| PopFeedId | int | yes | no | yes | yes |
| PopFeedName | string | yes | no | no | no |
| CC | string | yes | no | yes | yes |
| OsFamily | string | yes | no | yes | yes |
| OsMajor | string | yes | no | yes | no |
| OsMinor | string | yes | no | yes | no |
| BrowserFamily | string | yes | no | yes | yes |
| BrowserMajor | string | yes | no | yes | no |
| Target | string | yes | no | yes | yes |
| AdType | int | yes | no | yes | yes |
| Env | int | yes | no | yes | yes |
| DeviceType | int | yes | no | yes | yes |
| Bids | int | no | yes | yes | no |
| Wins | int | no | yes | yes | no |
| Impressions | int | no | yes | yes | no |
| NetImpressions | int | no | yes | yes | no |
| Clicks | int | no | yes | yes | no |
| NetClicks | int | no | yes | yes | no |
| Conversions | int | no | yes | yes | no |
| Ecpm | float | no | no | yes | no |
| Ecpc | float | no | no | yes | no |
| Ecpa | float | no | no | yes | no |
| Ctr | float | no | no | yes | no |
| WinRatio | float | no | no | yes | no |
| Ivt | float | no | no | yes | no |
| Spent | float | no | yes | yes | no |
| Revenue | float | no | yes | yes | no |
| Profit | float | no | yes | yes | no |
| Roi | float | no | no | yes | no |
| BidCpm | float | no | no | no | no |
| Paused | int | no | no | no | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Campaigns Chart
To fetch data for Campaigns chart, call endpoint with parameters: campaign_id, date_from, date_to, ad_type
Success JSON:
{
"Stats": {
"Spent": 60.085499999955715,
"Revenue": 2.3958569999999995,
"Clicks": 0,
"Conversions": 3
},
"Chart": [
{
"Date": "2025-01-15",
"Spent": 20.018250000002478,
"Revenue": 0.01,
"Clicks": 0,
"Conversions": 1
},
{
"Date": "2025-01-16",
"Spent": 20.036850000002612,
"Revenue": 2.3858569999999997,
"Clicks": 0,
"Conversions": 2
},
{
"Date": "2025-01-17",
"Spent": 20.030400000008175,
"Revenue": 0.0,
"Clicks": 0,
"Conversions": 0
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for Campaigns chart, which is used in front-end UI.
HTTP Request
GET https://adelion.com/api/ortb/stats/cmp/chart
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| campaign_id | int | Campaign ID, if sent, request will fetch data for exact ID, otherwise it fill fetch all data. | optional |
| date_from | string | Date range start in YYYY-MM-DD format. | optional |
| date_to | string | Date range end in YYYY-MM-DD format. | optional |
| ad_type | int | Ad Type filter: 1 - Banner, 2 - Video, 3 - Audio, 4 - Native, 5 - Pop. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Stats for Campaigns Chart Hour
To fetch data for Campaigns chart with hours, call endpoint with parameters: campaign_id, date_from, date_to, ad_type
Success JSON:
{
"Stats": {
"Spent": 60.085499999955715,
"Revenue": 2.3958569999999995,
"Clicks": 0,
"Conversions": 3
},
"Chart": [
{
"Date": "2025-01-15",
"Hour": "1",
"Spent": 20.018250000002478,
"Revenue": 0.01,
"Clicks": 0,
"Conversions": 1
},
{
"Date": "2025-01-15",
"Hour": "2",
"Spent": 20.036850000002612,
"Revenue": 2.3858569999999997,
"Clicks": 0,
"Conversions": 2
},
{
"Date": "2025-01-15",
"Hour": "3",
"Spent": 20.030400000008175,
"Revenue": 0.0,
"Clicks": 0,
"Conversions": 0
}
]
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for Campaigns chart with hours, which is used in front-end UI.
HTTP Request
GET https://adelion.com/api/ortb/stats/cmp/chart/hour
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| campaign_id | int | Campaign ID, if sent, request will fetch data for exact ID, otherwise it fill fetch all data. | optional |
| date_from | string | Date range start in YYYY-MM-DD format. | optional |
| date_to | string | Date range end in YYYY-MM-DD format. | optional |
| ad_type | int | Ad Type filter: 1 - Banner, 2 - Video, 3 - Audio, 4 - Native, 5 - Pop. | optional |
Success
Errors
| Error Code | Meaning |
|---|---|
| 401 | Unauthorized -- Your access token is invalid. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
Alerts
Geoedge Alerts
To fetch data for a table with GeoEdge alerts, send JSON structured like this:
{
"Page": 1,
"PerPage": "5",
"Columns": [
"Crid",
"GeoedgeId",
"TriggerType",
"TriggerMetadata"
],
"Order": [
{
"Column": "Crid",
"Ord": "DESC"
}
],
"Filter": [
{
"Column": "Crid",
"Values": [
"123456",
"345678"
]
}
]
}
Success JSON:
{
"Data": [
{
"Crid": "345678",
"GeoedgeId": "7709a106474444ce2f1d3d26dcbb1447",
"TriggerType": "Vast File Size",
"TriggerMetadata": "10000KB < 54.5MB"
},
{
"Crid": "123456",
"GeoedgeId": "0c71ca8d448f996ef201c7cb4a346fb9",
"TriggerType": "Loud Ad",
"TriggerMetadata": "-23.7 LUFS"
}
],
"Total": 2,
"PerPage": 5,
"CurrentPage": 1,
"LastPage": 1,
"From": 1,
"To": 5
}
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with GeoEdge alerts, which is used in the front-end UI.
HTTP Request
POST https://adelion.com/api/ortb/alerts/geoedge
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Page | int | Number of a page with data to fetch. | required |
| PerPage | int | Number of rows per page. | required |
| Columns | array of strings | Array of column names to fetch. Some of the columns are used to group data, so other "non-grouping" columns will be summed. At least one "group by" column must be included in this array. See below the list of available column names. | required |
| Order | array of objects | Array of objects that contain column names and ordering type (ASC or DESC). Some of the columns can be used for ordering and some can't. See below the list of available column names that can be used for ordering. | required |
| Filter | array of objects | Array of objects that contain column names and filtering values (Contains). Some of the columns can be used for filtering and some can't. See below the list of available column names that can be used for filtering. | required |
Columns
| Name | Type | Groupable | Summed | Orderable | Filter |
|---|---|---|---|---|---|
| Crid | string | no | no | yes | yes |
| GeoedgeId | string | no | no | yes | no |
| TriggerTypeId | int | no | no | yes | no |
| TriggerType | string | no | no | yes | yes |
| TriggerMetadata | string | no | no | yes | yes |
| TimeUpdated | string | no | no | yes | no |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
ads.txt Search Tool
ads.txt Search
To search ads.txt line, send JSON structured like this:
{
"Record": "lijit.com, 551736"
}
Success JSON:
[
{
"Hostname": "americasbestpics.com",
"AdsTxtUrl": "https://americasbestpics.com/ads.txt"
},
{
"Hostname": "app-mind.com",
"AdsTxtUrl": "https://app-mind.com/ads.txt"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with search ads.txt, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/adstxt/search
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Record | string | ads.txt line. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |
app-ads.txt Search
To search app-ads.txt line, send JSON structured like this:
{
"Record": "lijit.com, 551736"
}
Success JSON:
[
{
"Hostname": "shahzadee.blogspot.com",
"AppAdsTxtUrl": "https://shahzadee.blogspot.com/app-ads.txt",
"AppBundle": "com.driving.shooting.openworld.indian",
"AppName": "Indian Bike Gangster Games 3D",
"AppStoreUrl": "https://play.google.com/store/apps/details?id=com.driving.shooting.openworld.Indian"
},
{
"Hostname": "shahzadee.blogspot.com",
"AppAdsTxtUrl": "https://shahzadee.blogspot.com/app-ads.txt",
"AppBundle": "com.driving.shooting.openworld.Indian",
"AppName": "Indian Bike Gangster Games 3d",
"AppStoreUrl": "https://play.google.com/store/apps/details?id=com.driving.shooting.openworld.Indian&axb=795"
}
]
Error JSON:
{
"Status": "Error",
"Error": "[error description]"
}
This endpoint fetches data for a table with search app-ads.txt, which is used in front-end UI.
HTTP Request
POST https://adelion.com/api/appadstxt/search
Parameters
| Parameter | Type | Description | Requirement |
|---|---|---|---|
| Record | string | ads.txt line. | required |
Success
Errors
| Error Code | Meaning |
|---|---|
| 400 | Bad Request -- You sent a body that isn't JSON. |
| 401 | Unauthorized -- Your access token is invalid. |
| 406 | Not Acceptable -- Some value(s) inside JSON are missing or malformed, or requested object is not found. |
| 500 | Internal Server Error -- We had a problem with our server. Try again later. |