Download OpenAPI specification:
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.
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.
| 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.) |
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).
To filter the result you can use the filter query parameter. Format:
filter[field_name][operator] = value
filter[outer_field.inner_field]eq.You can sort the result by adding sort query params like sort=-type,name. - will act for descending
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
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 organization users using pagination and filtering.
{- "data": [
- {
- "advertiser_manager_access": "Global",
- "api_access_enabled": true,
- "city": "New York",
- "country": "US",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "jane.doe@example.com",
- "first_name": "Jane",
- "id": "abc123",
- "is_advertiser_manager": false,
- "is_publisher_manager": false,
- "last_login_at": "2019-08-24T14:15:22Z",
- "last_name": "Doe",
- "phone": "+1-555-0100",
- "publisher_manager_access": "Global",
- "role": "accountManager",
- "status": "Active",
- "timezone": "America/New_York",
- "updated_at": "2019-08-24T14:15:22Z"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}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.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 |
{- "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"
}{- "created_item_id": "string"
}Get an organization user by ID.
| userID required | string The User ID |
{- "data": {
- "advertiser_manager_access": "Global",
- "api_access_enabled": true,
- "city": "New York",
- "country": "US",
- "created_at": "2019-08-24T14:15:22Z",
- "email": "jane.doe@example.com",
- "first_name": "Jane",
- "id": "abc123",
- "is_advertiser_manager": false,
- "is_publisher_manager": false,
- "last_login_at": "2019-08-24T14:15:22Z",
- "last_name": "Doe",
- "phone": "+1-555-0100",
- "publisher_manager_access": "Global",
- "role": "accountManager",
- "status": "Active",
- "timezone": "America/New_York",
- "updated_at": "2019-08-24T14:15:22Z"
}
}Update an organization user by ID.
| userID required | string The User ID |
A JSON object containing the fields to update
| advertiser_manager_access | string Enum: "Global" "Limited" "Restricted" |
| api_access_enabled | boolean |
| city | string |
| country | string |
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 |
{- "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"
}{ }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 using pagination and filtering.
{- "data": [
- {
- "active": true,
- "address": "456 Market St",
- "archived": false,
- "assigned_offers": 3,
- "company_name": "Acme Corporation",
- "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "E-commerce advertiser",
- "email": "john.smith@acmecorp.com",
- "first_name": "John",
- "id": "abc123",
- "incremental_id": 1,
- "last_name": "Smith",
- "last_updated_by": "jane.doe@example.com",
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "john_smith",
- "name": "Acme Corp",
- "name_with_id": "Acme Corp (ID: 1)",
- "phone": "+1-555-0200",
- "updated_at": "2026-01-16T12:00:00Z",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a new Advertiser.
A JSON object containing advertiser information
| active | boolean |
| address | string |
| company_name | string |
| country | string |
| description | string |
string | |
| first_name | string |
| last_name | string |
| manager_id | string |
| messenger | string |
| name required | string |
| phone | string |
| website | string |
{- "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",
}{- "created_item_id": "string"
}Bulk update Advertisers status by providing an array of Advertiser incremental IDs and the new status.
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. |
{- "active": true,
- "data": [
- 1,
- 2
]
}{ }{- "data": [
- {
- "active": true,
- "address": "456 Market St",
- "archived": false,
- "assigned_offers": 3,
- "company_name": "Acme Corporation",
- "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "E-commerce advertiser",
- "email": "john.smith@acmecorp.com",
- "first_name": "John",
- "id": "abc123",
- "incremental_id": 1,
- "last_name": "Smith",
- "last_updated_by": "jane.doe@example.com",
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "john_smith",
- "name": "Acme Corp",
- "name_with_id": "Acme Corp (ID: 1)",
- "phone": "+1-555-0200",
- "updated_at": "2026-01-16T12:00:00Z",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Bulk archive Advertisers by providing an array of Advertiser incremental IDs.
An array of advertiser incremental IDs to archive
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Bulk delete archived Advertisers by providing an array of Advertiser incremental IDs.
An array of advertiser incremental IDs to delete
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Bulk restore archived Advertisers by providing an array of Advertiser incremental IDs.
An array of advertiser incremental IDs to restore
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Get Advertiser information by incremental ID.
| advertiserID required | string The Advertiser incremental ID |
{- "data": {
- "active": true,
- "address": "456 Market St",
- "archived": false,
- "assigned_offers": 3,
- "company_name": "Acme Corporation",
- "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "E-commerce advertiser",
- "email": "john.smith@acmecorp.com",
- "first_name": "John",
- "id": "abc123",
- "incremental_id": 1,
- "last_name": "Smith",
- "last_updated_by": "jane.doe@example.com",
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "john_smith",
- "name": "Acme Corp",
- "name_with_id": "Acme Corp (ID: 1)",
- "phone": "+1-555-0200",
- "updated_at": "2026-01-16T12:00:00Z",
}
}Update an Advertiser by incremental ID.
| advertiserID required | string The Advertiser incremental ID |
A JSON object containing advertiser information
| active | boolean |
| address | string |
| company_name | string |
| country | string |
| description | string |
string | |
| first_name | string |
| last_name | string |
| manager_id | string |
| messenger | string |
| name required | string |
| phone | string |
| website | string |
{- "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",
}{ }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.
{- "data": [
- {
- "active": true,
- "advertiser_id": 42,
- "allow_duplicate_conversions": false,
- "archived": false,
- "block_on_reject": false,
- "conversion_name": "Sale",
- "created_at": "2026-01-15T10:30:00Z",
- "currency": "USD",
- "deep_link_enabled": false,
- "default_payout": {
- "payout": 10,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 15,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}, - "description": "Summer promotion offer",
- "enable_js_tracking": false,
- "id": "abc123",
- "impression_forwarding_enabled": false,
- "impression_forwarding_url": "string",
- "incremental_id": 1,
- "manually_approve_conversions": false,
- "name": "Summer Campaign 2025",
- "name_with_id": "Summer Campaign 2025 (ID: 1)",
- "offer_preview_enabled": false,
- "parallel_tracking_enabled": false,
- "primary_domain": "example.com",
- "restriction_note": "string",
- "targeting_group_id": "string",
- "targeting_simple_enabled": false,
- "terms_and_conditions": "string",
- "terms_and_conditions_enabled": false,
- "updated_at": "2026-01-16T12:00:00Z",
- "view_through_attribution_enabled": false,
- "visibility": "Public"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a new Offer.
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" |
{- "active": true,
- "advertiser_id": 42,
- "allow_duplicate_conversions": false,
- "block_on_reject": false,
- "conversion_name": "Sale",
- "currency": "USD",
- "deep_link_enabled": false,
- "default_payout": {
- "payout": 10,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 15,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}, - "description": "Summer promotion offer",
- "enable_js_tracking": false,
- "impression_forwarding_enabled": false,
- "impression_forwarding_url": "string",
- "manually_approve_conversions": false,
- "name": "Summer Campaign 2025",
- "offer_preview_enabled": false,
- "parallel_tracking_enabled": false,
- "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"
}{- "created_item_id": "string"
}{- "data": [
- {
- "active": true,
- "advertiser_id": 42,
- "allow_duplicate_conversions": false,
- "archived": false,
- "block_on_reject": false,
- "conversion_name": "Sale",
- "created_at": "2026-01-15T10:30:00Z",
- "currency": "USD",
- "deep_link_enabled": false,
- "default_payout": {
- "payout": 10,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 15,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}, - "description": "Summer promotion offer",
- "enable_js_tracking": false,
- "id": "abc123",
- "impression_forwarding_enabled": false,
- "impression_forwarding_url": "string",
- "incremental_id": 1,
- "manually_approve_conversions": false,
- "name": "Summer Campaign 2025",
- "name_with_id": "Summer Campaign 2025 (ID: 1)",
- "offer_preview_enabled": false,
- "parallel_tracking_enabled": false,
- "primary_domain": "example.com",
- "restriction_note": "string",
- "targeting_group_id": "string",
- "targeting_simple_enabled": false,
- "terms_and_conditions": "string",
- "terms_and_conditions_enabled": false,
- "updated_at": "2026-01-16T12:00:00Z",
- "view_through_attribution_enabled": false,
- "visibility": "Public"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Get Offer information by incremental ID.
| offerID required | string The Offer incremental ID |
{- "data": {
- "active": true,
- "advertiser_id": 42,
- "allow_duplicate_conversions": false,
- "archived": false,
- "block_on_reject": false,
- "conversion_name": "Sale",
- "created_at": "2026-01-15T10:30:00Z",
- "currency": "USD",
- "deep_link_enabled": false,
- "default_payout": {
- "payout": 10,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 15,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}, - "description": "Summer promotion offer",
- "enable_js_tracking": false,
- "id": "abc123",
- "impression_forwarding_enabled": false,
- "impression_forwarding_url": "string",
- "incremental_id": 1,
- "manually_approve_conversions": false,
- "name": "Summer Campaign 2025",
- "name_with_id": "Summer Campaign 2025 (ID: 1)",
- "offer_preview_enabled": false,
- "parallel_tracking_enabled": false,
- "primary_domain": "example.com",
- "restriction_note": "string",
- "targeting_group_id": "string",
- "targeting_simple_enabled": false,
- "terms_and_conditions": "string",
- "terms_and_conditions_enabled": false,
- "updated_at": "2026-01-16T12:00:00Z",
- "view_through_attribution_enabled": false,
- "visibility": "Public"
}
}Update an Offer by incremental ID.
| offerID required | string The Offer incremental ID |
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" |
{- "active": true,
- "advertiser_id": 42,
- "allow_duplicate_conversions": false,
- "block_on_reject": false,
- "conversion_name": "Sale",
- "currency": "USD",
- "deep_link_enabled": false,
- "default_payout": {
- "payout": 10,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 15,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}, - "description": "Summer promotion offer",
- "enable_js_tracking": false,
- "impression_forwarding_enabled": false,
- "impression_forwarding_url": "string",
- "manually_approve_conversions": false,
- "name": "Summer Campaign 2025",
- "offer_preview_enabled": false,
- "parallel_tracking_enabled": false,
- "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"
}{ }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 for an Offer.
| offerID required | string The Offer incremental ID |
{- "data": [
- {
- "active": true,
- "allow_multiple_events": false,
- "archived": false,
- "currency": "USD",
- "description": "User submits lead form",
- "id": "abc123",
- "incremental_id": 1,
- "manually_approve_events": false,
- "name": "Lead Signup",
- "name_with_id": "Lead Signup (ID: 1)",
- "payout": 5,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 10,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create an offer event for an Offer.
| offerID required | string The Offer incremental ID |
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" |
{- "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"
}{- "created_item_id": "string"
}Get an offer event by Offer and Offer Event incremental IDs.
| offerID required | string The Offer incremental ID |
| offerEventID required | string The Offer Event incremental ID |
{- "data": {
- "active": true,
- "allow_multiple_events": false,
- "archived": false,
- "currency": "USD",
- "description": "User submits lead form",
- "id": "abc123",
- "incremental_id": 1,
- "manually_approve_events": false,
- "name": "Lead Signup",
- "name_with_id": "Lead Signup (ID: 1)",
- "payout": 5,
- "payout_percent": 0,
- "payout_type": "CPA",
- "revenue": 10,
- "revenue_percent": 0,
- "revenue_type": "RPA"
}
}Update an offer event by Offer and Offer Event incremental IDs.
| offerID required | string The Offer incremental ID |
| offerEventID required | string The Offer Event incremental ID |
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" |
{- "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"
}{ }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 for an Offer.
| offerID required | string The Offer incremental ID |
{- "data": [
- {
- "active": true,
- "archived": false,
- "hide_from_publishers": false,
- "id": "abc123",
- "incremental_id": 1,
- "name": "Homepage",
- "name_with_id": "Homepage (ID: 1)",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create an offer landing page.
| offerID required | string The Offer incremental ID |
A JSON object containing offer landing page information
| active | boolean |
| hide_from_publishers | boolean |
| name required | string |
| preview_url | string |
| redirect_url required | string |
{- "active": true,
- "hide_from_publishers": false,
- "name": "Homepage",
}{- "created_item_id": "string"
}Get an offer landing page by Offer and Offer Landing Page incremental IDs.
| offerID required | string The Offer incremental ID |
| offerLandingPageID required | string The Offer Landing Page incremental ID |
{- "data": {
- "active": true,
- "archived": false,
- "hide_from_publishers": false,
- "id": "abc123",
- "incremental_id": 1,
- "name": "Homepage",
- "name_with_id": "Homepage (ID: 1)",
}
}Update an offer landing page by Offer and Offer Landing Page incremental IDs.
| offerID required | string The Offer incremental ID |
| offerLandingPageID required | string The Offer Landing Page incremental ID |
A JSON object containing offer landing page information
| active | boolean |
| hide_from_publishers | boolean |
| name required | string |
| preview_url | string |
| redirect_url required | string |
{- "active": true,
- "hide_from_publishers": false,
- "name": "Homepage",
}{ }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.
Returns paginated monitors for the authenticated Integr8 integration, with overview KPIs. Fetch GET /link-monitoring/{id}/uptime-bar for the uptime bars.
| 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) |
{- "data": [
- {
- "active": true,
- "allowed_domains": [
- "string"
], - "cert_expires_at": "string",
- "check_frequency": "Every5Minutes",
- "consecutive_failure_count": 0,
- "created_at": "string",
- "custom_user_agent": "string",
- "deeplink_path": "string",
- "device": "windows",
- "id": "string",
- "incremental_id": 0,
- "integration": "string",
- "landing_page_id": "string",
- "landing_page_incremental_id": 0,
- "landing_page_name": "string",
- "landing_page_url": "string",
- "last_checked_at": "string",
- "last_updated_by": "string",
- "max_hops": 100,
- "offer_id": "string",
- "offer_incremental_id": 0,
- "offer_name": "string",
- "organization": "string",
- "p95_latency_ms": 0,
- "pause_after_failures_count": 0,
- "pause_after_failures_enabled": true,
- "paused_at": "string",
- "proxy_country": "string",
- "timeout_seconds": 60,
- "updated_at": "string",
- "uptime_90d": 0
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Creates an Integr8 link monitor for an offer landing page. Integration is taken from the authenticated Integr8 context.
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 |
{- "active": true,
- "allowed_domains": [
- "string"
], - "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
}{- "created_item_id": "string"
}Returns one monitor with overview KPIs. Fetch GET /link-monitoring/{id}/uptime-bar for the uptime bars.
| id required | string Link monitor ID |
{- "data": {
- "active": true,
- "allowed_domains": [
- "string"
], - "cert_expires_at": "string",
- "check_frequency": "Every5Minutes",
- "consecutive_failure_count": 0,
- "created_at": "string",
- "custom_user_agent": "string",
- "deeplink_path": "string",
- "device": "windows",
- "id": "string",
- "incremental_id": 0,
- "integration": "string",
- "landing_page_id": "string",
- "landing_page_incremental_id": 0,
- "landing_page_name": "string",
- "landing_page_url": "string",
- "last_checked_at": "string",
- "last_updated_by": "string",
- "max_hops": 100,
- "offer_id": "string",
- "offer_incremental_id": 0,
- "offer_name": "string",
- "organization": "string",
- "p95_latency_ms": 0,
- "pause_after_failures_count": 0,
- "pause_after_failures_enabled": true,
- "paused_at": "string",
- "proxy_country": "string",
- "timeout_seconds": 60,
- "updated_at": "string",
- "uptime_90d": 0
}
}| id required | string Link monitor ID |
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 |
{- "active": true,
- "allowed_domains": [
- "string"
], - "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
}{ }Returns certificate expiry for the Monitor Detail card. Source is "unavailable" until runtime records certificate expiry.
| id required | string Link monitor ID |
{- "data": {
- "days_remaining": 0,
- "expires_at": "string",
- "source": "string"
}
}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.
| id required | string Link monitor ID |
{- "data": {
- "legend": {
- "data": [
- "string"
], - "icon": "string",
- "itemHeight": 0,
- "itemWidth": 0,
- "show": true,
- "top": "string"
}, - "series": [
- {
- "color": "string",
- "data": null,
- "itemStyle": {
- "color": "string"
}, - "name": "string",
- "stack": "string",
- "symbol": "string",
- "type": 0
}
], - "title": {
- "left": "string",
- "show": true,
- "subtext": "string",
- "subtextStyle": {
- "color": "string",
- "fontSize": 0
}, - "text": "string",
- "textStyle": {
- "color": "string",
- "fontSize": 0
}, - "top": "string"
}, - "tooltip": {
- "axisPointer": {
- "type": "string"
}, - "order": "string",
- "show": true,
- "trigger": "string"
}, - "xAxis": {
- "axisLabel": {
- "formatter": "string",
- "show": true
}, - "axisLine": {
- "show": true
}, - "axisTick": {
- "show": true
}, - "data": [
- "string"
], - "show": true,
- "type": "string"
}, - "yAxis": {
- "axisLabel": {
- "formatter": "string",
- "show": true
}, - "axisLine": {
- "show": true
}, - "axisTick": {
- "show": true
}, - "data": [
- "string"
], - "minInterval": 0,
- "show": true,
- "splitLine": {
- "show": true
}, - "type": "string"
}
}
}Returns paginated check history for one monitor. Default page size is 30.
| id required | string Link monitor ID |
| 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) |
{- "data": [
- {
- "advertiser": "string",
- "advertiser_db_id": "string",
- "advertiser_incremental_id": 0,
- "allowed_domains": [
- "string"
], - "bytes_transferred": 0,
- "custom_user_agent": "string",
- "deeplink_path": "string",
- "device": "windows",
- "duration_ms": 0,
- "error_message": "string",
- "failed_reason": "string",
- "final_domain": "string",
- "final_url": "string",
- "integration_id": "string",
- "landing_page_incremental_id": 0,
- "max_redirects": 300,
- "offer": "string",
- "offer_db_id": "string",
- "offer_incremental_id": 0,
- "organization_id": "string",
- "proxy_country": "string",
- "proxy_error": "string",
- "proxy_failed": true,
- "proxy_used": true,
- "redirect_chains": [
- {
- "encoded_data_length": 0,
- "error": "string",
- "received_time": "string",
- "redirect_type": "string",
- "request_id": "string",
- "requested_time": "string",
- "response_time_ms": 0,
- "status_code": 0,
- "url": "string"
}
], - "redirect_count": 0,
- "request_id": "string",
- "retries": 0,
- "success": true,
- "test_url": "string",
- "test_url_domain": "string",
- "timeout_seconds": 0,
- "timestamp": "string",
- "transfer_limited": true,
- "transfer_preview": "string",
- "transfer_reason": "string",
- "user_agent": "string"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Runs the redirect check for the monitor and returns the resulting log entry.
| id required | string Link monitor ID |
{- "data": {
- "advertiser": "string",
- "advertiser_db_id": "string",
- "advertiser_incremental_id": 0,
- "allowed_domains": [
- "string"
], - "bytes_transferred": 0,
- "custom_user_agent": "string",
- "deeplink_path": "string",
- "device": "windows",
- "duration_ms": 0,
- "error_message": "string",
- "failed_reason": "string",
- "final_domain": "string",
- "final_url": "string",
- "integration_id": "string",
- "landing_page_incremental_id": 0,
- "max_redirects": 300,
- "offer": "string",
- "offer_db_id": "string",
- "offer_incremental_id": 0,
- "organization_id": "string",
- "proxy_country": "string",
- "proxy_error": "string",
- "proxy_failed": true,
- "proxy_used": true,
- "redirect_chains": [
- {
- "encoded_data_length": 0,
- "error": "string",
- "received_time": "string",
- "redirect_type": "string",
- "request_id": "string",
- "requested_time": "string",
- "response_time_ms": 0,
- "status_code": 0,
- "url": "string"
}
], - "redirect_count": 0,
- "request_id": "string",
- "retries": 0,
- "success": true,
- "test_url": "string",
- "test_url_domain": "string",
- "timeout_seconds": 0,
- "timestamp": "string",
- "transfer_limited": true,
- "transfer_preview": "string",
- "transfer_reason": "string",
- "user_agent": "string"
}
}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.
| id required | string Link monitor ID |
{- "data": {
- "failed_checks": 0,
- "last_checked_at": "string",
- "p95_latency_ms": 0,
- "system_errors": 0,
- "total_checks": 0,
- "uptime_90d": 0
}
}Returns 90 UTC days of uptime-bar status, oldest first. Days without eligible checks are NoData.
| id required | string Link monitor ID |
{- "data": [
- {
- "comment": "string",
- "date": "string",
- "total_fail": 0,
- "total_test": 0,
- "type": 0
}
]
}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.
{- "data": [
- {
- "active": true,
- "created_at": "string",
- "delay_metric": "Second",
- "delay_value": 0,
- "description": "Fires on approved conversions",
- "filters": {
- "event_id": "",
- "filter_status": "Approved",
- "offer_id": "off456",
- "publisher_id": "pub123",
- "rejection_reasons": [
- "string"
]
}, - "has_firing_delay": false,
- "id": "abc123",
- "last_updated_by": "string",
- "name": "Publisher Conversion Postback",
- "service_type": "conversion",
- "updated_at": "string",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a postback manager.
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 |
{- "active": true,
- "delay_metric": "Second",
- "delay_value": 0,
- "description": "Fires on approved conversions",
- "filters": {
- "event_id": "",
- "filter_status": "Approved",
- "offer_id": "off456",
- "publisher_id": "pub123",
- "rejection_reasons": [
- "string"
]
}, - "has_firing_delay": false,
- "name": "Publisher Conversion Postback",
- "service_type": "conversion",
}{- "created_item_id": "string"
}Bulk update postback managers status.
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. |
{- "active": true,
- "data": [
- "id1",
- "id2"
]
}{ }Bulk delete postback managers.
An array of postback IDs to delete
| data | Array of strings Data is the list of record IDs to act on. |
{- "data": [
- "id1",
- "id2"
]
}{ }Get a postback manager by ID.
| postbackID required | string The Postback Manager ID |
{- "data": {
- "active": true,
- "created_at": "string",
- "delay_metric": "Second",
- "delay_value": 0,
- "description": "Fires on approved conversions",
- "filters": {
- "event_id": "",
- "filter_status": "Approved",
- "offer_id": "off456",
- "publisher_id": "pub123",
- "rejection_reasons": [
- "string"
]
}, - "has_firing_delay": false,
- "id": "abc123",
- "last_updated_by": "string",
- "name": "Publisher Conversion Postback",
- "service_type": "conversion",
- "updated_at": "string",
}
}Update a postback manager.
| postbackID required | string The Postback Manager ID |
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> |
{- "active": true,
- "delay_metric": "Second",
- "delay_value": 0,
- "description": "Fires on approved conversions",
- "filters": {
- "event_id": "",
- "filter_status": "Approved",
- "offer_id": "off456",
- "publisher_id": "pub123",
- "rejection_reasons": [
- "string"
]
}, - "has_firing_delay": false,
- "name": "Publisher Conversion Postback",
}{ }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.
{- "data": [
- {
- "active": true,
- "address": "123 Main St",
- "archived": false,
- "city": "New York",
- "company_name": "Acme Media Ltd",
- "countries": [
- "US",
- "CA"
], - "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "Top-tier affiliate publisher",
- "email": "jane.doe@acmemedia.com",
- "fraud_visibility_enabled": false,
- "id": "abc123",
- "incremental_id": 1,
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "jane_doe",
- "name": "Acme Media",
- "name_with_id": "Acme Media (ID: 1)",
- "pending": false,
- "phone": "+1-555-0100",
- "postback_manager_enabled": true,
- "promotional_method": [
- "Content",
- "Email"
], - "timezone": "America/New_York",
- "tracking_domain_ids": [
- "dom123"
], - "updated_at": "2026-01-16T12:00:00Z",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a new Publisher.
A JSON object containing publisher information
| active | boolean |
| address | string |
| city | string |
| company_name | string |
| countries | Array of strings |
| country | string |
| description | string |
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 |
{- "active": true,
- "address": "123 Main St",
- "city": "New York",
- "company_name": "Acme Media Ltd",
- "countries": [
- "US",
- "CA"
], - "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": [
- "Content",
- "Email"
], - "timezone": "America/New_York",
- "tracking_domain_ids": [
- "dom123"
],
}{- "created_item_id": "string"
}Bulk update Publishers status by providing an array of Publisher incremental IDs and the new status.
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. |
{- "active": true,
- "data": [
- 1,
- 2
]
}{ }{- "data": [
- {
- "active": true,
- "address": "123 Main St",
- "archived": false,
- "city": "New York",
- "company_name": "Acme Media Ltd",
- "countries": [
- "US",
- "CA"
], - "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "Top-tier affiliate publisher",
- "email": "jane.doe@acmemedia.com",
- "fraud_visibility_enabled": false,
- "id": "abc123",
- "incremental_id": 1,
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "jane_doe",
- "name": "Acme Media",
- "name_with_id": "Acme Media (ID: 1)",
- "pending": false,
- "phone": "+1-555-0100",
- "postback_manager_enabled": true,
- "promotional_method": [
- "Content",
- "Email"
], - "timezone": "America/New_York",
- "tracking_domain_ids": [
- "dom123"
], - "updated_at": "2026-01-16T12:00:00Z",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Bulk archive Publishers by providing an array of Publisher incremental IDs.
An array of publisher incremental IDs to archive
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Bulk delete archived Publishers by providing an array of Publisher incremental IDs.
An array of publisher incremental IDs to delete
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Bulk restore archived Publishers by providing an array of Publisher incremental IDs.
An array of publisher incremental IDs to restore
| data | Array of integers Data is the list of incremental IDs to act on. |
{- "data": [
- 1,
- 2
]
}{ }Get Publisher information by incremental ID.
| publisherID required | string The Publisher incremental ID |
{- "data": {
- "active": true,
- "address": "123 Main St",
- "archived": false,
- "city": "New York",
- "company_name": "Acme Media Ltd",
- "countries": [
- "US",
- "CA"
], - "country": "US",
- "created_at": "2026-01-15T10:30:00Z",
- "description": "Top-tier affiliate publisher",
- "email": "jane.doe@acmemedia.com",
- "fraud_visibility_enabled": false,
- "id": "abc123",
- "incremental_id": 1,
- "manager_email": "jane.doe@example.com",
- "manager_id": "mgr123",
- "manager_name": "Jane Doe",
- "messenger": "jane_doe",
- "name": "Acme Media",
- "name_with_id": "Acme Media (ID: 1)",
- "pending": false,
- "phone": "+1-555-0100",
- "postback_manager_enabled": true,
- "promotional_method": [
- "Content",
- "Email"
], - "timezone": "America/New_York",
- "tracking_domain_ids": [
- "dom123"
], - "updated_at": "2026-01-16T12:00:00Z",
}
}Update a Publisher by incremental ID.
| publisherID required | string The Publisher incremental ID |
A JSON object containing publisher information
| active | boolean |
| address | string |
| city | string |
| company_name | string |
| countries | Array of strings |
| country | string |
| description | string |
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 |
{- "active": true,
- "address": "123 Main St",
- "city": "New York",
- "company_name": "Acme Media Ltd",
- "countries": [
- "US",
- "CA"
], - "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": [
- "Content",
- "Email"
], - "timezone": "America/New_York",
- "tracking_domain_ids": [
- "dom123"
],
}{ }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 for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
{- "data": [
- {
- "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"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a new publisher user for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
Publisher User details
string | |
| first_name | string |
| last_name | string |
| notes | string |
| status | string Enum: "Active" "Deactivated" "Suspended" |
| timezone | string |
{- "email": "john.smith@acmecorp.com",
- "first_name": "John",
- "last_name": "Smith",
- "notes": "Acme Publisher User",
- "status": "Active",
- "timezone": "UTC"
}{- "created_item_id": "string"
}Bulk delete publisher users by ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
An array of publisher user IDs to delete
| data | Array of strings Data is the list of record IDs to act on. |
{- "data": [
- "id1",
- "id2"
]
}{ }Get a publisher user by ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| publisherUserID required | string The Publisher User ID |
{- "data": {
- "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"
}
}Update a publisher user for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| publisherUserID required | string The Publisher User ID |
Patch payload
string | |
| first_name | string |
| last_name | string |
| notes | string |
| status | string Enum: "Active" "Deactivated" "Suspended" |
| timezone | string |
{- "email": "john.smith@acmecorp.com",
- "first_name": "John",
- "last_name": "Smith",
- "notes": "Acme Publisher User",
- "status": "Active",
- "timezone": "UTC"
}{ }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 for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
{- "data": [
- {
- "created_at": "2026-01-15T10:30:00Z",
- "description": "Primary email campaign",
- "external_id": "campaign_a",
- "id": "abc123",
- "name": "Campaign A",
- "name_with_id": "Campaign A (ID: 1)",
- "publisher_id": "def456",
- "publisher_incremental_id": 1,
- "publisher_name_with_id": "Acme Media (ID: 1)",
- "updated_at": "2026-01-16T12:00:00Z"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a publisher sub ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
Publisher sub ID details
| description | string |
| external_id required | string |
| external_link | string |
| name required | string |
{- "description": "Primary email campaign",
- "external_id": "campaign_a",
- "name": "Campaign A"
}{- "created_item_id": "string"
}Bulk create publisher sub IDs for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
Publisher sub IDs to create
| description | string |
| external_id required | string |
| external_link | string |
| name required | string |
[- {
- "description": "Primary email campaign",
- "external_id": "campaign_a",
- "name": "Campaign A"
}
]{- "created_item_id": "string"
}Bulk delete publisher sub IDs for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
An array of publisher sub IDs to delete
| data | Array of strings Data is the list of record IDs to act on. |
{- "data": [
- "id1",
- "id2"
]
}{ }Get a publisher sub ID by ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| publisherSubID required | string The Publisher Sub ID |
{- "data": {
- "created_at": "2026-01-15T10:30:00Z",
- "description": "Primary email campaign",
- "external_id": "campaign_a",
- "id": "abc123",
- "name": "Campaign A",
- "name_with_id": "Campaign A (ID: 1)",
- "publisher_id": "def456",
- "publisher_incremental_id": 1,
- "publisher_name_with_id": "Acme Media (ID: 1)",
- "updated_at": "2026-01-16T12:00:00Z"
}
}Update a publisher sub ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| publisherSubID required | string The Publisher Sub ID |
Publisher sub ID details
| description | string |
| external_id required | string |
| external_link | string |
| name required | string |
{- "description": "Primary email campaign",
- "external_id": "campaign_a",
- "name": "Campaign A"
}{ }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.
| filter[publisher_incremental_id][eq_n] | integer The Publisher's Incremental ID |
| filter[offer_incremental_id][eq_n] | integer The Offer's Incremental ID |
{- "data": [
- {
- "created_at": "string",
- "description": "Blocked due to invalid traffic",
- "id": "abc123",
- "last_updated_by": "string",
- "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name": "Summer Campaign 2025",
- "organization": "string",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name": "Acme Media",
- "sub_id": "sub_campaign_a",
- "updated_at": "string"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a blocked Sub ID.
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. |
{- "description": "Blocked due to invalid traffic",
- "offer_incremental_id": 42,
- "organization": "string",
- "publisher_incremental_id": 1,
- "sub_id": "sub_campaign_a"
}{- "created_item_id": "string"
}Bulk delete blocked Sub IDs.
array of BlockedSubID ids
| data | Array of strings |
{- "data": [
- "string"
]
}{ }Get a blocked Sub ID by ID.
| blockedSubID_ID required | string The BlockedSubID ID |
{- "data": {
- "created_at": "string",
- "description": "Blocked due to invalid traffic",
- "id": "abc123",
- "last_updated_by": "string",
- "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name": "Summer Campaign 2025",
- "organization": "string",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name": "Acme Media",
- "sub_id": "sub_campaign_a",
- "updated_at": "string"
}
}Update a blocked Sub ID.
| blockedSubID_ID required | string The BlockedSubID ID |
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. |
{- "description": "string"
}{ }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.
| filter[publisher_incremental_id][eq_n] | integer The Publisher's Incremental ID |
{- "data": [
- {
- "created_at": "string",
- "currency": "USD",
- "event_id": "evt789",
- "event_incremental_id": 2,
- "event_name": "Lead Signup",
- "id": "abc123",
- "integration": "string",
- "last_updated_by": "string",
- "meta": {
- "property1": null,
- "property2": null
}, - "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name": "Summer Campaign 2025",
- "organization": "string",
- "payout": 0,
- "payout_percent": 100,
- "payout_type": "Unknown",
- "platform": "Unknown",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name": "Acme Media",
- "revenue": 0,
- "revenue_percent": 100,
- "revenue_type": "Unknown",
- "updated_at": "string"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a custom payout.
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" |
{- "event_incremental_id": 2,
- "meta": {
- "property1": null,
- "property2": null
}, - "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"
}{- "created_item_id": "string"
}Bulk delete custom payouts.
An array of custom payout IDs to delete
| data | Array of strings |
{- "data": [
- "string"
]
}{ }Get a custom payout by ID.
| customPayoutID required | string The CustomPayout ID |
{- "data": {
- "created_at": "string",
- "currency": "USD",
- "event_id": "evt789",
- "event_incremental_id": 2,
- "event_name": "Lead Signup",
- "id": "abc123",
- "integration": "string",
- "last_updated_by": "string",
- "meta": {
- "property1": null,
- "property2": null
}, - "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name": "Summer Campaign 2025",
- "organization": "string",
- "payout": 0,
- "payout_percent": 100,
- "payout_type": "Unknown",
- "platform": "Unknown",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name": "Acme Media",
- "revenue": 0,
- "revenue_percent": 100,
- "revenue_type": "Unknown",
- "updated_at": "string"
}
}Update a custom payout.
| customPayoutID required | string The CustomPayout ID |
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" |
{- "event_incremental_id": 0,
- "offer_incremental_id": 0,
- "payout": 0,
- "payout_percent": 0,
- "payout_type": "Unknown",
- "revenue": 0,
- "revenue_percent": 0,
- "revenue_type": "Unknown"
}{ }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 for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
{- "data": [
- {
- "active": true,
- "additional_filters": {
- "sub_id": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_2": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_3": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_4": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_5": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_6": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}
}, - "created_at": "2026-01-15T10:30:00Z",
- "hourly_throttle_config": {
- "schedule": [
- {
- "hour": 9,
- "throttle_percentage": 40
}
], - "timezone": "UTC"
}, - "hourly_throttle_enabled": false,
- "id": "abc123",
- "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name_with_id": "Summer Offer (ID: 42)",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name_with_id": "Acme Pub (ID: 1)",
- "sub_id_filters": [
- {
- "sub_id": "promo",
- "throttle_percentage": 25,
- "throttle_status": "Pending"
}
], - "throttle_mode": "PublisherLevel",
- "throttle_percentage": 50,
- "throttle_status": "Pending",
- "updated_at": "2026-01-16T12:00:00Z"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Create a custom throttle for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
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" |
{- "active": true,
- "additional_filters": {
- "sub_id": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_2": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_3": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_4": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_5": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_6": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}
}, - "hourly_throttle_config": {
- "schedule": [
- {
- "hour": 9,
- "throttle_percentage": 40
}
], - "timezone": "UTC"
}, - "hourly_throttle_enabled": false,
- "offer_incremental_id": 42,
- "sub_id_filters": [
- {
- "sub_id": "promo",
- "throttle_percentage": 25,
- "throttle_status": "Pending"
}
], - "throttle_mode": "PublisherLevel",
- "throttle_percentage": 50,
- "throttle_status": "Pending"
}{- "created_item_id": "string"
}Bulk update custom throttle status for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
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. |
{- "active": true,
- "data": [
- "id1",
- "id2"
]
}{ }Bulk delete custom throttles for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
An array of custom throttle IDs to delete
| data | Array of strings Data is the list of record IDs to act on. |
{- "data": [
- "id1",
- "id2"
]
}{ }Get a custom throttle by ID for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| customThrottleID required | string The Custom Throttle ID |
{- "data": {
- "active": true,
- "additional_filters": {
- "sub_id": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_2": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_3": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_4": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_5": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_6": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}
}, - "created_at": "2026-01-15T10:30:00Z",
- "hourly_throttle_config": {
- "schedule": [
- {
- "hour": 9,
- "throttle_percentage": 40
}
], - "timezone": "UTC"
}, - "hourly_throttle_enabled": false,
- "id": "abc123",
- "offer_id": "off456",
- "offer_incremental_id": 42,
- "offer_name_with_id": "Summer Offer (ID: 42)",
- "publisher_id": "pub123",
- "publisher_incremental_id": 1,
- "publisher_name_with_id": "Acme Pub (ID: 1)",
- "sub_id_filters": [
- {
- "sub_id": "promo",
- "throttle_percentage": 25,
- "throttle_status": "Pending"
}
], - "throttle_mode": "PublisherLevel",
- "throttle_percentage": 50,
- "throttle_status": "Pending",
- "updated_at": "2026-01-16T12:00:00Z"
}
}Update a custom throttle for a publisher identified by incremental ID.
| publisherID required | string The Publisher incremental ID |
| customThrottleID required | string The Custom Throttle ID |
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" |
{- "active": true,
- "additional_filters": {
- "sub_id": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_2": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_3": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_4": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_5": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}, - "sub_id_6": {
- "operator": "is any of",
- "values": [
- "promo",
- "vip"
]
}
}, - "hourly_throttle_config": {
- "schedule": [
- {
- "hour": 9,
- "throttle_percentage": 40
}
], - "timezone": "UTC"
}, - "hourly_throttle_enabled": false,
- "offer_incremental_id": 42,
- "sub_id_filters": [
- {
- "sub_id": "promo",
- "throttle_percentage": 25,
- "throttle_status": "Pending"
}
], - "throttle_mode": "PublisherLevel",
- "throttle_percentage": 50,
- "throttle_status": "Pending"
}{ }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
}
}
}
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.
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.
Use Download Center to export Clicks to a CSV file.
| 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 |
{- "data": {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
}Use Download Center to export Conversions to a CSV file.
| 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 |
{- "data": {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
}Use Download Center to export Impressions to a CSV file.
| 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 |
{- "data": {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
}Use Download Center to export Postback Logs to a CSV file.
| 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 |
{- "data": {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
}Get a postback logs report for a date range.
| 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 |
{- "data": [
- {
- "body": "string",
- "create_time": "2026-01-15 10:35:00",
- "duration_ms": 150,
- "error": "",
- "event_id": "string",
- "event_id_with_name": "Lead Signup (ID: 1)",
- "headers": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "integration_id": "string",
- "is_created_by_asp_publisher": true,
- "is_processed": 0,
- "method": "GET",
- "offer_db_id": "string",
- "offer_id": "42",
- "offer_id_with_name": "Summer Campaign 2025 (ID: 42)",
- "organization_id": "string",
- "postback_after": "2026-01-15 10:35:00",
- "postback_ip": "203.0.113.10",
- "postback_manager_id": "string",
- "postback_manager_name": "Publisher Conversion Postback",
- "process_time": "2026-01-15 10:35:01",
- "publisher": "1",
- "publisher_db_id": "string",
- "publisher_with_name": "Acme Media (ID: 1)",
- "response_body": "OK",
- "service_type": "conversion",
- "status_code": 200,
- "tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Get a click report.
| 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 |
{- "data": {
- "count": 0,
- "data": [
- {
- "advertiser": "Acme Corp (ID: 1)",
- "advertiser_db_id": "string",
- "advertiser_id": "1",
- "asn": 0,
- "blocked": 0,
- "browser_language": [
- "string"
], - "browser_name": "string",
- "browser_timezone": "string",
- "browser_version": "string",
- "bundle_id": "string",
- "city": "string",
- "click_ip": "string",
- "country": "US",
- "coupon_code": "string",
- "device_id": "string",
- "device_type": "string",
- "external_transaction_id": "string",
- "extra_params.keys": [
- "string"
], - "extra_params.values": [
- "string"
], - "filter_group_id": "string",
- "final_offer": "string",
- "final_offer_id": "string",
- "fingerprint": "string",
- "integration_id": "string",
- "integration_type": "string",
- "invalid_sub_id": "string",
- "ip_network": "string",
- "is_bot": 0,
- "is_old_browser": 0,
- "is_old_os": 0,
- "isp": "string",
- "lat": 0,
- "long": 0,
- "manager_id": "string",
- "manager_name": "string",
- "monitoring_mode": 0,
- "offer": "Summer Campaign 2025 (ID: 42)",
- "offer_db_id": "string",
- "offer_group_id": "string",
- "offer_id": "42",
- "organization_id": "string",
- "os_name": "string",
- "os_version": "string",
- "payout": 5,
- "postal_code": "string",
- "preview_url_enabled": 0,
- "proxy_type": "string",
- "publisher": "Acme Media (ID: 1)",
- "publisher_db_id": "string",
- "real_advertiser": "string",
- "real_filter_group_id": "string",
- "real_offer_id": "string",
- "real_publisher": "string",
- "real_tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X",
- "referer": "string",
- "referer_categories": [
- "string"
], - "rejected_advanced_reason": "string",
- "rejected_internal_reason": "string",
- "rejected_language": "string",
- "rejected_primary_reason": "string",
- "rejected_simple_reason": "string",
- "rejection_type": "string",
- "rejections": [
- "string"
], - "request_date": "2019-08-24",
- "request_time": "2026-01-15 10:30:00",
- "revenue": 10,
- "risk": "string",
- "rtb_url_used": 0,
- "rtt": 0,
- "score": 0,
- "server_region": "string",
- "smart_link_id": "string",
- "smartlink_db_id": "string",
- "state": "string",
- "status": "Approved",
- "sub_id": "campaign_a",
- "sub_id_2": "string",
- "sub_id_3": "string",
- "sub_id_4": "string",
- "sub_id_5": "string",
- "sub_id_6": "string",
- "tags": [
- "string"
], - "targeting_group_id": "string",
- "tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
- "user_agent": "string",
- "user_email": "string",
- "uuid": "string"
}
], - "pageInfo": {
- "endCursor": "string",
- "hasNextPage": true,
- "hasPreviousPage": true,
- "startCursor": "string"
}
}
}Get a conversion report.
| 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 |
{- "data": {
- "count": 0,
- "data": [
- {
- "advertiser": "Acme Corp (ID: 1)",
- "advertiser_db_id": "string",
- "advertiser_name": "string",
- "app_id": "string",
- "app_version": "string",
- "asn": 0,
- "begin_install_time": "2019-08-24T14:15:22Z",
- "browser_language": [
- "string"
], - "browser_name": "string",
- "browser_timezone": "string",
- "browser_version": "string",
- "city": "string",
- "click_ip": "string",
- "click_time": "2026-01-15 10:30:00",
- "click_tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
- "conversion_ip": "string",
- "conversion_time": "2026-01-15 10:35:00",
- "country": "US",
- "coupon_code": "string",
- "device_id": "string",
- "device_type": "string",
- "event_24metrics": "string",
- "event_db_id": "string",
- "event_id": 0,
- "event_name": "string",
- "event_status": 0,
- "external_transaction_id": "string",
- "extra_params.keys": [
- "string"
], - "extra_params.values": [
- "string"
], - "filter_group_id": "string",
- "fingerprint": "string",
- "finish_install_time": "2019-08-24T14:15:22Z",
- "hash": "a1b2c3d4e5f6789012345678901234ab",
- "integration_id": "string",
- "integration_type": "string",
- "invalid_sub_id": "string",
- "ip_network": "string",
- "is_bot": 0,
- "is_click_spam": 0,
- "is_low_session_time": 0,
- "is_old_browser": 0,
- "is_old_os": 0,
- "isp": "string",
- "lat": 0,
- "long": 0,
- "manager_id": "string",
- "manager_name": "string",
- "network": "string",
- "offer": "Summer Campaign 2025 (ID: 42)",
- "offer_db_id": "string",
- "offer_group_id": "string",
- "offer_id": "42",
- "offer_id_name": "string",
- "organization_id": "string",
- "os_name": "string",
- "os_version": "string",
- "payout": 5,
- "postal_code": "string",
- "postback_manager_ids": [
- "string"
], - "proxy_type": "string",
- "publisher": "Acme Media (ID: 1)",
- "publisher_db_id": "string",
- "publisher_name": "string",
- "purchase_value": 0,
- "real_advertiser": "string",
- "real_filter_group_id": "string",
- "real_offer_id": "string",
- "real_publisher": "string",
- "real_rejected_advanced_reason": "string",
- "real_rejected_simple_reason": "string",
- "real_tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X",
- "referer": "string",
- "referer_categories": [
- "string"
], - "rejected": 0,
- "rejected_advanced_reason": "string",
- "rejected_internal_reason": "string",
- "rejected_language": "string",
- "rejected_simple_reason": "string",
- "rejection_type": "string",
- "rejections": [
- "string"
], - "request_time": "2026-01-15 10:30:00",
- "revenue": 10,
- "risk": "string",
- "rtt": 0,
- "score": 0,
- "server_ip": "string",
- "server_region": "string",
- "session_time": 0,
- "smart_link_id": "string",
- "smartlink_db_id": "string",
- "state": "string",
- "status": "Approved",
- "sub_id": "campaign_a",
- "sub_id_2": "string",
- "sub_id_3": "string",
- "sub_id_4": "string",
- "sub_id_5": "string",
- "sub_id_6": "string",
- "tags": [
- "string"
], - "targeting_group_id": "string",
- "third_party_rejection_reason": "string",
- "third_party_status": "string",
- "tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
- "user_agent": "string",
- "user_email": "string",
- "uuid": "string"
}
], - "pageInfo": {
- "endCursor": "string",
- "hasNextPage": true,
- "hasPreviousPage": true,
- "startCursor": "string"
}
}
}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.
The update payload
Array of objects (integr8docs.ConversionUpdateRequest) |
{- "updates": [
- {
- "action": "Approve",
- "conversion_time": "2024-01-15 10:30:00",
- "hash": "a1b2c3d4",
- "new_rejected_advanced_reason": "Duplicate conversion",
- "tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
- "update_params": {
- "payout": 0,
- "purchase_value": 0,
- "revenue": 0
}
}
]
}{- "success": true
}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].
| 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 |
{- "data": {
- "count": 0,
- "data": [
- {
- "approved_clicks_total": 0,
- "approved_conversions_total": 0,
- "approved_events_total": 0,
- "approved_impressions_total": 0,
- "approved_payout": 0,
- "approved_revenue": 0,
- "clicks_fraud_detection_rate": 0,
- "conversions_fraud_detection_rate": 0,
- "date": "2019-08-24",
- "ecpa": 0,
- "ecpc": 0,
- "events_fraud_detection_rate": 0,
- "fraud_clicks_total": 0,
- "fraud_conversions_total": 0,
- "fraud_events_total": 0,
- "fraud_impressions_total": 0,
- "gross_clicks_total": 0,
- "gross_conversions_total": 0,
- "gross_events_total": 0,
- "gross_impressions_total": 0,
- "gross_payout": 0,
- "gross_revenue": 0,
- "impressions_fraud_detection_rate": 0,
- "invalid_clicks_total": 0,
- "invalid_conversions_total": 0,
- "invalid_events_total": 0,
- "invalid_impressions_total": 0,
- "margin": 0,
- "profit": 0,
- "rejected_payout": 0,
- "rejected_revenue": 0,
- "rpa": 0,
- "throttled_conversions_total": 0,
- "throttled_events_total": 0,
- "throttled_revenue": 0,
- "top_click_per_rejection_total": [
- 0
], - "top_click_rejection": "string",
- "top_click_rejections": [
- "string"
], - "top_conversion_per_rejection_total": [
- 0
], - "top_conversion_rejection": "string",
- "top_conversion_rejections": [
- "string"
], - "top_event_per_rejection_total": [
- 0
], - "top_event_rejection": "string",
- "top_event_rejections": [
- "string"
], - "top_impression_per_rejection_total": [
- 0
], - "top_impression_rejection": "string",
- "top_impression_rejections": [
- "string"
]
}
]
}
}Get an impression report.
| 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 |
{- "data": {
- "count": 0,
- "data": [
- {
- "advertiser": "Acme Corp (ID: 1)",
- "advertiser_db_id": "string",
- "advertiser_id": "1",
- "asn": 0,
- "blocked": 0,
- "browser_language": [
- "string"
], - "browser_name": "string",
- "browser_timezone": "string",
- "browser_version": "string",
- "bundle_id": "string",
- "city": "string",
- "click_ip": "string",
- "country": "US",
- "device_id": "string",
- "device_type": "string",
- "extra_params.keys": [
- "string"
], - "extra_params.values": [
- "string"
], - "filter_group_id": "string",
- "fingerprint": "string",
- "integration_id": "string",
- "integration_type": "string",
- "invalid_sub_id": "string",
- "ip_network": "string",
- "is_bot": 0,
- "is_old_browser": 0,
- "is_old_os": 0,
- "isp": "string",
- "lat": 0,
- "long": 0,
- "manager_id": "string",
- "manager_name": "string",
- "monitoring_mode": 0,
- "offer_db_id": "string",
- "offer_id": "42",
- "organization_id": "string",
- "os_name": "string",
- "os_version": "string",
- "payout": 5,
- "postal_code": "string",
- "proxy_type": "string",
- "publisher": "Acme Media (ID: 1)",
- "publisher_db_id": "string",
- "real_advertiser": "string",
- "real_filter_group_id": "string",
- "real_offer_id": "string",
- "real_publisher": "string",
- "real_tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X",
- "referer": "string",
- "referer_categories": [
- "string"
], - "rejected_advanced_reason": "string",
- "rejected_internal_reason": "string",
- "rejected_language": "string",
- "rejected_primary_reason": "string",
- "rejected_simple_reason": "string",
- "rejection_type": "string",
- "rejections": [
- "string"
], - "request_date": "2019-08-24",
- "request_time": "2026-01-15 10:30:00",
- "revenue": 10,
- "risk": "string",
- "rtt": 0,
- "score": 0,
- "server_region": "string",
- "site_url": "string",
- "site_url_categories": [
- "string"
], - "state": "string",
- "status": "Approved",
- "sub_id": "campaign_a",
- "sub_id_2": "string",
- "sub_id_3": "string",
- "sub_id_4": "string",
- "sub_id_5": "string",
- "sub_id_6": "string",
- "tags": [
- "string"
], - "targeting_group_id": "string",
- "tx_id": "01J9K3M8N2P4Q6R8S0T1V3W5X_42_1",
- "user_agent": "string",
- "user_email": "string",
- "uuid": "string"
}
], - "pageInfo": {
- "endCursor": "string",
- "hasNextPage": true,
- "hasPreviousPage": true,
- "startCursor": "string"
}
}
}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].
| 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 |
{- "data": {
- "count": 0,
- "data": [
- {
- "advertiser": "string",
- "advertiser_db_id": "string",
- "approved_clicks_total": 0,
- "approved_conversions_total": 0,
- "approved_events_total": 0,
- "approved_impressions_total": 0,
- "approved_payout": 0,
- "approved_revenue": 0,
- "clicks_fraud_detection_rate": 0,
- "conversions_fraud_detection_rate": 0,
- "date": "2019-08-24",
- "ecpa": 0,
- "ecpc": 0,
- "events_fraud_detection_rate": 0,
- "fraud_clicks_total": 0,
- "fraud_conversions_total": 0,
- "fraud_events_total": 0,
- "fraud_impressions_total": 0,
- "gross_clicks_total": 0,
- "gross_conversions_total": 0,
- "gross_events_total": 0,
- "gross_impressions_total": 0,
- "gross_payout": 0,
- "gross_revenue": 0,
- "impressions_fraud_detection_rate": 0,
- "invalid_clicks_total": 0,
- "invalid_conversions_total": 0,
- "invalid_events_total": 0,
- "invalid_impressions_total": 0,
- "margin": 0,
- "offer_db_id": "string",
- "offer_id": "string",
- "profit": 0,
- "publisher": "string",
- "publisher_db_id": "string",
- "real_advertiser": "string",
- "real_offer_id": "string",
- "real_publisher": "string",
- "rejected_payout": 0,
- "rejected_revenue": 0,
- "rpa": 0,
- "sub_id": "string",
- "throttled_conversions_total": 0,
- "throttled_events_total": 0,
- "throttled_revenue": 0,
- "top_click_per_rejection_total": [
- 0
], - "top_click_rejection": "string",
- "top_click_rejections": [
- "string"
], - "top_conversion_per_rejection_total": [
- 0
], - "top_conversion_rejection": "string",
- "top_conversion_rejections": [
- "string"
], - "top_event_per_rejection_total": [
- 0
], - "top_event_rejection": "string",
- "top_event_rejections": [
- "string"
], - "top_impression_per_rejection_total": [
- 0
], - "top_impression_rejection": "string",
- "top_impression_rejections": [
- "string"
]
}
]
}
}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.
List all the Download Center exports.
{- "data": [
- {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
], - "meta": {
- "links": {
- "next": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}, - "prev": {
- "page[after]": "string",
- "page[before]": "string",
- "page[number]": 0,
- "page[size]": 0
}
}, - "total_count": 0,
- "total_page": 0
}
}Get the Download Center export object.
| exportID required | string The Export ID |
{- "data": {
- "artifact": {
- "download_link": "string",
- "meta": {
- "id": "string",
- "organization": "string",
- "type": "string"
}, - "name": "string",
- "size": 0
}, - "created_at": "string",
- "email_config": {
- "recipient": "string",
- "referer": "string"
}, - "error": "string",
- "export_list_options": {
- "extra_parameters": [
- "string"
], - "fields": [
- "string"
], - "filters": {
- "booleans": {
- "property1": true,
- "property2": true
}, - "date_range": {
- "end": "string",
- "start": "string"
}, - "date_time_range": {
- "end": "string",
- "start": "string"
}, - "field_exists": {
- "property1": true,
- "property2": true
}, - "fields_empty": {
- "property1": true,
- "property2": true
}, - "numbers": {
- "property1": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}, - "property2": {
- "property1": {
- "property1": [
- 0
], - "property2": [
- 0
]
}, - "property2": {
- "property1": [
- 0
], - "property2": [
- 0
]
}
}
}, - "regex_query": {
- "field_value": "string",
- "searchable_fields": [
- "string"
]
}, - "strings": {
- "property1": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}, - "property2": {
- "property1": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property2": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}
}
}, - "text_search": "string"
}
}, - "format": {
- "delimiter": "string"
}, - "guest_token": "string",
- "id": "string",
- "integration": "string",
- "last_updated_by": "string",
- "masking_config": {
- "advertiser_access": 0,
- "managed_advertisers": [
- "string"
], - "managed_publishers": [
- "string"
], - "publisher_access": 0
}, - "notify_by_email": true,
- "organization": "string",
- "platform": "24metrics",
- "reports_query_option": {
- "end_date": "string",
- "extra_parameters_as_new_fields": [
- "string"
], - "filters": {
- "property1": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}, - "property2": {
- "equal_values": [
- "string"
], - "greater_than_values": [
- 0
], - "less_than_values": [
- 0
], - "like_values": [
- "string"
], - "not_equal_values": [
- "string"
]
}
}, - "include_fields": [
- "string"
], - "relative_date": "string",
- "sort_by": [
- {
- "is_descending": true,
- "name": "string"
}
], - "start_date": "string"
}, - "requested_by": "string",
- "results_meta": {
- "duration_seconds": 0,
- "range_truncated": true,
- "total": 0
}, - "status": "PENDING",
- "type": "string",
- "updated_at": "string"
}
}