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:
ApiKeyAuthBearerAuth

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:
ApiKeyAuthBearerAuth
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" "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:
ApiKeyAuthBearerAuth
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:
ApiKeyAuthBearerAuth
path Parameters
userID
required
string

The User ID

Responses

Update User

Update an organization user by ID.

Authorizations:
ApiKeyAuthBearerAuth
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" "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 multiple Advertisers with pagination and filtering.

Authorizations:
ApiKeyAuthBearerAuth

Responses

Response samples

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

Create Advertiser

Create a new Advertiser.

Authorizations:
ApiKeyAuthBearerAuth
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 IDs and the new status.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

An array of advertiser IDs to update and the new status

active
boolean
data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Bulk Delete Advertisers

Bulk delete Advertisers by providing an array of Advertiser IDs.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

An array of advertiser IDs to delete

data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Get Advertiser

Get an Advertiser information.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
advertiserID
required
string

The Advertiser ID

Responses

Response samples

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

Delete Advertiser

Delete an Advertiser. Deleted Advertisers are archived and can be restored.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
advertiserID
required
string

The Advertiser ID

Responses

Update Advertiser

Update an Advertiser information.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
advertiserID
required
string

The Advertiser 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
{ }

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 multiple Offers using pagination and filtering.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

Responses

Response samples

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

Create Offer

Create a new Offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration 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
{
  • "created_item_id": "string"
}

Bulk Update Offers Status

Bulk update Offers status by providing an array of Offer IDs and the new status.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

Request Body schema: application/json
required

An array of offer IDs to update and the new status

active
boolean
data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Bulk Delete Offers

Bulk delete Offers by providing an array of Offer IDs.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

Request Body schema: application/json
required

An array of offer IDs to delete

data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Get Offer

Get Offer information.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

Responses

Response samples

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

Delete Offer

Delete an Offer. Deleted Offers are archived and can be restored.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

Responses

Update Offer

Update an Offer by providing the object ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer 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
{ }

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 all offer events

You can list all offer events within an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

Responses

Response samples

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

Create an offer event

You can create an offer event in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer 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"
}

Read an offer event

You can read an offer event in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerEventID
required
string

The OfferEvent ID

Responses

Response samples

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

Delete an offer event

You can delete an offer event in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerEventID
required
string

The OfferEvent ID

Responses

Update an offer event

You can update an offer event in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerEventID
required
string

The OfferEvent 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 integr8 link test logs

Returns paginated Integr8 link test logs scoped to the authenticated user's organization. Additional filtering by integration_id, advertiser_incremental_id, offer_incremental_id, or landing_page_incremental_id is available via query params.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
start_time
string

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

end_time
string

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

sort
string

sort

page[number]
integer

The page number

page[size]
integer

How many items per page to return

timezone
string

Optional IANA timezone, Defaults to UTC

Responses

Response samples

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

Get Integr8 link test logs bar chart by failed reason

Returns Integr8 link test failed-reason chart data scoped to the authenticated user's organization.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
start_time
required
string

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

end_time
required
string

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

Responses

Response samples

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

Get Integr8 link test logs bar chart by status

Returns Integr8 link test status chart data scoped to the authenticated user's organization.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
start_time
required
string

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

end_time
required
string

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

Responses

Response samples

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

List Integr8 link test logs grouped

Returns grouped Integr8 link test logs scoped to the authenticated user's organization.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
start_time
required
string

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

end_time
required
string

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

fields
string

Fields to include: integration_id, advertiser, advertiser_incremental_id, offer, offer_incremental_id, landing_page_incremental_id, test_url_domain, final_domain, proxy_country, device

sort
string

Sort the order of rows by this column

page[number]
integer

The page number

page[size]
integer

How many items per page to return

timezone
string

Optional IANA timezone, Defaults to UTC

Responses

Response samples

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

Get Integr8 link test logs totals by time period

Returns Integr8 link test total cards scoped to the authenticated user's organization.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
time_period
required
string
Enum: "Yesterday" "Today" "Last7D" "Last30D"

The time period to get the totals for

timezone
string

Optional IANA timezone, Defaults to UTC

integration_id
string

Filter by integration ID

Responses

Response samples

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

Get a single Integr8 link test log

Returns a single Integr8 link test log by request ID, scoped to the authenticated user's organization.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
id
required
string

The Request ID

Responses

Response samples

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

List all offer landing pages

You can list all offer landing pages within an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

Responses

Response samples

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

Create an offer landing page

You can create an offer landing page in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer 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"
}

Read an offer landing page

You can read an offer landing page in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerLandingPageID
required
string

The OfferLandingPage ID

Responses

Response samples

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

Delete an offer landing page

You can delete an offer landing page in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerLandingPageID
required
string

The OfferLandingPage ID

Responses

Update an offer landing page

You can update an offer landing page in an offer.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

offerID
required
string

The Offer ID

offerLandingPageID
required
string

The OfferLandingPage 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
{ }

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 multiple Publishers using pagination and filtering.

Authorizations:
ApiKeyAuthBearerAuth

Responses

Response samples

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

Create Publisher

Create a new Publisher.

Authorizations:
ApiKeyAuthBearerAuth
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" "Email" "Search" "Social" "Display" "Native" "Push" "SMS" "Other"
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": true,
  • "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 IDs and the new status.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

An array of publisher IDs to update and the new status

active
boolean
data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Bulk Delete Publishers

Bulk delete Publishers by providing an array of Publisher IDs.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

An array of publisher IDs to delete

data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Get Publisher

Get a Publisher information.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Responses

Response samples

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

Delete Publisher

Delete a Publisher. This will archive the Publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Responses

Update Publisher

Update a Publisher information.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher 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" "Email" "Search" "Social" "Display" "Native" "Push" "SMS" "Other"
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": true,
  • "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
{ }

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 all publisher users for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Responses

Response samples

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

Create a publisher user

Create a new publisher user for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Request Body schema: application/json
required

Publisher User details

created_at
string <date-time>
description
string
email
string
first_name
string
fraud_visibility_enabled
boolean
id
string
last_name
string
postback_manager_enabled
boolean
publisher_id
string
publisher_incremental_id
integer
status
string
Enum: "Active" "Deactivated" "Suspended"
timezone
string
updated_at
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "Acme Publisher User",
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "fraud_visibility_enabled": true,
  • "id": "abc123",
  • "last_name": "Smith",
  • "postback_manager_enabled": true,
  • "publisher_id": "def456",
  • "publisher_incremental_id": 1,
  • "status": "Active",
  • "timezone": "UTC",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Response samples

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

Get a publisher user

Get a publisher user by ID.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

publisherUserID
required
string

The Publisher User ID

Responses

Response samples

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

Delete a publisher user

Delete a publisher user from a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

publisherUserID
required
string

The Publisher User ID

Responses

Update a publisher user

Update a publisher user's profile.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher 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
timezone
string

Responses

Request samples

Content type
application/json
{
  • "email": "john.smith@acmecorp.com",
  • "first_name": "John",
  • "last_name": "Smith",
  • "notes": "Acme Publisher User",
  • "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 sub IDs for the authenticated publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
organizationID
required
string

The Organization ID

Responses

Response samples

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

Get publisher sub ID

Get one sub ID for the authenticated publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
organizationID
required
string

The Organization ID

publisherSubID
required
string

Publisher sub ID

Responses

Response samples

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

List publisher sub IDs

List sub IDs for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

Responses

Response samples

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

Create publisher sub ID

Create one sub ID for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

Request Body schema: application/json
required

Publisher sub ID data

description
string <= 2000 characters

Optional notes describing what this external SubID represents or how it is used.

external_id
required
string <= 50 characters

This is your Sub ID (sub_id) value that will be seen in tracking and reporting. It must have max 50 characters and must be URL compatible. Allowed characters: A-Z, a-z, 0-9, -, and _.

external_link
string <= 255 characters

Optional URL linking this managed SubID to an external system or reference page.

name
required
string <= 100 characters

The name used to identify the external SubID in management views.

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "external_id": "string",
  • "external_link": "string",
  • "name": "string"
}

Response samples

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

Bulk create publisher sub IDs

Create multiple sub IDs for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

Request Body schema: application/json
required

Publisher sub IDs

Array of objects (csapi.PublisherSubID)

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Bulk delete publisher sub IDs

Delete multiple sub IDs from a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

Request Body schema: application/json
required

Publisher sub IDs

data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Get publisher sub ID

Get one sub ID from a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

publisherSubID
required
string

Publisher sub ID

Responses

Response samples

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

Delete publisher sub ID

Delete one sub ID from a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

publisherSubID
required
string

Publisher sub ID

Responses

Response samples

Content type
application/json
{ }

Update publisher sub ID

Update one sub ID for a publisher.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

Publisher ID

publisherSubID
required
string

Publisher sub ID

Request Body schema: application/json
required

Publisher sub ID data

description
string
external_id
string
external_link
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "external_id": "string",
  • "external_link": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{ }

PublisherBlockedSubIDs

Block specific publisher sub_id values for a given publisher and offer combination. Use these records to stop or reject traffic from problematic external traffic sources while keeping the block tied to the affected publisher, offer, and explanatory description.

List all Blocked SubIDs

You can list all blocked subids.

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 a blocked subid

You can create a blocked subid.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

A JSON object containing BlockedSubID information

description
string <= 255 characters
offer_incremental_id
required
integer
organization
required
string
publisher_incremental_id
required
integer
sub_id
required
string <= 30 characters

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "offer_incremental_id": 0,
  • "organization": "string",
  • "publisher_incremental_id": 0,
  • "sub_id": "string"
}

Response samples

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

Delete Many Blocked SubIDs

A super admin can delete many Blocked SubIDs

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
{ }

Read a Blocked SubID

You can read a blocked subid.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
blockedSubID_ID
required
string

The BlockedSubID ID

Responses

Response samples

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

Delete a blocked subid

You can delete a blocked subid.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
blockedSubID_ID
required
string

The BlockedSubID ID

Responses

Update a Blocked SubID

You can update a blocked subid.

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

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 let you replace the default commercial terms for a selected publisher, offer, and optional event while preserving lookup details such as names, IDs, currency, and migration metadata.

List all custom payouts

You can list all 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 a custom payout

You can create a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

A JSON object containing CustomPayout information

event_incremental_id
integer
object

A key value pair useful for any useful migration related information

offer_incremental_id
required
integer
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
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": 0,
  • "meta": {
    },
  • "offer_incremental_id": 0,
  • "payout": 0,
  • "payout_percent": 100,
  • "payout_type": "Unknown",
  • "platform": "Unknown",
  • "publisher_incremental_id": 0,
  • "revenue": 0,
  • "revenue_percent": 100,
  • "revenue_type": "Unknown"
}

Response samples

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

Bulk delete custom payouts

You can 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
{ }

Read a custom payout

You can read a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customPayoutID
required
string

The CustomPayout ID

Responses

Response samples

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

Delete a custom payout

You can delete a custom payout.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
customPayoutID
required
string

The CustomPayout ID

Responses

Update a custom payout

You can 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
offer_incremental_id
integer
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

You can list all custom throttles

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Responses

Response samples

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

Create Custom Throttle

You can add one or many custom throttles

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Request Body schema: application/json
required

The custom throttle data

active
boolean
Default: false

When custom throttle is active, either the offer, conversion, or event will be throttled according to throttle settings.

object (csapi.AdditionalThrottleRateFilters)
offer_incremental_id
required
integer

The offer that the custom throttle is assigned to.

publisher_incremental_id
required
integer

The publisher that created the custom throttle.

throttle_percentage
required
integer <= 100

The chance that either the offer, conversion, or event will be throttled according to this percentage.

throttle_status
string
Default: "Pending"
Enum: "Rejected" "Pending"

The status to be used when either the offer, conversion, or event is throttled.

Responses

Request samples

Content type
application/json
{
  • "active": false,
  • "additional_filters": {
    },
  • "offer_incremental_id": 0,
  • "publisher_incremental_id": 0,
  • "throttle_percentage": 100,
  • "throttle_status": "Rejected"
}

Response samples

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

Update Many Custom Throttles status

You can update many custom throttles active status

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Request Body schema: application/json
required

The Array of Custom Throttle IDs and the status to update

active
boolean
data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Delete Many Custom Throttles

You can delete many custom throttles

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

Request Body schema: application/json
required

The Array of Custom Throttle IDs to delete

data
Array of strings

Responses

Request samples

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

Response samples

Content type
application/json
{ }

Get Custom Throttle

You can get a custom throttle's details

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

customThrottleID
required
string

The Custom Throttle ID

Responses

Response samples

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

Delete Custom Throttle

You can delete a custom throttle

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

customThrottleID
required
string

The Custom Throttle ID

Responses

Patch Custom Throttle

You can update a custom throttle's fields

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
publisherID
required
string

The Publisher ID

customThrottleID
required
string

The Custom Throttle ID

Request Body schema: application/json
required

The Custom Throttle payload

active
boolean

When custom throttle is active, either the offer, conversion, or event will be throttled according to throttle settings.

object (csapi.AdditionalThrottleRateFilters)
offer_incremental_id
integer
throttle_percentage
integer

The chance that either the offer, conversion, or event will be throttled according to this percentage.

throttle_status
string
Enum: "Rejected" "Pending"

The status to be used when either the offer, conversion, or event is throttled.

Responses

Request samples

Content type
application/json
{
  • "active": true,
  • "additional_filters": {
    },
  • "offer_incremental_id": 0,
  • "throttle_percentage": 0,
  • "throttle_status": "Rejected"
}

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/v2/conversion-table?page[size]=25&integration_id={integrationID}&start_date=2025-02-01&end_date=2025-02-27

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/v2/conversion-table?page[size]=25&integration_id={integrationID}&start_date=2025-02-01&end_date=2025-02-27&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.

POST /api/v2/download-center/clicks-export/{integrationID}?start_date=2025-01-01&end_date=2025-01-02
{
  "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. Use Reporting filters to narrow down the data.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

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
{
  • "artifact": {
    },
  • "created_at": "string",
  • "email_config": {
    },
  • "error": "string",
  • "export_list_options": {
    },
  • "format": {
    },
  • "guest_token": "string",
  • "id": "string",
  • "integration": "string",
  • "last_updated_by": "string",
  • "masking_config": {
    },
  • "notify_by_email": true,
  • "organization": "string",
  • "platform": "24metrics",
  • "reports_query_option": {
    },
  • "requested_by": "string",
  • "results_meta": {
    },
  • "status": "PENDING",
  • "type": "string",
  • "updated_at": "string"
}

Download Conversions

Use Download Center to export Conversions to a CSV file. Use Reporting filters to narrow down the data.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

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
{
  • "artifact": {
    },
  • "created_at": "string",
  • "email_config": {
    },
  • "error": "string",
  • "export_list_options": {
    },
  • "format": {
    },
  • "guest_token": "string",
  • "id": "string",
  • "integration": "string",
  • "last_updated_by": "string",
  • "masking_config": {
    },
  • "notify_by_email": true,
  • "organization": "string",
  • "platform": "24metrics",
  • "reports_query_option": {
    },
  • "requested_by": "string",
  • "results_meta": {
    },
  • "status": "PENDING",
  • "type": "string",
  • "updated_at": "string"
}

Download Impressions

Use Download Center to export Impressions to a CSV file. Use Reporting filters to narrow down the data.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

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
{
  • "artifact": {
    },
  • "created_at": "string",
  • "email_config": {
    },
  • "error": "string",
  • "export_list_options": {
    },
  • "format": {
    },
  • "guest_token": "string",
  • "id": "string",
  • "integration": "string",
  • "last_updated_by": "string",
  • "masking_config": {
    },
  • "notify_by_email": true,
  • "organization": "string",
  • "platform": "24metrics",
  • "reports_query_option": {
    },
  • "requested_by": "string",
  • "results_meta": {
    },
  • "status": "PENDING",
  • "type": "string",
  • "updated_at": "string"
}

Download Postback Logs

Use Download Center to export Postback Logs to a CSV file. Use Reporting filters to narrow down the data.

Authorizations:
ApiKeyAuthBearerAuth
path Parameters
integrationID
required
string

The Integration ID

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
{
  • "artifact": {
    },
  • "created_at": "string",
  • "email_config": {
    },
  • "error": "string",
  • "export_list_options": {
    },
  • "format": {
    },
  • "guest_token": "string",
  • "id": "string",
  • "integration": "string",
  • "last_updated_by": "string",
  • "masking_config": {
    },
  • "notify_by_email": true,
  • "organization": "string",
  • "platform": "24metrics",
  • "reports_query_option": {
    },
  • "requested_by": "string",
  • "results_meta": {
    },
  • "status": "PENDING",
  • "type": "string",
  • "updated_at": "string"
}

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:
ApiKeyAuthBearerAuth
Request Body schema: application/json
required

The update payload

integration_id
string
Array of objects (integr8docs.ConversionUpdateRequest)

Responses

Request samples

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

Response samples

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

Click Report

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
integration_id
required
string

The Integration ID

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

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
integration_id
required
string

The Integration ID

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": {
    }
}

Impression Report

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
integration_id
required
string

The Integration ID

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": {
    }
}

DownloadCenter

Create, monitor, and retrieve asynchronous CSV exports for large report datasets such as clicks, conversions, impressions, postbacks, and link tester logs. Download Center exports track processing status, query options, result metadata, email notification settings, generated artifacts, and signed download URLs.

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:
ApiKeyAuthBearerAuth
query Parameters
artifact_name
required
string

The Download Export object artifact name

Responses

Response samples

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

List Download Center Exports

List all the Download Center exports.

Authorizations:
ApiKeyAuthBearerAuth
query Parameters
filter[reports_query_option.filters.offer_id.equalvalues]
Array of strings

The offer IDs filter used in the exported data.

filter[reports_query_option.filters.publisher.equalvalues]
Array of strings

The publishers filter used in the exported data.

filter[reports_query_option.filters.advertiser.equalvalues]
Array of strings

The advertisers filter used in the exported data.

filter[reports_query_option.filters.integration_id.equalvalues]
Array of strings

The integration ID filter used in the exported data.

filter[reports_query_option.start_date]
string <date>

The start date filter used in the exported data. This is a string and date range logic does not apply. Use this if you know the exact start date filter used during the export.

filter[reports_query_option.end_date]
string <date>

The end date filter used in the exported data. This is a string and date range logic does not apply. Use this if you know the exact end date filter used during the export.

filter[status]
string
Enum: "UNKNOWN" "PENDING" "IN_PROGRESS" "ERROR" "CANCELED"

The report export status

filter[type]
string
Enum: "conversion_logs" "click_logs"

The report type

filter[results_meta.total][gte]
integer

Greater than or equals to the total number of rows of exported data.

filter[results_meta.total][lte]
integer

Less than or equals to the total number of rows of exported data.

filter[results_meta.duration_seconds][gte]
integer

Greater than or equals to the export completion time in seconds.

filter[results_meta.duration_seconds][lte]
integer

Less than or equals to the export completion time in seconds.

Responses

Response samples

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

Get Download Center Export

Get the Download Center export object.

Authorizations:
ApiKeyAuthBearerAuth
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:
ApiKeyAuthBearerAuth
path Parameters
exportID
required
string

The Export ID

Responses

Get Download Center Export URL of a Shared Report

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

query Parameters
artifact_name
required
string

The Download Export object artifact name

token
string

Required for guest access

Responses

Response samples

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