Integr8 API Documentation (1)

Download OpenAPI specification:

Integr8 Support: support@integr8.co URL: https://integr8.co

Introduction

The API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Authentication

All requests to the API must be authenticated using an API key. To authenticate, add a API-KEY header to your request that contains your API Key.

  • For network administrators you can create individual API keys and find your API keys under Organization > API Access.
  • For all users you can use your own API key by going to Profile > Security > Enable API Access.

Status Codes

Code Summary Description
200 OK Everything worked as expected.
400 Bad Request The request was unacceptable, often due to missing a required parameter.
401 Unauthorized No valid API key provided.
402 Request Failed The parameters were valid but the request failed.
403 Forbidden The API key doesn't have permissions to perform the request.
404 Not Found The requested resource doesn't exist.
429 Too Many Requests Too many requests hit the API too quickly. We recommend an exponential backoff of your requests.
500, 502, 503, 504 Server Errors Something went wrong on Server's end. (These are rare.)

Errors

We use conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a wrong data type is provided to a json field). Codes in the 5xx range indicate an error with our servers (these are rare).

Filtering

To filter the result you can use the filter query parameter. Format:

filter[field_name][operator] = value
  • field_name - is the field or property name. To filter a property within an object use dots such as filter[outer_field.inner_field]
  • operator - the operators used. If omitted, the default operator is eq.

Sorting

You can sort the result by adding sort query params like sort=-type,name. - will act for descending

Pagination

The API in general is using numbered pages except for Reports.

To paginate the result you can provide the following:

  • page[number] is the number of the page.
  • page[size] is the size of the page. The API max limit is 100.

In the response, meta.total_count shows the number of total objects and meta.total_page shows the number of total pages.

{
  "meta": {
    "total_count": 1000,
    "total_page": 50
  }
}

Example:

Go to the first page:

GET /api/v2/coffees?page[size]=100&page[number]=1

Go to the second page:

GET /api/v2/coffees?page[size]=100&page[number]=2

Users

Manage the people who can access your organization in Integr8. Use these endpoints to invite and maintain admins, members, account managers, API-enabled users, and publisher or advertiser managers with scoped access to the partners they are allowed to manage.

List Users

List organization users using pagination and filtering.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create User

Create a user within your organization.

Roles:

  • admin — Full administrative access to the organization.
  • accountManager — Can be assigned to publishers and advertisers as their dedicated account manager.
Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

A JSON object containing the new user's details

city
string
country
string
email
required
string
first_name
string
last_name
string
password
required
string
phone
string
role
required
string
Enum: "admin" "member" "accountManager"
timezone
string

Responses

Request samples

Content type
application/json
{
  • "city": "New York",
  • "country": "US",
  • "email": "jane.doe@example.com",
  • "first_name": "Jane",
  • "last_name": "Doe",
  • "password": "S3cur3P@ssw0rd!",
  • "phone": "+1-555-0100",
  • "role": "accountManager",
  • "timezone": "America/New_York"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Get User

Get an organization user by ID.

Authorizations:
ApiKeyAuth
path Parameters
userID
required
string

The User ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete User

Delete an organization user by ID.

Authorizations:
ApiKeyAuth
path Parameters
userID
required
string

The User ID

Responses

Update User

Update an organization user by ID.

Authorizations:
ApiKeyAuth
path Parameters
userID
required
string

The User ID

Request Body schema: application/json
required

A JSON object containing the fields to update

advertiser_manager_access
string
Enum: "Global" "Limited" "Restricted"
api_access_enabled
boolean
city
string
country
string
email
string
first_name
string
is_advertiser_manager
boolean
is_publisher_manager
boolean
last_name
string
password
string
phone
string
publisher_manager_access
string
Enum: "Global" "Limited" "Restricted"
role
string
Enum: "admin" "member" "accountManager"
status
string
Enum: "Active" "Deactivated"
timezone
string

Responses

Request samples

Content type
application/json
{
  • "advertiser_manager_access": "Global",
  • "api_access_enabled": true,
  • "city": "New York",
  • "country": "US",
  • "email": "jane.doe@example.com",
  • "first_name": "Jane",
  • "is_advertiser_manager": false,
  • "is_publisher_manager": false,
  • "last_name": "Doe",
  • "password": "S3cur3P@ssw0rd!",
  • "phone": "+1-555-0100",
  • "publisher_manager_access": "Global",
  • "role": "accountManager",
  • "status": "Active",
  • "timezone": "America/New_York"
}

Response samples

Content type
application/json
{ }

Advertisers

Manage the advertisers or brands that own offers in your network. Advertiser records store company/contact details, active and archived state, manager assignment, tags, and the incremental advertiser ID used when connecting offers and reports.

List Advertisers

List Advertisers using pagination and filtering.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Advertiser

Create a new Advertiser.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

A JSON object containing advertiser information

active
boolean
address
string
company_name
string
country
string
description
string
email
string
first_name
string
last_name
string
manager_id
string
messenger
string
name
required
string
phone
string
website
string

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "address": "456 Market St",
  • "company_name": "Acme Corporation",
  • "country": "US",
  • "description": "E-commerce advertiser",
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "last_name": "Smith",
  • "manager_id": "mgr123",
  • "messenger": "john_smith",
  • "name": "Acme Corp",
  • "phone": "+1-555-0200",
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Update Advertisers Status

Bulk update Advertisers status by providing an array of Advertiser incremental IDs and the new status.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of advertiser incremental IDs to update and the new status

active
boolean

Active is the new status to apply to every incremental ID in data.

data
Array of integers

Data is the list of incremental IDs to update.

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

List Archived Advertisers

List archived Advertisers.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Bulk Archive Advertisers

Bulk archive Advertisers by providing an array of Advertiser incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of advertiser incremental IDs to archive

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Delete Advertisers

Bulk delete archived Advertisers by providing an array of Advertiser incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of advertiser incremental IDs to delete

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Restore Advertisers

Bulk restore archived Advertisers by providing an array of Advertiser incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of advertiser incremental IDs to restore

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Advertiser

Get Advertiser information by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
advertiserID
required
string

The Advertiser incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Advertiser

Permanently delete an archived Advertiser by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
advertiserID
required
string

The Advertiser incremental ID

Responses

Update Advertiser

Update an Advertiser by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
advertiserID
required
string

The Advertiser incremental ID

Request Body schema: application/json
required

A JSON object containing advertiser information

active
boolean
address
string
company_name
string
country
string
description
string
email
string
first_name
string
last_name
string
manager_id
string
messenger
string
name
required
string
phone
string
website
string

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "address": "456 Market St",
  • "company_name": "Acme Corporation",
  • "country": "US",
  • "description": "E-commerce advertiser",
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "last_name": "Smith",
  • "manager_id": "mgr123",
  • "messenger": "john_smith",
  • "name": "Acme Corp",
  • "phone": "+1-555-0200",
}

Response samples

Content type
application/json
{ }

Archive Advertiser

Archive an Advertiser by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
advertiserID
required
string

The Advertiser incremental ID

Responses

Restore Advertiser

Restore an archived Advertiser by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
advertiserID
required
string

The Advertiser incremental ID

Responses

Offers

Manage tracking campaigns that publishers promote for advertisers. Offers define the advertiser relationship, visibility and publisher approval rules, landing pages, payout and revenue settings, targeting, fraud filter groups, capping, tracking domains, conversion behavior, and publisher-facing terms.

List Offers

List Offers using pagination and filtering.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Offer

Create a new Offer.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

A JSON object containing offer information

active
boolean
advertiser_id
required
integer
allow_duplicate_conversions
boolean
block_on_reject
boolean
conversion_name
string
currency
string
Enum: "USD" "EUR"
deep_link_enabled
boolean
object (integr8docs.OfferPayoutConfig)
description
string
enable_js_tracking
boolean
fallback_url
string
impression_forwarding_enabled
boolean
impression_forwarding_url
string
manually_approve_conversions
boolean
name
required
string
offer_preview_enabled
boolean
parallel_tracking_enabled
boolean
parallel_tracking_url
string
primary_domain
string
restriction_note
string
targeting_group_id
string
targeting_simple_enabled
boolean
terms_and_conditions
string
terms_and_conditions_enabled
boolean
view_through_attribution_enabled
boolean
visibility
string
Enum: "Public" "Private" "Requires_Approval"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "advertiser_id": 42,
  • "allow_duplicate_conversions": false,
  • "block_on_reject": false,
  • "conversion_name": "Sale",
  • "currency": "USD",
  • "deep_link_enabled": false,
  • "default_payout": {
    },
  • "description": "Summer promotion offer",
  • "enable_js_tracking": false,
  • "fallback_url": "https://fallback.example.com",
  • "impression_forwarding_enabled": false,
  • "impression_forwarding_url": "string",
  • "manually_approve_conversions": false,
  • "name": "Summer Campaign 2025",
  • "offer_preview_enabled": false,
  • "parallel_tracking_enabled": false,
  • "parallel_tracking_url": "https://track.example.com",
  • "primary_domain": "example.com",
  • "restriction_note": "string",
  • "targeting_group_id": "string",
  • "targeting_simple_enabled": false,
  • "terms_and_conditions": "string",
  • "terms_and_conditions_enabled": false,
  • "view_through_attribution_enabled": false,
  • "visibility": "Public"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

List Archived Offers

List archived Offers.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Get Offer

Get Offer information by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Offer

Permanently delete an archived Offer by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

Update Offer

Update an Offer by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Request Body schema: application/json
required

A JSON object containing offer information

active
boolean
advertiser_id
required
integer
allow_duplicate_conversions
boolean
block_on_reject
boolean
conversion_name
string
currency
string
Enum: "USD" "EUR"
deep_link_enabled
boolean
object (integr8docs.OfferPayoutConfig)
description
string
enable_js_tracking
boolean
fallback_url
string
impression_forwarding_enabled
boolean
impression_forwarding_url
string
manually_approve_conversions
boolean
name
required
string
offer_preview_enabled
boolean
parallel_tracking_enabled
boolean
parallel_tracking_url
string
primary_domain
string
restriction_note
string
targeting_group_id
string
targeting_simple_enabled
boolean
terms_and_conditions
string
terms_and_conditions_enabled
boolean
view_through_attribution_enabled
boolean
visibility
string
Enum: "Public" "Private" "Requires_Approval"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "advertiser_id": 42,
  • "allow_duplicate_conversions": false,
  • "block_on_reject": false,
  • "conversion_name": "Sale",
  • "currency": "USD",
  • "deep_link_enabled": false,
  • "default_payout": {
    },
  • "description": "Summer promotion offer",
  • "enable_js_tracking": false,
  • "fallback_url": "https://fallback.example.com",
  • "impression_forwarding_enabled": false,
  • "impression_forwarding_url": "string",
  • "manually_approve_conversions": false,
  • "name": "Summer Campaign 2025",
  • "offer_preview_enabled": false,
  • "parallel_tracking_enabled": false,
  • "parallel_tracking_url": "https://track.example.com",
  • "primary_domain": "example.com",
  • "restriction_note": "string",
  • "targeting_group_id": "string",
  • "targeting_simple_enabled": false,
  • "terms_and_conditions": "string",
  • "terms_and_conditions_enabled": false,
  • "view_through_attribution_enabled": false,
  • "visibility": "Public"
}

Response samples

Content type
application/json
{ }

Archive Offer

Archive an Offer by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

Restore Offer

Restore an archived Offer by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

OfferEvents

Manage additional conversion events within an offer, such as upsells, registrations, purchases, or other post-conversion actions. Events have their own incremental IDs, payout and revenue configuration, approval behavior, active/archive state, and conversion fraud filter settings.

List Offer Events

List offer events for an Offer.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Offer Event

Create an offer event for an Offer.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Request Body schema: application/json
required

A JSON object containing offer event information

active
boolean
allow_multiple_events
boolean
description
string
manually_approve_events
boolean
name
required
string
payout
number
payout_percent
number
payout_type
string
Enum: "CPA" "CPS" "CPAxCPS" "CPC" "CPM" "PRV"
revenue
number
revenue_percent
number
revenue_type
string
Enum: "RPA" "RPS" "RPAxRPS" "RPC" "RPM"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "allow_multiple_events": false,
  • "description": "User submits lead form",
  • "manually_approve_events": false,
  • "name": "Lead Signup",
  • "payout": 5,
  • "payout_percent": 0,
  • "payout_type": "CPA",
  • "revenue": 10,
  • "revenue_percent": 0,
  • "revenue_type": "RPA"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Get Offer Event

Get an offer event by Offer and Offer Event incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerEventID
required
string

The Offer Event incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Offer Event

Delete an offer event by Offer and Offer Event incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerEventID
required
string

The Offer Event incremental ID

Responses

Update Offer Event

Update an offer event by Offer and Offer Event incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerEventID
required
string

The Offer Event incremental ID

Request Body schema: application/json
required

A JSON object containing offer event information

active
boolean
allow_multiple_events
boolean
description
string
manually_approve_events
boolean
name
required
string
payout
number
payout_percent
number
payout_type
string
Enum: "CPA" "CPS" "CPAxCPS" "CPC" "CPM" "PRV"
revenue
number
revenue_percent
number
revenue_type
string
Enum: "RPA" "RPS" "RPAxRPS" "RPC" "RPM"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "allow_multiple_events": false,
  • "description": "User submits lead form",
  • "manually_approve_events": false,
  • "name": "Lead Signup",
  • "payout": 5,
  • "payout_percent": 0,
  • "payout_type": "CPA",
  • "revenue": 10,
  • "revenue_percent": 0,
  • "revenue_type": "RPA"
}

Response samples

Content type
application/json
{ }

OfferLandingPages

Manage the destination URLs attached to an offer. Landing pages define redirect and preview URLs, optional publisher-visible destinations, active/archive state, link-test behavior, and the incremental landing-page IDs publishers can reference in tracking links.

List Offer Landing Pages

List offer landing pages for an Offer.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [],
  • "meta": {
    }
}

Create Offer Landing Page

Create an offer landing page.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

Request Body schema: application/json
required

A JSON object containing offer landing page information

active
boolean
hide_from_publishers
boolean
name
required
string
preview_url
string
redirect_url
required
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Get Offer Landing Page

Get an offer landing page by Offer and Offer Landing Page incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerLandingPageID
required
string

The Offer Landing Page incremental ID

Responses

Response samples

Content type
application/json
{}

Delete Offer Landing Page

Delete an offer landing page by Offer and Offer Landing Page incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerLandingPageID
required
string

The Offer Landing Page incremental ID

Responses

Update Offer Landing Page

Update an offer landing page by Offer and Offer Landing Page incremental IDs.

Authorizations:
ApiKeyAuth
path Parameters
offerID
required
string

The Offer incremental ID

offerLandingPageID
required
string

The Offer Landing Page incremental ID

Request Body schema: application/json
required

A JSON object containing offer landing page information

active
boolean
hide_from_publishers
boolean
name
required
string
preview_url
string
redirect_url
required
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{ }

LinkMonitoring

Manage link monitors for offer landing pages. Includes check profile, final-domain checks, auto-pause, 90-day uptime bars, response-time charts, check history, and cert status.

List link monitors

Returns paginated monitors for the authenticated Integr8 integration, with overview KPIs. Fetch GET /link-monitoring/{id}/uptime-bar for the uptime bars.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
query
string

Search monitor ID, offer, landing page, integration, name, or URL

sort
string

Sort fields, prefixed with - for descending order

page[number]
integer

One-based page number

page[size]
integer

Page size (default 100)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create a link monitor

Creates an Integr8 link monitor for an offer landing page. Integration is taken from the authenticated Integr8 context.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

Link monitor settings

active
boolean
Default: true
allowed_domains
Array of strings

The list of allowed domains of the final URL. If set, the final URL domain must match at least one entry.

check_frequency
string
Default: "Hourly"
Enum: "Every5Minutes" "Every15Minutes" "Hourly"
custom_user_agent
string
deeplink_path
string
device
string
Default: "windows"
Enum: "windows" "mac" "ios" "android" "custom_user_agent"
landing_page_id
required
string
max_hops
integer [ 1 .. 300 ]
Default: 100
offer_id
required
string
pause_after_failures_count
integer
pause_after_failures_enabled
boolean
proxy_country
string
timeout_seconds
integer [ 5 .. 120 ]
Default: 60

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "allowed_domains": [
    ],
  • "check_frequency": "Every5Minutes",
  • "custom_user_agent": "string",
  • "deeplink_path": "string",
  • "device": "windows",
  • "landing_page_id": "string",
  • "max_hops": 100,
  • "offer_id": "string",
  • "pause_after_failures_count": 0,
  • "pause_after_failures_enabled": true,
  • "proxy_country": "string",
  • "timeout_seconds": 60
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Get a link monitor

Returns one monitor with overview KPIs. Fetch GET /link-monitoring/{id}/uptime-bar for the uptime bars.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete a link monitor

Deletes an Integr8 link monitor config. Check history is not deleted. This does not delete the offer landing page.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Update a link monitor

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Request Body schema: application/json
required

Fields to update

active
boolean

Active, when true, also resets consecutive_failure_count and paused_at.

allowed_domains
Array of strings

The list of allowed domains of the final URL. If set, the final URL domain must match at least one entry.

check_frequency
string
Enum: "Every5Minutes" "Every15Minutes" "Hourly"
custom_user_agent
string
deeplink_path
string
device
string
Enum: "windows" "mac" "ios" "android" "custom_user_agent"
max_hops
integer
pause_after_failures_count
integer
pause_after_failures_enabled
boolean
proxy_country
string
timeout_seconds
integer

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "allowed_domains": [
    ],
  • "check_frequency": "Every5Minutes",
  • "custom_user_agent": "string",
  • "deeplink_path": "string",
  • "device": "windows",
  • "max_hops": 0,
  • "pause_after_failures_count": 0,
  • "pause_after_failures_enabled": true,
  • "proxy_country": "string",
  • "timeout_seconds": 0
}

Response samples

Content type
application/json
{ }

Get TLS certificate expiry for a link monitor

Returns certificate expiry for the Monitor Detail card. Source is "unavailable" until runtime records certificate expiry.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get 90-day P95 latency chart for a link monitor

Returns a React ECharts line option for 90 UTC days of P95 check duration in milliseconds. Days without eligible checks are 0. Empty history returns a No Data chart.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

List recent check logs for a link monitor

Returns paginated check history for one monitor. Default page size is 30.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

query Parameters
sort
string

Sort fields, prefixed with - for descending order; default -timestamp

page[number]
integer

One-based page number

page[size]
integer

Page size (default 30)

start_time
string

Start timestamp (YYYY-MM-DD HH:mm:ss)

end_time
string

End timestamp (YYYY-MM-DD HH:mm:ss)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Run a link monitor check

Runs the redirect check for the monitor and returns the resulting log entry.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get 90-day summary stats for a link monitor

Returns uptime ratio, failed/total eligible checks, system errors, p95 latency, and last checked time over the same 90 UTC day window as uptime-bar and chart.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Get 90-day daily uptime bars for a link monitor

Returns 90 UTC days of uptime-bar status, oldest first. Days without eligible checks are NoData.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

Link monitor ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

PostbackManagers

Manage rules that forward postbacks to external URLs. A postback manager targets a service type (paid clicks (CPC), conversion, or event), fires to a configured URL with an optional delay, and uses filters such as filtering status, publisher, offer, event, and rejection reasons to decide which requests to relay.

List Postback Managers

List postback managers.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Postback Manager

Create a postback manager.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

A JSON object containing postback information

active
boolean
delay_metric
string
Default: "Second"
Enum: "Second" "Minute" "Hour"
delay_value
integer
description
string
object (integr8docs.PostbackManagerFilters)
has_firing_delay
boolean
name
required
string
service_type
required
string
Enum: "click" "impression" "conversion" "event"
url
required
string

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "delay_metric": "Second",
  • "delay_value": 0,
  • "description": "Fires on approved conversions",
  • "filters": {
    },
  • "has_firing_delay": false,
  • "name": "Publisher Conversion Postback",
  • "service_type": "conversion",
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Update Postback Managers Status

Bulk update postback managers status.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of postback IDs to update and the new status

active
boolean

Active is the new status to apply to every ID in data.

data
Array of strings

Data is the list of record IDs to update.

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Delete Postback Managers

Bulk delete postback managers.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of postback IDs to delete

data
Array of strings

Data is the list of record IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Postback Manager

Get a postback manager by ID.

Authorizations:
ApiKeyAuth
path Parameters
postbackID
required
string

The Postback Manager ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Postback Manager

Delete a postback manager.

Authorizations:
ApiKeyAuth
path Parameters
postbackID
required
string

The Postback Manager ID

Responses

Update Postback Manager

Update a postback manager.

Authorizations:
ApiKeyAuth
path Parameters
postbackID
required
string

The Postback Manager ID

Request Body schema: application/json
required

A JSON object containing postback information

active
boolean
delay_metric
string
Default: "Second"
Enum: "Second" "Minute" "Hour"
delay_value
integer
description
string
object (integr8docs.PostbackManagerFilters)
has_firing_delay
boolean
name
string
url
string <url>

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "delay_metric": "Second",
  • "delay_value": 0,
  • "description": "Fires on approved conversions",
  • "filters": {
    },
  • "has_firing_delay": false,
  • "name": "Publisher Conversion Postback",
}

Response samples

Content type
application/json
{ }

Publishers

Manage the partners that send traffic to your offers. Publisher records contain company profile and billing details, promotional methods, tracking domains, manager assignment, tags, fraud visibility settings, postback manager access, and default conversion throttling behavior.

List Publishers

List Publishers using pagination and filtering.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Publisher

Create a new Publisher.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

A JSON object containing publisher information

active
boolean
address
string
city
string
company_name
string
countries
Array of strings
country
string
description
string
email
string
fraud_visibility_enabled
boolean
manager_id
string
messenger
string
name
required
string
phone
string
postback_manager_enabled
boolean
promotional_method
Array of strings
Items Enum: "Content" "DirectDisplay" "Email" "Incent" "Influencers" "MediaBuying" "NativeAds" "OwedOperated" "Partner" "PushMarketing" "SearchMarketing" "SMSMarketing" "SocialMedia" "Surveys" "VideoPromotions"
timezone
string
tracking_domain_ids
Array of strings
website
string

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "address": "123 Main St",
  • "city": "New York",
  • "company_name": "Acme Media Ltd",
  • "countries": [
    ],
  • "country": "US",
  • "description": "Top-tier affiliate publisher",
  • "email": "jane.doe@acmemedia.com",
  • "fraud_visibility_enabled": false,
  • "manager_id": "mgr123",
  • "messenger": "jane_doe",
  • "name": "Acme Media",
  • "phone": "+1-555-0100",
  • "postback_manager_enabled": true,
  • "promotional_method": [
    ],
  • "timezone": "America/New_York",
  • "tracking_domain_ids": [
    ],
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Update Publishers Status

Bulk update Publishers status by providing an array of Publisher incremental IDs and the new status.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of publisher incremental IDs to update and the new status

active
boolean

Active is the new status to apply to every incremental ID in data.

data
Array of integers

Data is the list of incremental IDs to update.

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

List Archived Publishers

List archived Publishers.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Bulk Archive Publishers

Bulk archive Publishers by providing an array of Publisher incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of publisher incremental IDs to archive

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Delete Publishers

Bulk delete archived Publishers by providing an array of Publisher incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of publisher incremental IDs to delete

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Restore Publishers

Bulk restore archived Publishers by providing an array of Publisher incremental IDs.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

An array of publisher incremental IDs to restore

data
Array of integers

Data is the list of incremental IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Publisher

Get Publisher information by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Publisher

Permanently delete an archived Publisher by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Update Publisher

Update a Publisher by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

A JSON object containing publisher information

active
boolean
address
string
city
string
company_name
string
countries
Array of strings
country
string
description
string
email
string
fraud_visibility_enabled
boolean
manager_id
string
messenger
string
name
required
string
phone
string
postback_manager_enabled
boolean
promotional_method
Array of strings
Items Enum: "Content" "DirectDisplay" "Email" "Incent" "Influencers" "MediaBuying" "NativeAds" "OwedOperated" "Partner" "PushMarketing" "SearchMarketing" "SMSMarketing" "SocialMedia" "Surveys" "VideoPromotions"
timezone
string
tracking_domain_ids
Array of strings
website
string

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "address": "123 Main St",
  • "city": "New York",
  • "company_name": "Acme Media Ltd",
  • "countries": [
    ],
  • "country": "US",
  • "description": "Top-tier affiliate publisher",
  • "email": "jane.doe@acmemedia.com",
  • "fraud_visibility_enabled": false,
  • "manager_id": "mgr123",
  • "messenger": "jane_doe",
  • "name": "Acme Media",
  • "phone": "+1-555-0100",
  • "postback_manager_enabled": true,
  • "promotional_method": [
    ],
  • "timezone": "America/New_York",
  • "tracking_domain_ids": [
    ],
}

Response samples

Content type
application/json
{ }

Archive Publisher

Archive a Publisher by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Restore Publisher

Restore an archived Publisher by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

PublisherUsers

Manage login and API access for users who belong to a publisher account. These endpoints maintain partner user profiles, account status, API access enablement, notes, signup metadata, and the publisher-level permissions inherited from the parent publisher.

List Publisher Users

List publisher users for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Publisher User

Create a new publisher user for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

Publisher User details

email
string
first_name
string
last_name
string
notes
string
status
string
Enum: "Active" "Deactivated" "Suspended"
timezone
string

Responses

Request samples

Content type
application/json
{
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "last_name": "Smith",
  • "notes": "Acme Publisher User",
  • "status": "Active",
  • "timezone": "UTC"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Delete Publisher Users

Bulk delete publisher users by ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

An array of publisher user IDs to delete

data
Array of strings

Data is the list of record IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Publisher User

Get a publisher user by ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherUserID
required
string

The Publisher User ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Publisher User

Delete a publisher user from a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherUserID
required
string

The Publisher User ID

Responses

Update Publisher User

Update a publisher user for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherUserID
required
string

The Publisher User ID

Request Body schema: application/json
required

Patch payload

email
string
first_name
string
last_name
string
notes
string
status
string
Enum: "Active" "Deactivated" "Suspended"
timezone
string

Responses

Request samples

Content type
application/json
{
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "last_name": "Smith",
  • "notes": "Acme Publisher User",
  • "status": "Active",
  • "timezone": "UTC"
}

Response samples

Content type
application/json
{ }

PublisherSubIDs

Manage known external sub_id values for a publisher. A managed Sub ID maps a URL-safe tracking value to a readable name, description, and optional external reference link so teams can identify publisher traffic sources consistently in tracking and reporting.

List Publisher Sub IDs

List publisher sub IDs for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Publisher Sub ID

Create a publisher sub ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

Publisher sub ID details

description
string
external_id
required
string
external_link
string
name
required
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Create Publisher Sub IDs

Bulk create publisher sub IDs for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

Publisher sub IDs to create

Array
description
string
external_id
required
string
external_link
string
name
required
string

Responses

Request samples

Content type
application/json
[]

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Delete Publisher Sub IDs

Bulk delete publisher sub IDs for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

An array of publisher sub IDs to delete

data
Array of strings

Data is the list of record IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Publisher Sub ID

Get a publisher sub ID by ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherSubID
required
string

The Publisher Sub ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Publisher Sub ID

Delete a publisher sub ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherSubID
required
string

The Publisher Sub ID

Responses

Update Publisher Sub ID

Update a publisher sub ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

publisherSubID
required
string

The Publisher Sub ID

Request Body schema: application/json
required

Publisher sub ID details

description
string
external_id
required
string
external_link
string
name
required
string

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{ }

PublisherBlockedSubIDs

Manage Sub ID blocking rules for a publisher and offer combination. A blocked Sub ID stops traffic from a specific external tracking value, tied to the publisher, offer, and an optional description.

List Blocked Sub IDs

List blocked Sub IDs.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
filter[publisher_incremental_id][eq_n]
integer

The Publisher's Incremental ID

filter[offer_incremental_id][eq_n]
integer

The Offer's Incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Blocked Sub ID

Create a blocked Sub ID.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

A JSON object containing BlockedSubID information

description
string <= 255 characters

Description is an optional operator-facing note explaining why the Sub ID is blocked.

offer_incremental_id
required
integer

OfferIncrementalID identifies the offer where the Sub ID is blocked.

organization
required
string

Organization identifies the owning organization for this blocking rule.

publisher_incremental_id
required
integer

PublisherIncrementalID identifies the publisher whose Sub ID is blocked.

sub_id
required
string <= 30 characters

SubID is the publisher-provided tracking value that traffic control blocks for the selected publisher and offer.

Responses

Request samples

Content type
application/json
{
  • "description": "Blocked due to invalid traffic",
  • "offer_incremental_id": 42,
  • "organization": "string",
  • "publisher_incremental_id": 1,
  • "sub_id": "sub_campaign_a"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Delete Blocked Sub IDs

Bulk delete blocked Sub IDs.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

array of BlockedSubID ids

data
Array of strings

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Blocked Sub ID

Get a blocked Sub ID by ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
blockedSubID_ID
required
string

The BlockedSubID ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Blocked Sub ID

Delete a blocked Sub ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
blockedSubID_ID
required
string

The BlockedSubID ID

Responses

Update Blocked Sub ID

Update a blocked Sub ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
blockedSubID_ID
required
string

The BlockedSubID ID

Request Body schema: application/json
required

A JSON object containing BlockedSubID information

description
string

Description replaces the human-readable note for an existing Sub ID block when present; nil leaves the description unchanged.

Responses

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{ }

PublisherCustomPayout

Manage publisher-specific payout and revenue overrides for an offer or offer event. Custom payouts replace the default commercial terms for a selected publisher, offer, and optional event.

List Custom Payouts

List custom payouts.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
filter[publisher_incremental_id][eq_n]
integer

The Publisher's Incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Custom Payout

Create a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

A JSON object containing CustomPayout information

event_incremental_id
integer

EventIncrementalID identifies the offer event whose payout is overridden.

object

A key value pair useful for any useful migration related information

offer_incremental_id
required
integer

OfferIncrementalID identifies the offer where the custom payout applies.

payout
number
payout_percent
number <= 100
payout_type
string
Enum: "Unknown" "CPA" "CPS" "CPAxCPS" "CPC" "CPM" "PRV"
platform
string
Enum: "Unknown" "HasOffers" "Everflow" "Affise"

The platform from which the data was migrated.

publisher_incremental_id
required
integer

PublisherIncrementalID identifies the publisher receiving the custom payout.

revenue
number
revenue_percent
number <= 100
revenue_type
string
Enum: "Unknown" "RPA" "RPS" "RPAxRPS" "RPC" "RPM"

Responses

Request samples

Content type
application/json
{
  • "event_incremental_id": 2,
  • "meta": {
    },
  • "offer_incremental_id": 42,
  • "payout": 0,
  • "payout_percent": 100,
  • "payout_type": "Unknown",
  • "platform": "Unknown",
  • "publisher_incremental_id": 1,
  • "revenue": 0,
  • "revenue_percent": 100,
  • "revenue_type": "Unknown"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Delete Custom Payouts

Bulk delete custom payouts.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

An array of custom payout IDs to delete

data
Array of strings

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Custom Payout

Get a custom payout by ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customPayoutID
required
string

The CustomPayout ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Custom Payout

Delete a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customPayoutID
required
string

The CustomPayout ID

Responses

Update Custom Payout

Update a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customPayoutID
required
string

The CustomPayout ID

Request Body schema: application/json
required

A JSON object containing CustomPayout information

event_incremental_id
integer

EventIncrementalID replaces the offer event for an existing custom payout when present; nil leaves the event unchanged.

offer_incremental_id
integer

OfferIncrementalID replaces the offer for an existing custom payout when present; nil leaves the offer unchanged.

payout
number
payout_percent
number
payout_type
string
Enum: "Unknown" "CPA" "CPS" "CPAxCPS" "CPC" "CPM" "PRV"
revenue
number
revenue_percent
number
revenue_type
string
Enum: "Unknown" "RPA" "RPS" "RPAxRPS" "RPC" "RPM"

Responses

Request samples

Content type
application/json
{
  • "event_incremental_id": 0,
  • "offer_incremental_id": 0,
  • "payout": 0,
  • "payout_percent": 0,
  • "payout_type": "Unknown",
  • "revenue": 0,
  • "revenue_percent": 0,
  • "revenue_type": "Unknown"
}

Response samples

Content type
application/json
{ }

PublisherCustomThrottle

Manage publisher-specific conversion throttling rules for an offer. Custom throttle records define whether throttling is active, the percentage chance to throttle, the resulting conversion status, and optional sub_id filters that narrow when the throttling rule applies.

List Custom Throttles

List custom throttles for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Create Custom Throttle

Create a custom throttle for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

Custom throttle details

active
boolean
object (integr8docs.AdditionalThrottleRateFilters)
object (integr8docs.HourlyThrottleConfig)
hourly_throttle_enabled
boolean
offer_incremental_id
required
integer
Array of objects (integr8docs.SubIDFilter)
throttle_mode
string
Enum: "PublisherLevel" "SubIDLevel"
throttle_percentage
integer
throttle_status
string
Enum: "Rejected" "Pending"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "additional_filters": {
    },
  • "hourly_throttle_config": {
    },
  • "hourly_throttle_enabled": false,
  • "offer_incremental_id": 42,
  • "sub_id_filters": [
    ],
  • "throttle_mode": "PublisherLevel",
  • "throttle_percentage": 50,
  • "throttle_status": "Pending"
}

Response samples

Content type
application/json
{
  • "created_item_id": "string"
}

Bulk Update Custom Throttles Status

Bulk update custom throttle status for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

An array of custom throttle IDs and the new status

active
boolean

Active is the new status to apply to every ID in data.

data
Array of strings

Data is the list of record IDs to update.

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Bulk Delete Custom Throttles

Bulk delete custom throttles for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

Request Body schema: application/json
required

An array of custom throttle IDs to delete

data
Array of strings

Data is the list of record IDs to act on.

Responses

Request samples

Content type
application/json
{
  • "data": [
    ]
}

Response samples

Content type
application/json
{ }

Get Custom Throttle

Get a custom throttle by ID for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

customThrottleID
required
string

The Custom Throttle ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Custom Throttle

Delete a custom throttle for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

customThrottleID
required
string

The Custom Throttle ID

Responses

Update Custom Throttle

Update a custom throttle for a publisher identified by incremental ID.

Authorizations:
ApiKeyAuth
path Parameters
publisherID
required
string

The Publisher incremental ID

customThrottleID
required
string

The Custom Throttle ID

Request Body schema: application/json
required

Custom throttle details

active
boolean
object (integr8docs.AdditionalThrottleRateFilters)
object (integr8docs.HourlyThrottleConfig)
hourly_throttle_enabled
boolean
offer_incremental_id
required
integer
Array of objects (integr8docs.SubIDFilter)
throttle_mode
string
Enum: "PublisherLevel" "SubIDLevel"
throttle_percentage
integer
throttle_status
string
Enum: "Rejected" "Pending"

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "additional_filters": {
    },
  • "hourly_throttle_config": {
    },
  • "hourly_throttle_enabled": false,
  • "offer_incremental_id": 42,
  • "sub_id_filters": [
    ],
  • "throttle_mode": "PublisherLevel",
  • "throttle_percentage": 50,
  • "throttle_status": "Pending"
}

Response samples

Content type
application/json
{ }

Reports

Pagination

The Reports API page[size] limit is only 100. If you need to quickly and efficiently export a massive amount of data, we recommend to use the Download Center Export APIs.

Reports API methods use cursor-based pagination through the page[after] and page[before] parameters. Both parameters accept an existing value in transaction ID format which matches the objects real_tx_id field.

The values to use can be found under pageInfo.startCursor and pageInfo.endCursor from the response and return objects in reverse chronological order. The page[before] parameter returns objects listed before object.real_tx_id. The page[after] parameter returns objects listed after object.real_tx_id. These parameters are mutually exclusive. You can use either the page[after] or page[before] parameter, but not both simultaneously.

  • data.pageInfo.startCursor is the cursor of first object in the current page.
  • data.pageInfo.endCursor is the cursor of the last object in the current page.
  • data.pageInfo.hasNextPage shows you if there is a next page.
  • data.pageInfo.hasPreviousPage shows you if there is a previous page.
GET /api/v2/reports/networks/conversion-table?page[size]=25&start_time=2025-02-01 00:00:00&end_time=2025-02-27 23:59:59

Example response:

{
  "data": {
    "data": [
      {
        "real_tx_id": "ABC"
      },
      {
        "real_tx_id": "............"
      },
      {
        "real_tx_id": "XYZ"
      }
    ],
    "pageInfo": {
      "startCursor": "ABC",
      "endCursor": "XYZ",
      "hasPreviousPage": true,
      "hasNextPage": true
    }
  }
}

Fetch the next page by adding &page[after]=XYZ in the request.

GET /api/v2/reports/networks/conversion-table?page[size]=25&start_time=2025-02-01 00:00:00&end_time=2025-02-27 23:59:59&page[after]=XYZ

Example response:

{
  "data": {
    "data": [
      {
        "real_tx_id": "{startCursor}"
      },
      {
        "real_tx_id": "............"
      },
      {
        "real_tx_id": "{endCursor}"
      }
    ],
    "pageInfo": {
      "startCursor": "{startCursor}",
      "endCursor": "{endCursor}",
      "hasPreviousPage": true,
      "hasNextPage": true
    }
  }
}

Sorting

Sorting is NOT SUPPORTED. Objects are always are sorted in reverse chronological order.

Using Download Center

Use Get Download Center Export to check the Export object status. When the status is COMPLETED, you can use Get Download Center Export URL and use the link to download the CSV file. The other status to check for are PENDING and ERROR.

Example

Request to Export Clicks. Get the exportID.

GET /api/v2/networks/download-center/clicks-export?start_time=2025-01-01 00:00:00&end_time=2025-01-02 23:59:59
{
  "id": "{exportID}"
  ....
}

Check the export status using the exportID and get the artifactName:

GET /api/v2/downloadcenter-exports/{exportID}
{
  "id": "{exportID}"
  "status": "COMPLETED"
  "artifact": {
    "name": "{artifactName}
  }
  ....
}

Get the signed URL by passing the artifactName:

GET /downloadcenter-artifact-url?artifact_name={artifactName}
{
  "url": "{downloadLink}"
}

The file is in compressed zip format and inside is the CSV file.

Download Clicks

Use Download Center to export Clicks to a CSV file.

Authorizations:
ApiKeyAuth
query Parameters
delimiter
string

Delimiter to be used in CSV. Default is comma.

start_time
required
string

Fetch data where request_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where request_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

fields
required
string

The columns to include in the CSV

extra_parameters
required
string

The extra parameters data that will be converted as columns in the CSV

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Download Conversions

Use Download Center to export Conversions to a CSV file.

Authorizations:
ApiKeyAuth
query Parameters
delimiter
string

Delimiter to be used in CSV. Default is comma.

start_time
required
string

Fetch data where conversion_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where conversion_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

fields
required
string

The columns to include in the CSV

extra_parameters
required
string

The extra parameters data that will be converted as columns in the CSV

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Download Impressions

Use Download Center to export Impressions to a CSV file.

Authorizations:
ApiKeyAuth
query Parameters
delimiter
string

Delimiter to be used in CSV. Default is comma.

start_time
required
string

Fetch data where request_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where request_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

fields
required
string

The columns to include in the CSV

extra_parameters
required
string

The extra parameters data that will be converted as columns in the CSV

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Download Postback Logs

Use Download Center to export Postback Logs to a CSV file.

Authorizations:
ApiKeyAuth
query Parameters
delimiter
string

Delimiter to be used in CSV. Default is comma.

start_time
required
string

The start time (format: 2006-01-02 15:04:05)

end_time
required
string

The end time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

fields
required
string

The columns to include in the CSV

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Postback Logs Report

Get a postback logs report for a date range.

Authorizations:
ApiKeyAuth
query Parameters
start_time
required
string

The start time (format: 2006-01-02 15:04:05)

end_time
required
string

The end time (format: 2006-01-02 15:04:05)

filter[service_type]
string
Enum: "conversion" "click" "impression"

The service that triggered the postback event

filter[postback_manager_id]
string

The postback manager that triggered the postback event

filter[tx_id]
string

The transaction ID of the event that triggered the postback

filter[offer_id]
string

The offer ID

filter[publisher]
string

The publisher ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Click Report

Get a click report.

Authorizations:
ApiKeyAuth
query Parameters
start_time
required
string

Fetch data where request_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where request_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

page[size]
required
integer

The number of items to return

page[before]
string

Fetch the previous data before this cursor

page[after]
string

Fetch the next data after this cursor

filter[status]
string
Enum: "Approved" "Rejected"

The report's status

filter[offer_id]
string

The report's offer id

filter[publisher]
string

The report's publisher

filter[advertiser]
string

The report's advertiser

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Conversion Report

Get a conversion report.

Authorizations:
ApiKeyAuth
query Parameters
start_time
required
string

Fetch data where conversion_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where conversion_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

page[size]
required
integer

The number of items to return

page[before]
string

Fetch the previous data before this cursor

page[after]
string

Fetch the next data after this cursor

filter[status]
string
Enum: "Approved" "Rejected"

The report's status

filter[offer_id]
string

The report's offer id

filter[publisher]
string

The report's publisher

filter[advertiser]
string

The report's advertiser

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update Conversion

Update one or more conversion records (approve, reject, or modify payout/revenue values).

Before using this endpoint, retrieve the conversion record from the Conversion Report API to obtain the required tx_id, conversion_time, and hash values.

This API is for advanced users. Each of tx_id, conversion_time, and hash must match exactly the values returned by the Conversion Report API — any mismatch will cause the update to be silently skipped.

A 200 OK response does not guarantee the conversion was updated. If the provided fields do not match an existing conversion record, the request will succeed without making any changes. Always verify the result by querying the Conversion Report API after calling this endpoint.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required

The update payload

Array of objects (integr8docs.ConversionUpdateRequest)

Responses

Request samples

Content type
application/json
{
  • "updates": [
    ]
}

Response samples

Content type
application/json
{
  • "success": true
}

Daily Overview Table

Get a daily overview report for a date range.

Example (copy and replace the dates and API key):

curl 'https://api.app.integr8.co/api/v2/reports/networks/daily-table?start_date=2026-01-01&end_date=2026-01-31&page[number]=1' -H 'API-Key: YOUR_API_KEY'

Important: Write page[number]=1. Do not write page[1].

Authorizations:
ApiKeyAuth
query Parameters
start_date
required
string <date>

start date

end_date
required
string <date>

end date

timezone
string

timezone

sort
string

Sort the order of rows by this column

page[number]
integer

The page number. Example: page[number]=1

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Impression Report

Get an impression report.

Authorizations:
ApiKeyAuth
query Parameters
start_time
required
string

Fetch data where request_time is starting from this date time (format: 2006-01-02 15:04:05)

end_time
required
string

Fetch data where request_time is until this date time (format: 2006-01-02 15:04:05)

timezone
string

Optional IANA timezone, Defaults to UTC

page[size]
required
integer

The number of items to return

page[before]
string

Fetch the previous data before this cursor

page[after]
string

Fetch the next data after this cursor

filter[status]
string
Enum: "Approved" "Rejected"

The report's status

filter[offer_id]
string

The report's offer id

filter[publisher]
string

The report's publisher

filter[advertiser]
string

The report's advertiser

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Overview Table

Get an overview report for a date range. Use columns[] to choose how results are grouped (for example by advertiser or offer).

Example (copy and replace the dates and API key):

curl 'https://api.app.integr8.co/api/v2/reports/networks/overview-table?start_date=2026-01-01&end_date=2026-01-31&columns[]=advertiser,offer_id' -H 'API-Key: YOUR_API_KEY'

Important: Write columns[]=advertiser (name after =). Do not write columns[advertiser]. To group by more than one column, separate names with a comma: columns[]=advertiser,offer_id. For paging, write page[number]=1 and page[size]=50. Do not write page[1].

Authorizations:
ApiKeyAuth
query Parameters
start_date
required
string <date>

Fetch data with date starting here

end_date
required
string <date>

Fetch data with date until here

timezone
string

Optional IANA timezone, Defaults to UTC

columns[]
Array of strings

Group data by these columns: date, advertiser, offer_id, publisher, sub_id. Example: columns[]=advertiser,offer_id

sort
string

Sort the order of rows by this column

page[number]
integer

The page number. Example: page[number]=1

page[size]
integer

How many items per page to return. Example: page[size]=50

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

DownloadCenter

Monitor and retrieve asynchronous CSV export jobs. Start exports from Reports; use these endpoints to check status, list jobs, delete an export, and fetch the signed download URL.

Get Download Center Export URL

Get the signed url for a download center file. You need this URL in order to download the file.

Authorizations:
ApiKeyAuth
query Parameters
artifact_name
required
string

The Download Export object artifact name

Responses

Response samples

Content type
application/json

List Download Center Exports

List all the Download Center exports.

Authorizations:
ApiKeyAuth

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "meta": {
    }
}

Get Download Center Export

Get the Download Center export object.

Authorizations:
ApiKeyAuth
path Parameters
exportID
required
string

The Export ID

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Delete Download Center Export

Delete the Download Center export object and the associated file.

Authorizations:
ApiKeyAuth
path Parameters
exportID
required
string

The Export ID

Responses