From 15e667699b14030b5cee0496fa95810053781941 Mon Sep 17 00:00:00 2001 From: Arshal Soren Date: Wed, 1 Nov 2023 11:29:36 +0530 Subject: [PATCH 1/5] Modified 2 files --- .spectral.mjs | 2 + admin/openapi-1.2.58.yaml | 9900 ++++++++++++++++++++----------------- 2 files changed, 5486 insertions(+), 4416 deletions(-) create mode 100644 .spectral.mjs diff --git a/.spectral.mjs b/.spectral.mjs new file mode 100644 index 0000000..dbec6f0 --- /dev/null +++ b/.spectral.mjs @@ -0,0 +1,2 @@ +import ruleset from "https://stoplight.io/api/v1/projects/cHJqOjIxNDkwNQ/spectral.js?branch_slug=master&token=238be5ed-d334-4fcc-b2a5-c78cce3d3852"; +export default { extends: ruleset }; \ No newline at end of file diff --git a/admin/openapi-1.2.58.yaml b/admin/openapi-1.2.58.yaml index d7317c1..9f0c4db 100644 --- a/admin/openapi-1.2.58.yaml +++ b/admin/openapi-1.2.58.yaml @@ -43,8 +43,8 @@ paths: description: limit - schema: oneOf: - - type: integer - - type: string + - type: integer + - type: string in: query name: pubId description: Publisher Id or Hash Id @@ -77,7 +77,7 @@ paths: geo: type: array items: - type: string + type: string description: Two Letter Country ISO Code in Blocks objective: type: array @@ -166,92 +166,82 @@ paths: - id: 2099 hashId: 63da0749cd195814190b6163 title: AmericanSolarQuotes - US - 90% Rev Share - description: "AmericanSolarQuotes<br /><br />\r\nPayable action: Valid - quote<br /><br />\r\nTerms: US, 18+, non-incent<br /><br - />\r\nSend times: Monday - Friday (no weekend activity)\r\n

From:
- Home Eco Grants

Subject:
- Save up to 80% on your energy bills - with a free Solar Panels Grant
- Instant Eligibility Calculator for Government-Funded - Solar Panels
- Check if your property qualifies for a free government energy - efficiency grant!
- Get Free Solar Panels through government funding!" + description: "AmericanSolarQuotes<br /><br />\r\nPayable action: Valid quote<br /><br />\r\nTerms: US, 18+, non-incent<br /><br />\r\nSend times: Monday - Friday (no weekend activity)\r\n

From:
- Home Eco Grants

Subject:
- Save up to 80% on your energy bills with a free Solar Panels Grant
- Instant Eligibility Calculator for Government-Funded Solar Panels
- Check if your property qualifies for a free government energy efficiency grant!
- Get Free Solar Panels through government funding!" currency: USD - previewUrl: https://solar.americahomequotes.com/ + previewUrl: 'https://solar.americahomequotes.com/' model: cpa device: - - all + - all flow: [] os: - - all - osVer: + - all + osVer: null appId: idsa13442 appName: app.trackier.com categories: [] goals: - - id: 63e3dfd379a7cc7cbf135e6d - title: TEST GOAL - value: test_goal - payouts: - - goalId: 63e3dfd379a7cc7cbf135e6d - revenue: 3.03 - payout: 1.515 - coverage: - - ALL - payoutType: percentage - - id: 63e3e0cd5a937e373d2f8467 - title: test pub specific - value: test_pub_specific - payouts: - - goalId: 63e3e0cd5a937e373d2f8467 - revenue: 2 - payout: 1 - coverage: - - ALL - payoutType: fixed - - id: 63e3e6ef5a937e373d2f846b - title: test goal two payout - value: test goal two payout - payouts: - - goalId: 63e3e6ef5a937e373d2f846b - revenue: 2 - payout: 1 - coverage: - - ALL - payoutType: fixed - - goalId: 63e3e6ef5a937e373d2f846b - revenue: 20 - payout: 10 - coverage: - - IN - payoutType: fixed + - id: 63e3dfd379a7cc7cbf135e6d + title: TEST GOAL + value: test_goal + payouts: + - goalId: 63e3dfd379a7cc7cbf135e6d + revenue: 3.03 + payout: 1.515 + coverage: + - ALL + payoutType: percentage + - id: 63e3e0cd5a937e373d2f8467 + title: test pub specific + value: test_pub_specific + payouts: + - goalId: 63e3e0cd5a937e373d2f8467 + revenue: 2 + payout: 1 + coverage: + - ALL + payoutType: fixed + - id: 63e3e6ef5a937e373d2f846b + title: test goal two payout + value: test goal two payout + payouts: + - goalId: 63e3e6ef5a937e373d2f846b + revenue: 2 + payout: 1 + coverage: + - ALL + payoutType: fixed + - goalId: 63e3e6ef5a937e373d2f846b + revenue: 20 + payout: 10 + coverage: + - IN + payoutType: fixed subIdsBlocked: [] subIdsAllowed: [] countries: - - US + - US isps: - - all + - all citiesInclude: [] citiesExclude: [] defaultGoal: Default creatives: - - fileName: email_63da07493ac06.html - dimensions: [] - mimeType: text/html - title: AmericanSolarQuotes - US - 90% Rev Share - fullUrl: https://static.vnative.co/images/email_63da07493ac06.html - description: "Save up to 80% on your energy bills with a free Solar Panels Grant\r\nInstant - Eligibility Calculator for Government-Funded Solar Panels\r\nCheck if your property - qualifies for a free government energy efficiency grant!\r\nGet Free Solar Panels - through government funding!\r\n" + - fileName: email_63da07493ac06.html + dimensions: [] + mimeType: text/html + title: AmericanSolarQuotes - US - 90% Rev Share + fullUrl: 'https://static.vnative.co/images/email_63da07493ac06.html' + description: "Save up to 80% on your energy bills with a free Solar Panels Grant\r\nInstant Eligibility Calculator for Government-Funded Solar Panels\r\nCheck if your property qualifies for a free government energy efficiency grant!\r\nGet Free Solar Panels through government funding!\r\n" payouts: - - payout: 63 - revenue: 70 - coverage: - - US - city: [] - region: [] - payoutType: percentage - trackingLink: https://mpro.gotrackier.com/click?campaign_id=2099&pub_id=5&source=hellp - impressionUrl: https://mpro.gotrackier.com/imp?campaign_id=2099&pub_id=5&source=hellp - + - payout: 63 + revenue: 70 + coverage: + - US + city: [] + region: [] + payoutType: percentage + trackingLink: 'https://mpro.gotrackier.com/click?campaign_id=2099&pub_id=5&source=hellp' + impressionUrl: 'https://mpro.gotrackier.com/imp?campaign_id=2099&pub_id=5&source=hellp' '400': description: Bad Request content: @@ -471,7 +461,7 @@ paths: example-1: value: success: true - message: 'Publisher Removed!' + message: Publisher Removed! '400': description: Bad Request content: @@ -692,7 +682,38 @@ paths: success: type: boolean subaccount: - $ref: ./models/subaccount.v1.yaml + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + x-internal: false + get - copy: + summary: Find Sub Account of Publisher By Id + operationId: publisher-sub-account-findById + tags: + - Manage Publishers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -704,6 +725,7 @@ paths: type: array items: $ref: ./models/error.v1.yaml + x-internal: false post: summary: Edit Sub Account of Publisher operationId: publisher-sub-account-edit @@ -743,13 +765,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - delete: - summary: Delete Sub Account of Publisher - operationId: publisher-sub-account-delete + post - copy 5: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit tags: - Manage Publishers security: - API Key Param: [] + requestBody: + description: Schema To Edit a Sub Account of Publisher + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountEdit' responses: '200': description: OK @@ -762,11 +791,8 @@ paths: type: boolean message: type: string - examples: - example-1: - value: - success: true - message: Sub Account Deleted! + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -778,21 +804,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - '/v2/advertisers/{advertiserId}/subaccounts': - parameters: - - schema: - type: string - name: advertiserId - in: path - description: Advertiser ID in numeric or hash id format - required: true - get: - summary: Get All Sub Accounts of Advertiser - operationId: get-v2-advertiser-subaccount + post - copy 4: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] + requestBody: + description: Schema To Edit a Sub Account of Publisher + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountEdit' responses: '200': description: OK @@ -803,10 +828,10 @@ paths: properties: success: type: boolean - subaccounts: - type: array - items: - $ref: ./models/subaccount.v1.yaml + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -818,20 +843,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - post: - summary: Create Sub Account for Advertiser - operationId: post-v2-advertiser-subaccount + post - copy 3: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] requestBody: + description: Schema To Edit a Sub Account of Publisher content: application/json: schema: type: object - $ref: '#/components/schemas/SubAccountCreate' - description: Schema To Create a Sub Account For Advertiser + $ref: '#/components/schemas/SubAccountEdit' responses: '200': description: OK @@ -857,27 +882,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - '/v2/advertisers/{advertiserId}/subaccounts/{id}': - parameters: - - schema: - type: string - name: advertiserId - in: path - description: Advertiser ID in numeric or hash id format - required: true - - schema: - type: string - name: id - in: path - description: Sub Account ID in numeric or hash id format - required: true - get: - summary: Find Sub Account of Advertiser By Id - operationId: advertiser-sub-account-findById + post - copy 2: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] + requestBody: + description: Schema To Edit a Sub Account of Publisher + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountEdit' responses: '200': description: OK @@ -888,8 +906,10 @@ paths: properties: success: type: boolean + message: + type: string subaccount: - $ref: ./models/subaccount.v1.yaml + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -901,15 +921,15 @@ paths: type: array items: $ref: ./models/error.v1.yaml - post: - summary: Edit Sub Account of Advertiser - operationId: advertiser-sub-account-edit + post - copy: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] requestBody: - description: Schema To Edit a Sub Account of Advertiser + description: Schema To Edit a Sub Account of Publisher content: application/json: schema: @@ -941,10 +961,10 @@ paths: items: $ref: ./models/error.v1.yaml delete: - summary: Delete Sub Account of Advertiser - operationId: advertiser-sub-account-delete + summary: Delete Sub Account of Publisher + operationId: publisher-sub-account-delete tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] responses: @@ -974,12 +994,14 @@ paths: errors: type: array items: - $ref: ./models/error.v1.yaml - /v2/advertisers: - get: - summary: Find All Advertisers + $ref: ./models/error.v1.yaml + delete - copy 3: + summary: Delete Sub Account of Publisher + operationId: publisher-sub-account-delete tags: - - Manage Advertisers + - Manage Publishers + security: + - API Key Param: [] responses: '200': description: OK @@ -988,22 +1010,15 @@ paths: schema: type: object properties: - advertisers: - type: array - items: - $ref: ./models/av.v1.yaml - lastId: - type: - - 'null' - - integer - pagination: - type: object - properties: - totalCount: - type: integer - perPage: - type: integer - examples: {} + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! '400': description: Bad Request content: @@ -1015,34 +1030,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: advertiser-findAll - description: |- - Get 1000 advertisers in a single request then to find the next set of results pass the lastId received in the body - - To find advertiser using name,email,company or ids use filters param - - &filters[name]=Demo - - &filters[company]=Test - - &filters[ids][]=31&filters[ids][]=54 - parameters: - - schema: - type: string - in: query - name: lastId - - schema: - type: array - in: query - name: filters - description: Filters param to apply search filter - - schema: - type: integer - in: query - name: limit - description: 'Limit the number of records (default: 5000)' + delete - copy 2: + summary: Delete Sub Account of Publisher + operationId: publisher-sub-account-delete + tags: + - Manage Publishers security: - API Key Param: [] - post: - summary: Create an advertiser - operationId: advertiser-create responses: '200': description: OK @@ -1051,9 +1045,15 @@ paths: schema: type: object properties: - advertiser: - $ref: ./models/av.v1.yaml - examples: {} + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! '400': description: Bad Request content: @@ -1065,31 +1065,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserCreate' - application/xml: - schema: - $ref: '#/components/schemas/UserCreate' - description: '' - description: Create an advertiser + delete - copy: + summary: Delete Sub Account of Publisher + operationId: publisher-sub-account-delete tags: - - Manage Advertisers + - Manage Publishers security: - API Key Param: [] - '/v2/advertisers/{id}': - parameters: - - schema: - type: string - name: id - in: path - required: true - get: - summary: Find a single advertiser - tags: - - Manage Advertisers responses: '200': description: OK @@ -1098,9 +1080,16 @@ paths: schema: type: object properties: - advertiser: - $ref: ./models/av.v1.yaml - '400': + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! + '400': description: Bad Request content: application/json: @@ -1111,13 +1100,60 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: advertiser-findOne - description: Get a single advertiser + '/v2/publishers/assign-manager/{id}': + post: + summary: Assign Manager + operationId: post-v2-publishers-assign-manager-id + responses: + '200': + description: OK + '400': + description: Bad Request + x-stoplight: + id: 3jl9bb0dx4xey + parameters: [] + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + ids: + type: array + x-stoplight: + id: n7vg9va5s02gh + description: | + Publisher Ids + items: + x-stoplight: + id: 0fuqvpe054lra + type: string + description: '' + tags: + - Manage Publishers + parameters: + - schema: + type: string + name: id + in: path + required: true + '/v2/advertisers/{advertiserId}/subaccounts': + parameters: + - schema: + type: string + name: advertiserId + in: path + description: Advertiser ID in numeric or hash id format + required: true + get: + summary: Get All Sub Accounts of Advertiser + operationId: get-v2-advertiser-subaccount + tags: + - Manage Advertisers security: - API Key Param: [] - post: - summary: Update an Advertiser - operationId: advertiser-edit responses: '200': description: OK @@ -1126,8 +1162,12 @@ paths: schema: type: object properties: - advertiser: - $ref: ./models/av.v1.yaml + success: + type: boolean + subaccounts: + type: array + items: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -1139,24 +1179,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UserEdit' - examples: {} - application/xml: - schema: - $ref: '#/components/schemas/UserEdit' - description: '' - description: Edit a single advertiser + post: + summary: Create Sub Account for Advertiser + operationId: post-v2-advertiser-subaccount tags: - Manage Advertisers security: - API Key Param: [] - delete: - summary: Delete an Advertiser - operationId: advertiser-delete + requestBody: + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountCreate' + description: Schema To Create a Sub Account For Advertiser responses: '200': description: OK @@ -1169,6 +1205,8 @@ paths: type: boolean message: type: string + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -1180,20 +1218,27 @@ paths: type: array items: $ref: ./models/error.v1.yaml - parameters: - - schema: - type: string - in: query - name: '{id}' - description: Delete an advertiser + '/v2/advertisers/{advertiserId}/subaccounts/{id}': + parameters: + - schema: + type: string + name: advertiserId + in: path + description: Advertiser ID in numeric or hash id format + required: true + - schema: + type: string + name: id + in: path + description: Sub Account ID in numeric or hash id format + required: true + get: + summary: Find Sub Account of Advertiser By Id + operationId: advertiser-sub-account-findById tags: - Manage Advertisers security: - API Key Param: [] - /v2/login: - post: - summary: Basic Login Endpoint - operationId: login responses: '200': description: OK @@ -1202,71 +1247,10 @@ paths: schema: type: object properties: - data: - type: object - properties: - key: - type: string - user: - type: object - properties: - id: - type: integer - hashId: - type: string - name: - type: string - email: - type: string - username: - type: string - company: - type: string - created: - type: string - modified: - type: string - type: - type: string success: type: boolean - examples: - sample example: - value: - success: true - data: - key: xxxxxxxxxxxxxxxxxxxx - user: - meta: - afields: - testing: '' - country: IN - tags: [] - username: Himanshu Tiwari - name: Himanshu Tiwari - email: mastionmind@gmail.com - region: - currency: INR - lang: en - country: IN - address: '' - state: '' - city: '' - zipcode: '' - unsubscribe: false - is_demo: false - macro: - p1: '{your-transaction-id}' - source: '{your-sub-aff-id}' - status: active - created: '2020-01-07T11:10:09.000Z' - modified: '2020-02-17T11:09:54.243Z' - company: Himanshu Tiwari - hashId: 5e146711b6920d697c4326dc - id: 1302 - whitelistAdv: [] - blockedSources: [] - type: publisher + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -1278,36 +1262,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Login endpoint + post: + summary: Edit Sub Account of Advertiser + operationId: advertiser-sub-account-edit + tags: + - Manage Advertisers + security: + - API Key Param: [] requestBody: + description: Schema To Edit a Sub Account of Advertiser content: application/json: schema: type: object - properties: - email: - type: string - password: - type: string - networkUrl: - type: string - required: - - email - - password - - networkUrl - examples: - basic login example: - value: - password: xxxx - email: xxx@gmail.com - networkUrl: 'http://demo.trackier.com' - tags: - - Network - /v2/campaigns: - get: - summary: Get All Campaigns - tags: - - Campaigns + $ref: '#/components/schemas/SubAccountEdit' responses: '200': description: OK @@ -1316,16 +1284,12 @@ paths: schema: type: object properties: - campaigns: - type: array - items: - $ref: ./models/campaign.v1.yaml - lastId: - type: - - integer - - 'null' - required: - - campaigns + success: + type: boolean + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml '400': description: Bad Request content: @@ -1337,93 +1301,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: campaigns-findAll - description: |- - This endpoint will return the campaigns sorted based on the id. The limit of campaigns returned in one request is 1000. Send the lastId query parameter to fetch more campaigns - - To see campaigns for a particular status use the filters query param - - - &filters[status]=active&filters[objective][]=cpa - - &filters[category][]=travel&filters[visibility][]=public&filters[device][]=mobile - - &filters[os][]=android&filters[trafficChannels][]=Channel1 - - &filters[status]=active&advertiser[]=10&orderBy=created&direction=desc + delete: + summary: Delete Sub Account of Advertiser + operationId: advertiser-sub-account-delete + tags: + - Manage Advertisers security: - API Key Param: [] - parameters: - - schema: - type: integer - in: query - name: lastId - - schema: - type: string - enum: - - created - - title - in: query - name: orderBy - - schema: - type: string - enum: - - asc - - desc - in: query - name: direction - description: Sorting Order
- - `asc` - Ascending, from A to Z
- - `desc` - Descending, from Z to A - - schema: - type: array - items: - type: string - in: query - name: advertiser - description: Advertiser ID in numeric or hash id format - - schema: - type: object - properties: - status: - type: string - enum: ['active', 'pending', 'paused', 'disabled', 'expired', 'suspended'] - geo: - description: Two letter country iso code or ALL - type: array - items: - type: string - objective: - type: array - items: - type: string - enum: ['cpa', 'cpl', 'cpi', 'cps', 'cpc', 'cpm'] - category: - description: Catergories name - type: array - items: - type: string - visibility: - type: array - items: - type: string - enum: ['private', 'permission', 'public'] - device: - type: array - items: - type: string - enum: ['desktop', 'mobile', 'tablet'] - os: - type: array - items: - type: string - enum: ['android', 'ios', 'windows', 'macOs'] - trafficChannels: - type: array - description: Traffic channels name - items: - type: string - in: query - name: filters - post: - summary: Create Campaign - operationId: campaign-create responses: '200': description: OK @@ -1432,12 +1316,15 @@ paths: schema: type: object properties: - campaign: - $ref: ./models/campaign.v1.yaml - payouts: - type: array - items: - $ref: ./models/payout.v1.yaml + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! '400': description: Bad Request content: @@ -1449,29 +1336,11 @@ paths: type: array items: $ref: ./models/error.v1.yaml - security: - - API Key Param: [] - tags: - - Campaigns - description: Create a new campaign - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CampaignCreate' - description: '' - '/v2/campaigns/{id}': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign Id - numeric or hash ID + /v2/advertisers: get: - summary: Find Campaign by ID + summary: Find All Advertisers tags: - - Campaigns + - Manage Advertisers responses: '200': description: OK @@ -1480,8 +1349,22 @@ paths: schema: type: object properties: - campaign: - $ref: ./models/campaign.v1.yaml + advertisers: + type: array + items: + $ref: ./models/av.v1.yaml + lastId: + type: + - 'null' + - integer + pagination: + type: object + properties: + totalCount: + type: integer + perPage: + type: integer + examples: {} '400': description: Bad Request content: @@ -1493,13 +1376,34 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: campaign-findOne + operationId: advertiser-findAll + description: |- + Get 1000 advertisers in a single request then to find the next set of results pass the lastId received in the body + + To find advertiser using name,email,company or ids use filters param + - &filters[name]=Demo + - &filters[company]=Test + - &filters[ids][]=31&filters[ids][]=54 + parameters: + - schema: + type: string + in: query + name: lastId + - schema: + type: array + in: query + name: filters + description: Filters param to apply search filter + - schema: + type: integer + in: query + name: limit + description: 'Limit the number of records (default: 5000)' security: - API Key Param: [] - description: Find a campaign using id post: - summary: Edit a campaign - operationId: campaign-updateOne + summary: Create an advertiser + operationId: advertiser-create responses: '200': description: OK @@ -1508,12 +1412,9 @@ paths: schema: type: object properties: - campaign: - $ref: ./models/campaign.v1.yaml - payouts: - type: array - items: - $ref: ./models/payout.v1.yaml + advertiser: + $ref: ./models/av.v1.yaml + examples: {} '400': description: Bad Request content: @@ -1525,19 +1426,31 @@ paths: type: array items: $ref: ./models/error.v1.yaml - tags: - - Campaigns - security: - - API Key Param: [] requestBody: content: application/json: schema: - $ref: '#/components/schemas/CampaignEdit' - description: Edit a campaign - delete: - summary: Delete a campaign - operationId: campaign-deleteOne + $ref: '#/components/schemas/UserCreate' + application/xml: + schema: + $ref: '#/components/schemas/UserCreate' + description: '' + description: Create an advertiser + tags: + - Manage Advertisers + security: + - API Key Param: [] + '/v2/advertisers/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Find a single advertiser + tags: + - Manage Advertisers responses: '200': description: OK @@ -1546,10 +1459,8 @@ paths: schema: type: object properties: - message: - type: string - success: - type: boolean + advertiser: + $ref: ./models/av.v1.yaml '400': description: Bad Request content: @@ -1561,32 +1472,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - tags: - - Campaigns + operationId: advertiser-findOne + description: Get a single advertiser security: - API Key Param: [] - description: Delete a campaign with given id - '/v2/campaigns/{id}/thumbnail': - parameters: - - schema: - type: string - name: id - in: path - required: true - operationId: campaign-thumbnail-update - description: Campaign ID (Integer Id or hash ID) post: - summary: Edit Campaign Thumbnail - requestBody: - content: - multipart/form-data: - schema: - type: object - properties: - image: - type: file - description: jpeg | gif | bmp | png | ico | tif - + summary: Update an Advertiser + operationId: advertiser-edit responses: '200': description: OK @@ -1595,11 +1487,8 @@ paths: schema: type: object properties: - message: - type: string - example: Thumbnail was updated! - success: - type: boolean + advertiser: + $ref: ./models/av.v1.yaml '400': description: Bad Request content: @@ -1611,13 +1500,24 @@ paths: type: array items: $ref: ./models/error.v1.yaml + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserEdit' + examples: {} + application/xml: + schema: + $ref: '#/components/schemas/UserEdit' + description: '' + description: Edit a single advertiser tags: - - Campaigns + - Manage Advertisers security: - API Key Param: [] - description: Edit thumbnail in a campaign with given id delete: - summary: Delete Campaign Thumbnail + summary: Delete an Advertiser + operationId: advertiser-delete responses: '200': description: OK @@ -1626,11 +1526,10 @@ paths: schema: type: object properties: - message: - type: string - example: Thumbnail was removed! success: type: boolean + message: + type: string '400': description: Bad Request content: @@ -1642,49 +1541,20 @@ paths: type: array items: $ref: ./models/error.v1.yaml + parameters: + - schema: + type: string + in: query + name: '{id}' + description: Delete an advertiser tags: - - Campaigns + - Manage Advertisers security: - API Key Param: [] - description: Delete thumbnail in a campaign with given id - /v2/campaigns/timelines: - get: - summary: Get Campaigns Timelines. - tags: - - Timelines - operationId: campaigns-timelines - description: |- - Get Campaigns Timelines for a specified range of date. - - - ?start=2022-09-01&end=2022-12-21&page=1 - security: - - API Key Param: [] - parameters: - - schema: - type: integer - in: query - name: page - example: 2 - - schema: - type: integer - in: query - name: limit - example: 50 - default: 100 - - schema: - type: string - in: query - name: start - format: "YYYY-MM-DD" - example: "2022-09-01" - description: Start Date should be in UTC - - schema: - type: string - in: query - name: end - format: "YYYY-MM-DD" - example: "2022-09-01" - description: End Date should be in UTC + /v2/login: + post: + summary: Basic Login Endpoint + operationId: login responses: '200': description: OK @@ -1693,61 +1563,71 @@ paths: schema: type: object properties: - success: - type: boolean - default: true data: type: object properties: - changedCampaigns: - type: array - items: - $ref: ./models/campaign-timeline.v1.yaml - page: - type: integer - required: - - page - - changedCampaigns - - data - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - default: false - errors: - type: array - items: - $ref: ./models/error.v1.yaml - '/v2/trackingLink/{campId}/{pubId}': - get: - summary: Generate campaign tracking link - tags: - - Campaigns - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: + key: + type: string + user: + type: object + properties: + id: + type: integer + hashId: + type: string + name: + type: string + email: + type: string + username: + type: string + company: + type: string + created: + type: string + modified: + type: string + type: + type: string success: type: boolean - url: - type: string - shortLink: - type: string examples: - example-1: + sample example: value: success: true - url: 'http://demo.gotrackier.xyz/click?campaign_id=2201&pub_id=95&source=%7Byour-sub-aff-id%7D&p1=%7Byour-transaction-id%7D' - networkUrl: 'http://demo.gotrackier.xyz/t/OTVfMjIwMQ=/?source=%7Byour-sub-aff-id%7D&p1=%7Byour-transaction-id%7D' + data: + key: xxxxxxxxxxxxxxxxxxxx + user: + meta: + afields: + testing: '' + country: IN + tags: [] + username: Himanshu Tiwari + name: Himanshu Tiwari + email: mastionmind@gmail.com + region: + currency: INR + lang: en + country: IN + address: '' + state: '' + city: '' + zipcode: '' + unsubscribe: false + is_demo: false + macro: + p1: '{your-transaction-id}' + source: '{your-sub-aff-id}' + status: active + created: '2020-01-07T11:10:09.000Z' + modified: '2020-02-17T11:09:54.243Z' + company: Himanshu Tiwari + hashId: 5e146711b6920d697c4326dc + id: 1302 + whitelistAdv: [] + blockedSources: [] + type: publisher '400': description: Bad Request content: @@ -1759,44 +1639,35 @@ paths: type: array items: $ref: ./models/error.v1.yaml - parameters: - - schema: - type: string - in: path - name: 'campId' - required: true - description: Campaign Id - numeric or hash ID - - schema: - type: string - in: path - name: 'pubId' - required: true - description: Publisher Id - numeric or hash ID - - schema: - type: string - in: query - name: 'dlurl' - description: Deeplink Url - - schema: - type: string - in: query - name: 'domain' - description: Domain - description: Generate campaign tracking link - security: - - API Key Param: [] - '/v2/campaigns/{id}/caps': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign ID + description: Login endpoint + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + password: + type: string + networkUrl: + type: string + required: + - email + - password + - networkUrl + examples: + basic login example: + value: + password: xxxx + email: xxx@gmail.com + networkUrl: 'http://demo.trackier.com' + tags: + - Network + /v2/campaigns: get: - summary: Find Campaign Caps + summary: Get All Campaigns tags: - - Campaign Caps - Campaigns responses: '200': @@ -1806,38 +1677,16 @@ paths: schema: type: object properties: - caps: - type: array - items: - $ref: ./models/cap.v1.yaml - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: + campaigns: type: array items: - $ref: ./models/error.v1.yaml - operationId: caps-findAll - description: Find caps for campaign - security: - - API Key Param: [] - post: - summary: Create Campaign Cap - operationId: cap-create - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - cap: - $ref: ./models/cap.v1.yaml + $ref: ./models/campaign.v1.yaml + lastId: + type: + - integer + - 'null' + required: + - campaigns '400': description: Bad Request content: @@ -1849,60 +1698,113 @@ paths: type: array items: $ref: ./models/error.v1.yaml - tags: - - Campaign Caps + operationId: campaigns-findAll + description: |- + This endpoint will return the campaigns sorted based on the id. The limit of campaigns returned in one request is 1000. Send the lastId query parameter to fetch more campaigns + + To see campaigns for a particular status use the filters query param + + - &filters[status]=active&filters[objective][]=cpa + - &filters[category][]=travel&filters[visibility][]=public&filters[device][]=mobile + - &filters[os][]=android&filters[trafficChannels][]=Channel1 + - &filters[status]=active&advertiser[]=10&orderBy=created&direction=desc security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Cap' - description: Create cap for a campaign - '/v2/campaigns/{id}/caps/{capId}': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign ID - - schema: - type: string - name: capId - in: path - required: true - description: Cap ID + parameters: + - schema: + type: integer + in: query + name: lastId + - schema: + type: string + enum: + - created + - title + in: query + name: orderBy + - schema: + type: string + enum: + - asc + - desc + in: query + name: direction + description: 'Sorting Order
- `asc` - Ascending, from A to Z
- `desc` - Descending, from Z to A' + - schema: + type: array + items: + type: string + in: query + name: advertiser + description: Advertiser ID in numeric or hash id format + - schema: + type: object + properties: + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + - suspended + geo: + description: Two letter country iso code or ALL + type: array + items: + type: string + objective: + type: array + items: + type: string + enum: + - cpa + - cpl + - cpi + - cps + - cpc + - cpm + category: + description: Catergories name + type: array + items: + type: string + visibility: + type: array + items: + type: string + enum: + - private + - permission + - public + device: + type: array + items: + type: string + enum: + - desktop + - mobile + - tablet + os: + type: array + items: + type: string + enum: + - android + - ios + - windows + - macOs + trafficChannels: + type: array + description: Traffic channels name + items: + type: string + in: query + name: filters post: - summary: Edit a Cap - operationId: edit-campaign-cap - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - message: - type: string - cap: - $ref: ./models/cap.v1.yaml - security: - - API Key Param: [] - requestBody: - content: - application/json: - schema: - $ref: ./models/cap.v1.yaml - description: '' - tags: - - Campaign Caps - - Campaigns - description: Edit a campaign cap - delete: - summary: Delete a Cap - operationId: delete-campaign-cap + summary: Create Campaign + operationId: campaign-create responses: '200': description: OK @@ -1911,10 +1813,12 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string + campaign: + $ref: ./models/campaign.v1.yaml + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml '400': description: Bad Request content: @@ -1929,39 +1833,26 @@ paths: security: - API Key Param: [] tags: - - Campaign Caps - description: Delete a campaign cap - '/v2/campaigns/{id}/lps': + - Campaigns + description: Create a new campaign + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CampaignCreate' + description: '' + '/v2/campaigns/{id}': parameters: - schema: type: string name: id in: path required: true - description: Campaign ID + description: Campaign Id - numeric or hash ID get: - summary: FindAll landing pages + summary: Find Campaign by ID tags: - - Landing Pages - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - landingPages: - type: array - items: - $ref: ./models/landingpage.v1.yaml - operationId: landingpages-findAll - security: - - API Key Param: [] - description: Find all landing pages for a campaign - post: - summary: Create a Landing Page - operationId: landingpage-create + - Campaigns responses: '200': description: OK @@ -1970,8 +1861,8 @@ paths: schema: type: object properties: - landingPage: - $ref: ./models/landingpage.v1.yaml + campaign: + $ref: ./models/campaign.v1.yaml '400': description: Bad Request content: @@ -1983,34 +1874,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml + operationId: campaign-findOne security: - API Key Param: [] - tags: - - Landing Pages - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/LandingPage' - description: '' - description: Create a landing page - '/v2/campaigns/{id}/lps/{lpId}': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: campaign id - - schema: - type: string - name: lpId - in: path - required: true - description: landing page id + description: Find a campaign using id post: - summary: Edit a Landing Page - operationId: edit-landingPage + summary: Edit a campaign + operationId: campaign-updateOne responses: '200': description: OK @@ -2019,10 +1889,12 @@ paths: schema: type: object properties: - success: - type: boolean - landingPage: - $ref: ./models/landingpage.v1.yaml + campaign: + $ref: ./models/campaign.v1.yaml + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml '400': description: Bad Request content: @@ -2035,18 +1907,18 @@ paths: items: $ref: ./models/error.v1.yaml tags: - - Landing Pages + - Campaigns security: - API Key Param: [] requestBody: content: application/json: schema: - $ref: '#/components/schemas/LandingPage' - description: Edit a landing page + $ref: '#/components/schemas/CampaignEdit' + description: Edit a campaign delete: - summary: Delete a Landing Page - operationId: delete-landingPage + summary: Delete a campaign + operationId: campaign-deleteOne responses: '200': description: OK @@ -2055,10 +1927,10 @@ paths: schema: type: object properties: - success: - type: boolean message: type: string + success: + type: boolean '400': description: Bad Request content: @@ -2071,20 +1943,30 @@ paths: items: $ref: ./models/error.v1.yaml tags: - - Landing Pages + - Campaigns security: - API Key Param: [] - description: Delete a landing page - '/v2/campaigns/{id}/payouts': + description: Delete a campaign with given id + '/v2/campaigns/{id}/thumbnail': parameters: - schema: type: string name: id in: path required: true - description: Campaign ID - get: - summary: Get Campaign Payouts + operationId: campaign-thumbnail-update + description: Campaign ID (Integer Id or hash ID) + post: + summary: Edit Campaign Thumbnail + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: file + description: jpeg | gif | bmp | png | ico | tif responses: '200': description: OK @@ -2093,10 +1975,11 @@ paths: schema: type: object properties: - payouts: - type: array - items: - $ref: ./models/payout.v1.yaml + message: + type: string + example: Thumbnail was updated! + success: + type: boolean '400': description: Bad Request content: @@ -2108,17 +1991,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-campaigns-id-payouts + tags: + - Campaigns security: - API Key Param: [] - requestBody: - description: '' - tags: - - Payouts - description: Get campaign payouts - post: - summary: Add new campaign payout - operationId: post-v2-campaigns-id-payouts + description: Edit thumbnail in a campaign with given id + delete: + summary: Delete Campaign Thumbnail responses: '200': description: OK @@ -2127,8 +2006,11 @@ paths: schema: type: object properties: - payout: - $ref: ./models/payout.v1.yaml + message: + type: string + example: Thumbnail was removed! + success: + type: boolean '400': description: Bad Request content: @@ -2140,34 +2022,57 @@ paths: type: array items: $ref: ./models/error.v1.yaml + tags: + - Campaigns security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/Payout' - description: '' - tags: - - Payouts - description: Add a new campaign payout - '/v2/campaigns/{id}/payouts/{payoutId}': + description: Delete thumbnail in a campaign with given id + '/v2/campaigns/{id}/s2s-tracking': parameters: - schema: type: string name: id in: path required: true - description: Campaign ID - - schema: - type: string - name: payoutId - in: path - required: true - description: Payout ID + operationId: campaign-thumbnail-update + description: Campaign ID (Integer Id or hash ID) post: - summary: Edit a payout - operationId: post-v2-campaigns-id-payouts-payoutId + summary: Edit Campaign S2S Tracking Setting + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + serverSideClicks: + type: integer + x-stoplight: + id: 3kd4gjs022msm + format: int32 + s2sPubSetting: + x-stoplight: + id: 6q0ohw0y3n7lr + enum: + - include + - exclude + s2spubs: + type: array + x-stoplight: + id: 7bzt35hte72ja + description: | + integer id or hash id + items: + x-stoplight: + id: 7xca2iwwkvop4 + type: string + s2sRedirectUrl: + type: string + x-stoplight: + id: 9hsiauc0fylc0 + description: url + required: + - serverSideClicks + - s2sPubSetting responses: '200': description: OK @@ -2176,8 +2081,10 @@ paths: schema: type: object properties: - payout: - $ref: ./models/payout.v1.yaml + message: + type: string + success: + type: boolean '400': description: Bad Request content: @@ -2189,19 +2096,77 @@ paths: type: array items: $ref: ./models/error.v1.yaml + tags: + - Campaigns security: - API Key Param: [] + description: '' + x-stoplight: + id: adsf21lgqfr50 + '/v2/campaigns/{id}/impression-tracking': + parameters: + - schema: + type: string + name: id + in: path + required: true + operationId: campaign-thumbnail-update + description: Campaign ID (Integer Id or hash ID) + post: + summary: Edit Campaign Impression Tracking Setting requestBody: content: - application/json: + multipart/form-data: schema: - $ref: '#/components/schemas/Payout' - tags: - - Payouts - description: Edit a campaign payout - delete: - summary: Delete a payout - operationId: delete-v2-campaigns-id-payouts-payoutId + type: object + properties: + allowImp: + x-stoplight: + id: qz7gwngmft8xy + enum: + - 0 + - 1 + enableVta: + x-stoplight: + id: 36yd97q2bqpuw + enum: + - 0 + - 1 + whitelistPubsVta: + type: array + description: | + integer id or hash id + items: + type: string + x-stoplight: + id: 2agsl8zj6x93t + impressionUrl: + type: string + description: url + x-stoplight: + id: brq1o2d4ev5q8 + serverSideImpression: + x-stoplight: + id: 49ei05obwxx2b + enum: + - 0 + - 1 + specificPubs: + x-stoplight: + id: 6u4ub3dj6ut93 + enum: + - include + - exclude + s2sPubs: + type: array + x-stoplight: + id: gzzi1qz1p0l47 + description: integer id or hash id + items: + x-stoplight: + id: bb58hee4b25wg + type: string + description: '' responses: '200': description: OK @@ -2210,10 +2175,10 @@ paths: schema: type: object properties: - success: - type: boolean message: type: string + success: + type: boolean '400': description: Bad Request content: @@ -2225,74 +2190,51 @@ paths: type: array items: $ref: ./models/error.v1.yaml - security: - - API Key Param: [] - tags: - - Payouts - description: Delete a campaign payout - '/v2/campaigns/{id}/goals': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign ID - get: - summary: Get Campaign Goals tags: - - Campaign Goal - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - goals: - type: array - items: - $ref: ./models/goal.v1.yaml - operationId: get-v2-campaigns-id-goals + - Campaigns security: - API Key Param: [] - requestBody: {} - description: Get goals for a campaign - post: - summary: Create Campaign Goal - operationId: post-v2-campaigns-id-goals - responses: - '200': - description: OK + description: '' + x-stoplight: + id: ortf12dkl390l + /v2/campaigns/timelines: + get: + summary: Get Campaigns Timelines. tags: - - Campaign Goal - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoalCreate' - examples: {} + - Timelines + operationId: campaigns-timelines + description: |- + Get Campaigns Timelines for a specified range of date. + + - ?start=2022-09-01&end=2022-12-21&page=1 security: - API Key Param: [] - description: Create goal for a campaign goal - '/v2/campaigns/{id}/goals/{goalId}': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign ID - - schema: - type: string - name: goalId - in: path - required: true - description: Goal ID - post: - summary: Edit Campaign Goal - operationId: post-v2-campaigns-id-goals-goalId + parameters: + - schema: + type: integer + in: query + name: page + example: 2 + - schema: + type: integer + in: query + name: limit + example: 50 + default: 100 + - schema: + type: string + in: query + name: start + format: YYYY-MM-DD + example: '2022-09-01' + description: Start Date should be in UTC + - schema: + type: string + in: query + name: end + format: YYYY-MM-DD + example: '2022-09-01' + description: End Date should be in UTC responses: '200': description: OK @@ -2301,12 +2243,22 @@ paths: schema: type: object properties: - message: - type: string - goals: - type: array - items: - $ref: ./models/goal.v1.yaml + success: + type: boolean + default: true + data: + type: object + properties: + changedCampaigns: + type: array + items: + $ref: ./models/campaign-timeline.v1.yaml + page: + type: integer + required: + - page + - changedCampaigns + - data '400': description: Bad Request content: @@ -2314,23 +2266,18 @@ paths: schema: type: object properties: + success: + type: boolean + default: false errors: type: array items: $ref: ./models/error.v1.yaml + '/v2/trackingLink/{campId}/{pubId}': + get: + summary: Generate campaign tracking link tags: - - Campaign Goal - security: - - API Key Param: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/GoalEdit' - description: Edit campaign goal - delete: - summary: Delete a campaign goal - operationId: delete-v2-campaigns-id-goals-goalId + - Campaigns responses: '200': description: OK @@ -2341,8 +2288,16 @@ paths: properties: success: type: boolean - message: + url: + type: string + shortLink: type: string + examples: + example-1: + value: + success: true + url: 'http://demo.gotrackier.xyz/click?campaign_id=2201&pub_id=95&source=%7Byour-sub-aff-id%7D&p1=%7Byour-transaction-id%7D' + networkUrl: 'http://demo.gotrackier.xyz/t/OTVfMjIwMQ=/?source=%7Byour-sub-aff-id%7D&p1=%7Byour-transaction-id%7D' '400': description: Bad Request content: @@ -2353,79 +2308,46 @@ paths: errors: type: array items: - $ref: '' - security: - - API Key Param: [] - tags: - - Campaign Goal - description: Delete a campaign goal - '/v2/campaigns/{campaignId}/postback-settings': - parameters: - - schema: - type: string - name: campaignId + $ref: ./models/error.v1.yaml + parameters: + - schema: + type: string + in: path + name: campId + required: true + description: Campaign Id - numeric or hash ID + - schema: + type: string + in: path + name: pubId + required: true + description: Publisher Id - numeric or hash ID + - schema: + type: string + in: query + name: dlurl + description: Deeplink Url + - schema: + type: string + in: query + name: domain + description: Domain + description: Generate campaign tracking link + security: + - API Key Param: [] + '/v2/campaigns/{id}/caps': + parameters: + - schema: + type: string + name: id in: path required: true description: Campaign ID - post: - summary: Edit Campaign PostBack Setting - operationId: edit-campaign-postback-setting + get: + summary: Find Campaign Caps tags: + - Campaign Caps - Campaigns - security: - - API Key Param: [] - requestBody: - description: 'Note: Array of BlacklistPostbackPubs and WhitelistPostbackPubs Will Replace The Old Values' - content: - application/json: - schema: - type: object - properties: - goals: - type: array - items: - type: object - properties: - goalId: - type: string - enum: - - default - - Goal Hash Id - blacklistPostbackPubs: - oneOf: - - type: array - items: - type: number - - type: array - items: - type: string - enum: - - all - description: ID's of Publisher - whitelistPostbackPubs: - type: array - items: - type: number - description: ID's of Publisher - example: - [ - { - goalId: default, - blacklistPostbackPubs: [13, 14], - whitelistPostbackPubs: [14, 15] - }, - { - goalId: 5f0be9f461770401a87a0016, - blacklistPostbackPubs: [13, 14], - whitelistPostbackPubs: [14, 15] - }, - { - goalId: 6202bcd5f42a00036d1e0755, - blacklistPostbackPubs: ['all'], - whitelistPostbackPubs: [14, 15] - } - ] - description: Edit Campaign PostBack Setting responses: '200': description: OK @@ -2434,10 +2356,10 @@ paths: schema: type: object properties: - sucess: - type: boolean - message: - type: string + caps: + type: array + items: + $ref: ./models/cap.v1.yaml '400': description: Bad Request content: @@ -2449,11 +2371,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - /v2/campaigns/categories: - get: - summary: Get all campaigns categories - tags: - - Campaigns + operationId: caps-findAll + description: Find caps for campaign + security: + - API Key Param: [] + post: + summary: Create Campaign Cap + operationId: cap-create responses: '200': description: OK @@ -2462,10 +2386,8 @@ paths: schema: type: object properties: - categories: - type: array - items: - $ref: './models/category.v1.yaml' + cap: + $ref: ./models/cap.v1.yaml '400': description: Bad Request content: @@ -2474,11 +2396,36 @@ paths: type: object properties: errors: - $ref: './models/error.v1.yaml' - /v2/campaigns/status: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Caps + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Cap' + description: Create cap for a campaign + '/v2/campaigns/{id}/caps/{capId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: capId + in: path + required: true + description: Cap ID post: - summary: Bulk Campaign Status Change - operationId: post-v2-campaigns-status + summary: Edit a Cap + operationId: edit-campaign-cap responses: '200': description: OK @@ -2487,51 +2434,25 @@ paths: schema: type: object properties: - success: - type: boolean message: type: string - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - $ref: ./models/error.v1.yaml - tags: - - Campaigns - description: Use this endpoint to change the status of multiple campaigns in one request + cap: + $ref: ./models/cap.v1.yaml security: - API Key Param: [] requestBody: content: application/json: schema: - type: object - properties: - campaignIds: - type: array - items: - oneOf: - - type: integer - - type: string - status: - type: string - enum: - - active - - pending - - paused - - disabled - - expired - required: - - campaignIds - - status - /v2/campaigns/bulkEdit: - post: - summary: Bulk Campaign Edit - operationId: post-v2-bulk-campaign-edit + $ref: ./models/cap.v1.yaml + description: '' + tags: + - Campaign Caps + - Campaigns + description: Edit a campaign cap + delete: + summary: Delete a Cap + operationId: delete-campaign-cap responses: '200': description: OK @@ -2552,52 +2473,26 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - tags: - - Campaigns - description: Use this endpoint to change the status, visibility and currency of multiple campaigns in one request + type: array + items: + $ref: ./models/error.v1.yaml security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - campaignIds: - type: array - items: - oneOf: - - type: integer - - type: string - fields: - type: object - properties: - status: - type: string - enum: - - active - - pending - - paused - - disabled - - expired - vis: - type: string - enum: - - public - - private - - permission - currency: - type: string - description: 3 Letter Currency Code - required: - - campaignIds - - fields - '/v2/invoices': + tags: + - Campaign Caps + description: Delete a campaign cap + '/v2/campaigns/{id}/lps': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID get: - summary: Get Invoices List + summary: FindAll landing pages tags: - - Invoices + - Landing Pages responses: '200': description: OK @@ -2606,40 +2501,17 @@ paths: schema: type: object properties: - invoices: + landingPages: type: array items: - $ref: ./models/invoices.v1.yaml - parameters: - - schema: - type: string - name: start - in: path - required: true - description: Start Date (YYYY-MM-DD) - - schema: - type: string - name: end - in: path - required: true - description: End Date (YYYY-MM-DD) - - schema: - type: string - enum: - - publisher - - advertiser - name: utype - in: path - required: true - description: User Type - operationId: get-v2-invoices-list + $ref: ./models/landingpage.v1.yaml + operationId: landingpages-findAll security: - API Key Param: [] - requestBody: {} - description: Get Invoices list for publisher or advertiser. + description: Find all landing pages for a campaign post: - summary: Create Invoice - operationId: post-v2-invoices + summary: Create a Landing Page + operationId: landingpage-create responses: '200': description: OK @@ -2648,44 +2520,47 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string - '400': + landingPage: + $ref: ./models/landingpage.v1.yaml + '400': description: Bad Request content: application/json: schema: type: object properties: - success: - type: string errors: type: array items: $ref: ./models/error.v1.yaml + security: + - API Key Param: [] tags: - - Invoices + - Landing Pages requestBody: content: application/json: schema: - $ref: '#/components/schemas/InvoicesCreate' - security: - - API Key Param: [] - description: Create invoices for advertiser or publisher - '/v2/invoices/{id}': + $ref: '#/components/schemas/LandingPage' + description: '' + description: Create a landing page + '/v2/campaigns/{id}/lps/{lpId}': parameters: - schema: type: string name: id in: path required: true - get: - summary: Get Invoice By ID - tags: - - Invoices + description: campaign id + - schema: + type: string + name: lpId + in: path + required: true + description: landing page id + post: + summary: Edit a Landing Page + operationId: edit-landingPage responses: '200': description: OK @@ -2696,11 +2571,8 @@ paths: properties: success: type: boolean - data: - type: object - properties: - invoice: - $ref: '' + landingPage: + $ref: ./models/landingpage.v1.yaml '400': description: Bad Request content: @@ -2708,19 +2580,23 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-invoice-id - description: Get Invoice by ID + tags: + - Landing Pages security: - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LandingPage' + description: Edit a landing page delete: - summary: Delete Invoice - operationId: delete-v2-postback-id + summary: Delete a Landing Page + operationId: delete-landingPage responses: '200': description: OK @@ -2740,71 +2616,25 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - description: Delete Invoice by ID + tags: + - Landing Pages security: - API Key Param: [] - tags: - - Invoices - '/v2/invoices/preview': + description: Delete a landing page + '/v2/campaigns/{id}/payouts': parameters: - schema: type: string - name: user_id - in: path - required: true - description: User hash ID - - schema: - type: string - name: start - in: path - required: true - description: Start Date (YYYY-MM-DD) - - schema: - type: string - name: end - in: path - required: true - description: End Date (YYYY-MM-DD) - - schema: - type: string - enum: - - campaign - - date_wise - - month_wise - name: prefType - in: path - required: true - description: 'Preference Type' - - schema: - type: string - enum: - - INR - - USD - - ... - name: invCurrency + name: id in: path required: true - description: 'Invoice Currency' - - schema: - type: boolean - name: skipZeroPayouts - in: path - description: 'Skip Zero Payouts' - - schema: - type: string - name: payoutField - in: path - description: 'Custom Payout Field Name' + description: Campaign ID get: - summary: Get Invoice Preview - tags: - - Invoices + summary: Get Campaign Payouts responses: '200': description: OK @@ -2813,10 +2643,10 @@ paths: schema: type: object properties: - success: - type: boolean - data: - type: string + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml '400': description: Bad Request content: @@ -2824,21 +2654,21 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-invoice-preview - description: Get Invoice Preview + operationId: get-v2-campaigns-id-payouts security: - API Key Param: [] - '/v2/publishers/{id}/transactions': - get: - summary: Transactions & Payments + requestBody: + description: '' tags: - - Invoices + - Payouts + description: Get campaign payouts + post: + summary: Add new campaign payout + operationId: post-v2-campaigns-id-payouts responses: '200': description: OK @@ -2847,16 +2677,8 @@ paths: schema: type: object properties: - success: - type: boolean - transactions: - type: array - items: - $ref: ./models/transaction.yaml - payments: - type: array - items: - $ref: ./models/payment.yaml + payout: + $ref: ./models/payout.v1.yaml '400': description: Bad Request content: @@ -2864,21 +2686,38 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-transactions-&-payments - description: Get Invoice Preview security: - API Key Param: [] - /v2/signupfields/publisher: - get: - summary: Publisher Signup Questions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Payout' + description: '' tags: - - Manage Publishers + - Payouts + description: Add a new campaign payout + '/v2/campaigns/{id}/payouts/{payoutId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: payoutId + in: path + required: true + description: Payout ID + post: + summary: Edit a payout + operationId: post-v2-campaigns-id-payouts-payoutId responses: '200': description: OK @@ -2887,27 +2726,8 @@ paths: schema: type: object properties: - fields: - type: array - items: - type: object - properties: - options: - type: array - items: - type: string - label: - type: string - type: - type: string - name: - type: string - required: - type: boolean - id: - type: string - hide: - type: boolean + payout: + $ref: ./models/payout.v1.yaml '400': description: Bad Request content: @@ -2919,15 +2739,19 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-signupfields-publisher - description: Get custom signup question fields for publisher security: - API Key Param: [] - /v2/signupfields/advertiser: - get: - summary: Advertiser SignUp Questions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Payout' tags: - - Manage Advertisers + - Payouts + description: Edit a campaign payout + delete: + summary: Delete a payout + operationId: delete-v2-campaigns-id-payouts-payoutId responses: '200': description: OK @@ -2936,27 +2760,10 @@ paths: schema: type: object properties: - fields: - type: array - items: - type: object - properties: - options: - type: array - items: - type: string - label: - type: string - type: - type: string - name: - type: string - required: - type: boolean - id: - type: string - hide: - type: boolean + success: + type: boolean + message: + type: string '400': description: Bad Request content: @@ -2968,15 +2775,23 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-signupfields-advertiser - description: Get custom signup question fields for advertiser security: - API Key Param: [] - /v2/campaigns/access: - get: - summary: Find Campaign Access tags: - - Campaigns + - Payouts + description: Delete a campaign payout + '/v2/campaigns/{id}/goals': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Get Campaign Goals + tags: + - Campaign Goal responses: '200': description: OK @@ -2985,54 +2800,63 @@ paths: schema: type: object properties: - accessList: + goals: type: array items: - type: object - properties: - _id: - type: string - type: - type: string - enum: - - private - - permission - created: - type: string - campaign: - type: object - properties: - title: - type: string - status: - type: string - hashId: - type: string - id: - type: integer - publisher: - type: object - properties: - name: - type: string - company: - type: string - hashId: - type: string - id: - type: integer - campaignId: - type: string - publisherId: - type: string - status: - type: string - enum: - - approved - - pending - - denied - pagination: - $ref: '#/components/schemas/Pagination' + $ref: ./models/goal.v1.yaml + operationId: get-v2-campaigns-id-goals + security: + - API Key Param: [] + requestBody: {} + description: Get goals for a campaign + post: + summary: Create Campaign Goal + operationId: post-v2-campaigns-id-goals + responses: + '200': + description: OK + tags: + - Campaign Goal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoalCreate' + examples: {} + security: + - API Key Param: [] + description: Create goal for a campaign goal + '/v2/campaigns/{id}/goals/{goalId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: goalId + in: path + required: true + description: Goal ID + post: + summary: Edit Campaign Goal + operationId: post-v2-campaigns-id-goals-goalId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + goals: + type: array + items: + $ref: ./models/goal.v1.yaml '400': description: Bad Request content: @@ -3044,26 +2868,19 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-campaigns-access - description: |- - Find private and permission required campaigns access list - - To see data for particular campaign or publishers use the filters query param like - - - &filters[campaignIds][]=34&filters[campaignIds][]=43 - - &filters[publisherIds][]=28 - - &filters[accessStatus]=pending + tags: + - Campaign Goal security: - API Key Param: [] - parameters: - - schema: - type: array - in: query - name: filters - description: Apply filters to see data for particular campaign or publishers - post: - summary: Update Campaign Access - operationId: post-v2-campaigns-access + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoalEdit' + description: Edit campaign goal + delete: + summary: Delete a campaign goal + operationId: delete-v2-campaigns-id-goals-goalId responses: '200': description: OK @@ -3086,53 +2903,82 @@ paths: errors: type: array items: - $ref: ./models/error.v1.yaml - description: Bulk assign or remove publisher access to private or permission required campaigns + $ref: '' + security: + - API Key Param: [] + tags: + - Campaign Goal + description: Delete a campaign goal + '/v2/campaigns/{campaignId}/postback-settings': + parameters: + - schema: + type: string + name: campaignId + in: path + required: true + description: Campaign ID + post: + summary: Edit Campaign PostBack Setting + operationId: edit-campaign-postback-setting + tags: + - Campaigns security: - API Key Param: [] requestBody: + description: 'Note: Array of BlacklistPostbackPubs and WhitelistPostbackPubs Will Replace The Old Values' content: application/json: schema: type: object properties: - campaign_ids: - type: array - items: - type: integer - publisher_ids: + goals: type: array items: - type: integer - type: - type: string - enum: - - assign - - remove - - block - - unblock - required: - - campaign_ids - - publisher_ids - - type - examples: - example-1: - value: - campaign_ids: - - 1 - - 2 - publisher_ids: - - 5 - - 6 - type: assign - description: Body contains array of campaign ids and publisher ids - tags: - - Campaigns - /v2/network/notifications: - get: - summary: Get Notifications - tags: - - Network + type: object + properties: + goalId: + type: string + enum: + - default + - Goal Hash Id + blacklistPostbackPubs: + oneOf: + - type: array + items: + type: number + - type: array + items: + type: string + enum: + - all + description: ID's of Publisher + whitelistPostbackPubs: + type: array + items: + type: number + description: ID's of Publisher + example: + - goalId: default + blacklistPostbackPubs: + - 13 + - 14 + whitelistPostbackPubs: + - 14 + - 15 + - goalId: 5f0be9f461770401a87a0016 + blacklistPostbackPubs: + - 13 + - 14 + whitelistPostbackPubs: + - 14 + - 15 + - goalId: 6202bcd5f42a00036d1e0755 + blacklistPostbackPubs: + - all + whitelistPostbackPubs: + - 14 + - 15 + description: Edit Campaign PostBack Setting responses: '200': description: OK @@ -3141,12 +2987,10 @@ paths: schema: type: object properties: - notifications: - type: array - items: - $ref: ./models/notification.v1.yaml - pagination: - $ref: '#/components/schemas/Pagination' + sucess: + type: boolean + message: + type: string '400': description: Bad Request content: @@ -3158,37 +3002,36 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-network-notificatoins - description: Get Network notifications - security: - - API Key Param: [] - parameters: - - schema: - type: string - in: query - name: start - description: Start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: End date in YYYY-MM-DD format - - schema: - type: integer - in: query - name: limit - description: Limit of records per page - - schema: - type: integer - in: query - name: page - description: Page number for pagination - parameters: [] - /v2/conversions/bulkUpload: - post: - summary: Bulk Conversion Upload + /v2/campaigns/categories: + get: + summary: Get all campaigns categories tags: - - Network + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + categories: + type: array + items: + $ref: ./models/category.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + /v2/campaigns/status: + post: + summary: Bulk Campaign Status Change + operationId: post-v2-campaigns-status responses: '200': description: OK @@ -3199,32 +3042,8 @@ paths: properties: success: type: boolean - message : + message: type: string - job: - type: object - properties: - _id: - type: string - org_id: - type: string - user_id: - type: string - status: - type: string - result: - type: object - properties: - rows: - type: string - type: - type: string - created: - type: string - __v: - type: integer - id: - type: string '400': description: Bad Request content: @@ -3233,10 +3052,10 @@ paths: type: object properties: errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Upload Bulk Conversion + $ref: ./models/error.v1.yaml + tags: + - Campaigns + description: Use this endpoint to change the status of multiple campaigns in one request security: - API Key Param: [] requestBody: @@ -3244,12 +3063,28 @@ paths: application/json: schema: type: object - $ref: '#/components/schemas/BulkConversionUpload' - /v2/jobs: - get: - summary: Find All Jobs - tags: - - Network + properties: + campaignIds: + type: array + items: + oneOf: + - type: integer + - type: string + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + required: + - campaignIds + - status + /v2/campaigns/bulkEdit: + post: + summary: Bulk Campaign Edit + operationId: post-v2-bulk-campaign-edit responses: '200': description: OK @@ -3257,13 +3092,11 @@ paths: application/json: schema: type: object - properties: + properties: success: type: boolean - jobs: - type: array - items: - $ref: ./models/job.v1.yaml + message: + type: string '400': description: Bad Request content: @@ -3272,57 +3105,140 @@ paths: type: object properties: errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all jobs + $ref: ./models/error.v1.yaml + tags: + - Campaigns + description: 'Use this endpoint to change the status, visibility and currency of multiple campaigns in one request' security: - API Key Param: [] - /v2/jobs/:id: + requestBody: + content: + application/json: + schema: + type: object + properties: + campaignIds: + type: array + items: + oneOf: + - type: integer + - type: string + fields: + type: object + properties: + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + vis: + type: string + enum: + - public + - private + - permission + currency: + type: string + description: 3 Letter Currency Code + required: + - campaignIds + - fields + /v2/invoices: get: - summary: Find Job By Id + summary: Get Invoices List tags: - - Network + - Invoices responses: '200': description: OK content: application/json: - schema: + schema: type: object properties: - success: - type: boolean - job: - $ref: ./models/job.v1.yaml - log: + invoices: type: array items: - type: object - properties: - message: - type: string - created: - type: string - '400': - description: Bad Request + $ref: ./models/invoices.v1.yaml + parameters: + - schema: + type: string + name: start + in: path + required: true + description: Start Date (YYYY-MM-DD) + - schema: + type: string + name: end + in: path + required: true + description: End Date (YYYY-MM-DD) + - schema: + type: string + enum: + - publisher + - advertiser + name: utype + in: path + required: true + description: User Type + operationId: get-v2-invoices-list + security: + - API Key Param: [] + requestBody: {} + description: Get Invoices list for publisher or advertiser. + post: + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: string + errors: + type: array + items: + $ref: ./models/error.v1.yaml + summary: Create Invoice + operationId: post-v2-invoices + responses: + '200': + description: OK content: application/json: schema: type: object properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch job + success: + type: boolean + message: + type: string + tags: + - Invoices + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCreate' security: - API Key Param: [] - /v2/postback: + description: Create invoices for advertiser or publisher + '/v2/invoices/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true get: - summary: Get All Postbacks + summary: Get Invoice By ID tags: - - Manage Postbacks + - Invoices responses: '200': description: OK @@ -3336,10 +3252,8 @@ paths: data: type: object properties: - postbacks: - type: array - items: - $ref: ./models/postback.v1.yaml + invoice: + $ref: '' '400': description: Bad Request content: @@ -3353,24 +3267,13 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-postback - description: Find all publishers postback + operationId: get-v2-invoice-id + description: Get Invoice by ID security: - API Key Param: [] - parameters: - - schema: - type: number - in: query - name: page - description: '' - - schema: - type: number - in: query - name: limit - description: Limit number of records to fetch - post: - summary: Create Postback - operationId: post-v2-postback + delete: + summary: Delete Invoice + operationId: delete-v2-postback-id responses: '200': description: OK @@ -3383,12 +3286,6 @@ paths: type: boolean message: type: string - data: - type: object - properties: - postback: - $ref: ./models/postback.v1.yaml - examples: {} '400': description: Bad Request content: @@ -3397,32 +3294,70 @@ paths: type: object properties: success: - type: string + type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - description: Add publisher Postback + description: Delete Invoice by ID security: - API Key Param: [] tags: - - Manage Postbacks - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PostbackCreate' - '/v2/postback/{id}': + - Invoices + /v2/invoices/preview: parameters: - schema: type: string - name: id + name: user_id + in: path + required: true + description: User hash ID + - schema: + type: string + name: start + in: path + required: true + description: Start Date (YYYY-MM-DD) + - schema: + type: string + name: end + in: path + required: true + description: End Date (YYYY-MM-DD) + - schema: + type: string + enum: + - campaign + - date_wise + - month_wise + name: prefType + in: path + required: true + description: Preference Type + - schema: + type: string + enum: + - INR + - USD + - ... + name: invCurrency in: path required: true + description: Invoice Currency + - schema: + type: boolean + name: skipZeroPayouts + in: path + description: Skip Zero Payouts + - schema: + type: string + name: payoutField + in: path + description: Custom Payout Field Name get: - summary: Get Postback by ID + summary: Get Invoice Preview tags: - - Manage Postbacks + - Invoices responses: '200': description: OK @@ -3434,10 +3369,7 @@ paths: success: type: boolean data: - type: object - properties: - postback: - $ref: ./models/postback.v1.yaml + type: string '400': description: Bad Request content: @@ -3451,13 +3383,15 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-postback-id - description: Get Postback by ID + operationId: get-v2-invoice-preview + description: Get Invoice Preview security: - API Key Param: [] - patch: - summary: Update Postback - operationId: patch-v2-postback-id + '/v2/publishers/{id}/transactions': + get: + summary: Transactions & Payments + tags: + - Invoices responses: '200': description: OK @@ -3468,13 +3402,14 @@ paths: properties: success: type: boolean - message: - type: string - data: - type: object - properties: - postback: - $ref: ./models/postback.v1.yaml + transactions: + type: array + items: + $ref: ./models/transaction.yaml + payments: + type: array + items: + $ref: ./models/payment.yaml '400': description: Bad Request content: @@ -3488,20 +3423,15 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Update Postback + operationId: get-v2-transactions-&-payments + description: Get Invoice Preview security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PostbackEdit' - description: '' + /v2/signupfields/publisher: + get: + summary: Publisher Signup Questions tags: - - Manage Postbacks - delete: - summary: Delete Postback - operationId: delete-v2-postback-id + - Manage Publishers responses: '200': description: OK @@ -3510,10 +3440,27 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string + fields: + type: array + items: + type: object + properties: + options: + type: array + items: + type: string + label: + type: string + type: + type: string + name: + type: string + required: + type: boolean + id: + type: string + hide: + type: boolean '400': description: Bad Request content: @@ -3521,21 +3468,19 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - description: Delete Postback by ID + operationId: get-v2-signupfields-publisher + description: Get custom signup question fields for publisher security: - API Key Param: [] + /v2/signupfields/advertiser: + get: + summary: Advertiser SignUp Questions tags: - - Manage Postbacks - /v2/smart-link: - post: - summary: Create Smartlink - operationId: post-v2-smartlink + - Manage Advertisers responses: '200': description: OK @@ -3544,16 +3489,27 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string - data: - type: object - properties: - postback: - $ref: ./models/postback.v1.yaml - examples: {} + fields: + type: array + items: + type: object + properties: + options: + type: array + items: + type: string + label: + type: string + type: + type: string + name: + type: string + required: + type: boolean + id: + type: string + hide: + type: boolean '400': description: Bad Request content: @@ -3561,26 +3517,19 @@ paths: schema: type: object properties: - success: - type: string errors: type: array items: $ref: ./models/error.v1.yaml - description: Add publisher Smartlink + operationId: get-v2-signupfields-advertiser + description: Get custom signup question fields for advertiser security: - API Key Param: [] - tags: - - Manage Smartlinks - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SmartlinkCreate' + /v2/campaigns/access: get: - summary: Get All Smartlinks + summary: Find Campaign Access tags: - - Manage Smartlinks + - Campaigns responses: '200': description: OK @@ -3589,11 +3538,54 @@ paths: schema: type: object properties: - success: - type: boolean - smartlink: + accessList: type: array - $ref: ./models/smartlink.v1.yaml + items: + type: object + properties: + _id: + type: string + type: + type: string + enum: + - private + - permission + created: + type: string + campaign: + type: object + properties: + title: + type: string + status: + type: string + hashId: + type: string + id: + type: integer + publisher: + type: object + properties: + name: + type: string + company: + type: string + hashId: + type: string + id: + type: integer + campaignId: + type: string + publisherId: + type: string + status: + type: string + enum: + - approved + - pending + - denied + pagination: + $ref: '#/components/schemas/Pagination' '400': description: Bad Request content: @@ -3601,31 +3593,30 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-smartlink - description: Find all smartlinks + operationId: get-v2-campaigns-access + description: |- + Find private and permission required campaigns access list + + To see data for particular campaign or publishers use the filters query param like + + - &filters[campaignIds][]=34&filters[campaignIds][]=43 + - &filters[publisherIds][]=28 + - &filters[accessStatus]=pending security: - API Key Param: [] parameters: - schema: - type: number - in: query - name: page - description: '' - - schema: - type: number + type: array in: query - name: limit - description: Limit number of records to fetch - '/v2/smart-link/{id}': - delete: - summary: Delete smartlink by id - operationId: delete-v2-smartlink-id + name: filters + description: Apply filters to see data for particular campaign or publishers + post: + summary: Update Campaign Access + operationId: post-v2-campaigns-access responses: '200': description: OK @@ -3649,53 +3640,52 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: This smartlink by id - security: - - API Key Param: [] - tags: - - Manage Smartlinks - post: - summary: Edit Smartlink by Id - operationId: post-v2-smartlink-id - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - message: - type: string - smartlink: - $ref: ./models/smartlink.v1.yaml - description: Use this endpoint to update the smartlinks - tags: - - Manage Smartlinks + description: Bulk assign or remove publisher access to private or permission required campaigns security: - API Key Param: [] requestBody: content: application/json: schema: - $ref: '#/components/schemas/SmartlinkEdit' - - - /v2/reports/campaign: + type: object + properties: + campaign_ids: + type: array + items: + type: integer + publisher_ids: + type: array + items: + type: integer + type: + type: string + enum: + - assign + - remove + - block + - unblock + required: + - campaign_ids + - publisher_ids + - type + examples: + example-1: + value: + campaign_ids: + - 1 + - 2 + publisher_ids: + - 5 + - 6 + type: assign + description: Body contains array of campaign ids and publisher ids + tags: + - Campaigns + /v2/network/notifications: get: - summary: Campaign Report + summary: Get Notifications tags: - - Reports - description: |- - Campaign Report - - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the KPI in response add the kpi in query paramters like this: - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Network responses: '200': description: OK @@ -3704,39 +3694,12 @@ paths: schema: type: object properties: - records: + notifications: type: array items: - type: object - properties: - campaign_name: - type: string - campaign_id: - type: integer - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - campaign_name: test - campaign_id: 21585 - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + $ref: ./models/notification.v1.yaml + pagination: + $ref: '#/components/schemas/Pagination' '400': description: Bad Request content: @@ -3745,52 +3708,40 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-campaign + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-notificatoins + description: Get Network notifications security: - API Key Param: [] parameters: - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - schema: type: string in: query name: start - description: Report start date in YYYY-MM-DD format + description: Start date in YYYY-MM-DD format - schema: type: string in: query name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/publisher: - get: - summary: Publisher Report + description: End date in YYYY-MM-DD format + - schema: + type: integer + in: query + name: limit + description: Limit of records per page + - schema: + type: integer + in: query + name: page + description: Page number for pagination + parameters: [] + /v2/conversions/bulkUpload: + post: + summary: Bulk Conversion Upload tags: - - Reports - description: |- - Publisher Report - - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the KPI in response add the kpi in query paramters like this: - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Network responses: '200': description: OK @@ -3799,39 +3750,34 @@ paths: schema: type: object properties: - records: - type: array - items: - type: object - properties: - publisher: - type: string - publisher_id: - type: integer - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - publisher: test - publisher_id: 21 - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + success: + type: boolean + message: + type: string + job: + type: object + properties: + _id: + type: string + org_id: + type: string + user_id: + type: string + status: + type: string + result: + type: object + properties: + rows: + type: string + type: + type: string + created: + type: string + __v: + type: integer + id: + type: string '400': description: Bad Request content: @@ -3840,52 +3786,23 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-publisher + type: array + items: + $ref: ./models/error.v1.yaml + description: Upload Bulk Conversion security: - API Key Param: [] - parameters: - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - - schema: - type: string - in: query - name: start - description: Report start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/advertiser: - get: - summary: Advertiser Report + requestBody: + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/BulkConversionUpload' + /v2/editConv: + post: + summary: Conversion Status Change tags: - - Reports - description: |- - Advertiser Report - - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the KPI in response add the kpi in query paramters like this: - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Network responses: '200': description: OK @@ -3894,39 +3811,10 @@ paths: schema: type: object properties: - records: - type: array - items: - type: object - properties: - advertiser: - type: string - advertiser_id: - type: integer - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - advertiser: demo - advertiser_id: 3 - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + success: + type: boolean + message: + type: string '400': description: Bad Request content: @@ -3935,52 +3823,58 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-advertiser + type: array + items: + $ref: ./models/error.v1.yaml + description: |- + This endpoint should be used to change the status of conversion most which is a general use case for ecommerce or brands. + + Either id, click_id or txn_id + date is required to update a conversion. security: - API Key Param: [] + requestBody: + content: {} + x-stoplight: + id: yoc62j3l6hxdq parameters: - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array + type: string in: query - name: pub_ids + name: id + description: Trackier's Conversion ID - schema: - type: array + type: string in: query - name: adv_ids + name: click_id + description: Trackier's Click ID - schema: - type: array + type: string in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + name: txn_id + description: Trackier's Transaction ID - schema: type: string + enum: + - approved + - pending + - cancelled + - rejected in: query - name: start - description: Report start date in YYYY-MM-DD format + name: status + description: Status of conversion + required: true - schema: type: string in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/daily: + name: date + description: Date of conversion + operationId: '' + parameters: [] + /v2/jobs: get: - summary: Daily Report + summary: Find All Jobs tags: - - Reports - description: |- - Daily Report - - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the KPI in response add the kpi in query paramters like this: - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Network responses: '200': description: OK @@ -3989,36 +3883,12 @@ paths: schema: type: object properties: - records: + success: + type: boolean + jobs: type: array items: - type: object - properties: - created: - type: string - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - created: '2020-10-20' - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + $ref: ./models/job.v1.yaml '400': description: Bad Request content: @@ -4027,52 +3897,17 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-daily + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all jobs security: - API Key Param: [] - parameters: - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - - schema: - type: string - in: query - name: start - description: Report start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/goal: + '/v2/jobs/:id': get: - summary: Goal Report + summary: Find Job By Id tags: - - Reports - description: |- - Goal Report - - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the KPI in response add the kpi in query paramters like this: - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Network responses: '200': description: OK @@ -4081,46 +3916,19 @@ paths: schema: type: object properties: - records: + success: + type: boolean + job: + $ref: ./models/job.v1.yaml + log: type: array items: type: object properties: - campaign_name: - type: string - campaign_id: - type: string - goal_name: - type: string - goal_id: + message: type: string - nullable: true - currency: + created: type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - campaign_name: 'test' - campaign_id: 35 - goal_name: 'Default' - goal_id: null - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 '400': description: Bad Request content: @@ -4129,57 +3937,17 @@ paths: type: object properties: errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-goal + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch job security: - API Key Param: [] - parameters: - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - - schema: - type: string - in: query - name: start - description: Report start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/custom: + /v2/postback: get: - summary: Custom Report + summary: Get All Postbacks tags: - - Reports - description: |- - Custom Report - - If you want to view custom report apart from the standard report use this endpoint you need to send group parameter in the query - - Default Grouping: campaign_name, campaign_id - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the report grouping or kpi: - - &group[]=campaign_id&group[]=publisher_id - - List of grouping parameters can be found below - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + - Manage Postbacks responses: '200': description: OK @@ -4188,39 +3956,15 @@ paths: schema: type: object properties: - records: - type: array - items: - type: object - properties: - campaign_name: - type: string - campaign_id: - type: integer - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - campaign_name: test - campaign_id: 21585 - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + success: + type: boolean + data: + type: object + properties: + postbacks: + type: array + items: + $ref: ./models/postback.v1.yaml '400': description: Bad Request content: @@ -4228,63 +3972,30 @@ paths: schema: type: object properties: + success: + type: boolean errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-custom + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-postback + description: Find all publishers postback security: - API Key Param: [] parameters: - schema: - type: array - in: query - name: group - description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, aff_manager, source, advertiser, advertiser_id, adv_manager, goal_name, goal_id, ref_camp, ref_camp_id, rlo_id, lp_title, lp_id, os, country, hour, created, month, sl_name, sl_id' - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: string + type: number in: query - name: start - description: Report start date in YYYY-MM-DD format + name: page + description: '' - schema: - type: string + type: number in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/subid: - get: - summary: SUBID Report - tags: - - Reports - description: |- - SUBID Report - - If you want to view subId report apart from the standard report use this endpoint you need to send group parameter in the query - - Default Grouping: campaign_name, campaign_id - Default KPI in response: clicks, approvedConversions, payout, revenue, profit - - To update the report grouping or kpi: - - &group[]=campaign_id&group[]=publisher_id - - List of grouping parameters can be found below - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + name: limit + description: Limit number of records to fetch + post: + summary: Create Postback + operationId: post-v2-postback responses: '200': description: OK @@ -4293,39 +4004,16 @@ paths: schema: type: object properties: - records: - type: array - items: - type: object - properties: - campaign_name: - type: string - campaign_id: - type: integer - currency: - type: string - clicks: - type: integer - approvedConversions: - type: integer - payout: - type: number - revenue: - type: number - profit: - type: number - examples: - example-1: - value: - records: - - campaign_name: test - campaign_id: 21585 - currency: USD - clicks: 1 - approvedConversions: 8 - payout: 2 - revenue: 4 - profit: 2 + success: + type: boolean + message: + type: string + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + examples: {} '400': description: Bad Request content: @@ -4333,192 +4021,48 @@ paths: schema: type: object properties: + success: + type: string errors: - $ref: ./models/error.v1.yaml - operationId: get-v2-reports-subid + type: array + items: + $ref: ./models/error.v1.yaml + description: Add publisher Postback security: - API Key Param: [] - parameters: - - schema: - type: array - in: query - name: group - description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, source, advertiser, advertiser_id, goal_name, goal_id, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month, p2, p3, p4, p5, p6, p7, p8, p9, p10, os, city, region, isp, conn, app_name, app_id ,cr_name' - - schema: - type: array - in: query - name: kpi - description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: string - in: query - name: zone - description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' - - schema: - type: string - in: query - name: start - description: Report start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/reports/clicks: - get: - summary: Clicks Report tags: - - Reports - responses: - '200': + - Manage Postbacks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PostbackCreate' + '/v2/postback/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Get Postback by ID + tags: + - Manage Postbacks + responses: + '200': description: OK content: application/json: - examples: - sample-click-report: - value: - clicks: - - id: 6201b350f2960303437bbfb2 - org_id: 58d24f4d17c4520e59658aba - campaign_long_id: 5ff8479d57b90d5907548486 - publisher_long_id: 5df22a4db6920d5c773640a6 - advetiser_long_id: 61d58eedfa2bf747d260358f - landing_page_long_id: - source: 570_92_ - ipaddr: 78.183.154.148 - country: TR - region: Ankara - city: Aksemsettin mah. - isp: Turk Telekom - device: mobile - browser: Chrome 81 - os: Android 11.0 - user_agent: Mozilla/5.0 (Linux; Android 11.0.0; LG G PRO 2 Build/F350K) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 - referer: - is_bot: 1 - is_unique: 0 - p1: 6201b34a5b427c000108e29c - p2: - p3: - p4: - p5: - p6: - p7: - p8: - p9: - p10: - created: 2022-02-08 00:03:28 - note: - referrer_campaign: - gaid: - idfa: - app_id: - app_name: - android_id: - curr: - creative_name: - smart_link: - payout: 0 - revenue: 0 - is_rejected: 0 - brand: - conn: Cable/DSL - lat: 39.9 - long: 32.94 - pub_impression_id: - rr: - device_lang: tr - pub_campaign_id: - sub_source: - click_domain: - release_order_id: - campaign_id: 21812 - campaign_name: testing coupon code - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 121 - advertiser_name: AccessTrade - landing_page_id: null - landing_page_name: Default - - id: 6201b3792d8ef6035766a19c - org_id: 58d24f4d17c4520e59658aba - campaign_long_id: 5ff8479d57b90d5907548486 - publisher_long_id: 5df22a4db6920d5c773640a6 - advetiser_long_id: 61d58eedfa2bfe47d260358f - landing_page_long_id: - source: 570_92_ - ipaddr: 78.189.86.36 - country: TR - region: Izmir - city: Camdibi - isp: Turk Telekom - device: mobile - browser: Safari 10 - os: iOS 10.1 - user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML like Gecko) Version/10.0 Mobile/14B72 - referer: - is_bot: 1 - is_unique: 0 - p1: 6201b376808bd40001959394 - p2: - p3: - p4: - p5: - p6: - p7: - p8: - p9: - p10: - created: 2022-02-09 00:04:09 - note: - referrer_campaign: - gaid: - idfa: - app_id: - app_name: - android_id: - curr: - creative_name: - smart_link: - payout: 0 - revenue: 0 - is_rejected: 0 - brand: - conn: Cable/DSL - lat: 38.44 - long: 27.17 - pub_impression_id: - rr: - device_lang: tr - pub_campaign_id: - sub_source: - click_domain: - release_order_id: - campaign_id: 21812 - campaign_name: testing coupon code - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 121 - advertiser_name: AccessTrade - landing_page_id: null - landing_page_name: Default - pagination: - perPage: 100 - nextPageToken: eyJsYXN0VHMiOiIyMDIyLTAyLTA5IDAwOjA0OjA5IiwicGFnZVRva2VuX3NraXAiOjJ9 - hasNextPage: true + schema: + type: object + properties: + success: + type: boolean + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml '400': description: Bad Request content: @@ -4526,73 +4070,19 @@ paths: schema: type: object properties: + success: + type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-report-clicks - description: |- - This api returns the clicks logs - - To fetch additional columns add query param fields like this - - &fields[]=id - &fields[]=pid + operationId: get-v2-postback-id + description: Get Postback by ID security: - API Key Param: [] - parameters: - - schema: - type: integer - in: query - name: limit - description: 'No of records per page. Min: 100, Max: 5000' - - schema: - type: boolean - in: query - name: hasNextPage - description: 'if next page true else false' - - schema: - type: string - in: query - name: pageToken - description: 'Provided in api for accessing next page' - - schema: - type: array - in: query - name: fields - description: 'Allowed Fields parameters: id, source, ipaddr, ua, os, is_rejected, is_unique, is_bot, city, region, isp, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, note, ro, gaid, idfa, app_id, app_name, android_id, creative_name, smart_link, payout, revenue, brand, conn, lat, long, pub_impression_id, device_lang, pub_campaign_id, sub_source, click_domain, release_order_id, country, browser, referer, device, created, campaign_id, campaign_long_id, campaign_name, publisher_id, publisher_long_id, publisher_name, advertiser_name, advertiser_id, landing_page_name, landing_page_id, landing_page_long_id' - - schema: - type: string - in: query - name: start - description: 'Start date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' - - schema: - type: string - in: query - name: end - description: 'End date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' - - schema: - type: string - in: query - name: zone - description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' - /v2/reports/fraud: - get: - summary: Fraud Report - tags: - - Reports - description: - Fraud Report + patch: + summary: Update Postback + operationId: patch-v2-postback-id responses: '200': description: OK @@ -4601,96 +4091,42 @@ paths: schema: type: object properties: - records: + success: + type: boolean + message: + type: string + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: type: array items: - type: object - properties: - campaign_name: - type: string - campaign_id: - type: integer - publisher_id: - type: integer - advertiser_id: - type: integer - ro: - type: integer - goal_id: - type: integer - sl: - type: string - url_id: - type: integer - country: - type: string - os: - type: string - hour: - type: number - rejectedConversions: - type: integer - grossConversions: - type: integer - payout: - type: number - revenue: - type: number - examples: - example-1: - value: - records: - - campaign_name: test - campaign_id: 21585 - currency: USD - rejectedConversions: 1 - grossConversions: 8 - payout: 2 - revenue: 4 - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: $ref: ./models/error.v1.yaml - operationId: get-v2-reports-fraud - parameters: - - schema: - type: array - in: query - name: group - description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, publisher, publisher_id, publisher_long_id, advertiser, advertiser_id, advertiser_long_id, goal_name, goal_id, sl, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month' - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - - schema: - type: array - in: query - name: adv_ids - - schema: - type: string - in: query - name: start - description: Report start date in YYYY-MM-DD format - - schema: - type: string - in: query - name: end - description: Report end date in YYYY-MM-DD format - /v2/network/conversions: - get: - summary: Conversion Report Logs + description: Update Postback + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PostbackEdit' + description: '' tags: - - Reports + - Manage Postbacks + delete: + summary: Delete Postback + operationId: delete-v2-postback-id responses: '200': description: OK @@ -4699,451 +4135,50 @@ paths: schema: type: object properties: - conversions: - type: object - properties: - id: - type: string - click_id: - type: string - campaign_id: - type: integer - campaign_name: - type: string - publisher_id: - type: string - publisher_name: - type: string - advertiser_id: - type: string - advertiser_name: - type: string - goal_id: - type: string - goal_name: - type: string - url_id: - type: string - url_title: - type: string - currency: - type: string - payout: - type: string - revenue: - type: string - sale: - type: string - status: - type: string - click_time: - type: string - created: - type: string - pagination: - type: object - properties: - perPage: - type: integer - currentPage: - type: integer - total: - type: integer - columns: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Delete Postback by ID + security: + - API Key Param: [] + tags: + - Manage Postbacks + /v2/smart-link: + post: + summary: Create Smartlink + operationId: post-v2-smartlink + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + data: type: object properties: - id: - type: string - click_id: - type: string - source: - type: string - elapsed_time: - type: string - click_time: - type: string - method: - type: string - ipaddr: - type: string - click_ip: - type: string - city: - type: string - region: - type: string - isp: - type: string - p1: - type: string - p2: - type: string - p3: - type: string - p4: - type: string - p5: - type: string - p6: - type: string - p7: - type: string - p8: - type: string - p9: - type: string - p10: - type: string - sub1: - type: string - sub2: - type: string - sub3: - type: string - sub4: - type: string - sub5: - type: string - sub6: - type: string - sub7: - type: string - sub8: - type: string - sub9: - type: string - sub10: - type: string - os: - type: string - txn_id: - type: string - device_id: - type: string - note: - type: string - referer: - type: string - click_ref: - type: string - currency: - type: string - payout: - type: string - revenue: - type: string - sale: - type: string - gaid: - type: string - idfa: - type: string - app_id: - type: string - app_name: - type: string - android_id: - type: string - cr_name: - type: string - sl: - type: string - brand: - type: string - conn: - type: string - click_ua: - type: string - lat: - type: string - long: - type: string - country: - type: string - browser: - type: string - device: - type: string - created: - type: string - status: - type: string - advertiser_id: - type: string - advertiser_long_id: - type: string - advertiser_name: - type: string - advertiser_manager_id: - type: string - advertiser_manager_name: - type: string - publisher_id: - type: string - publisher_long_id: - type: string - publisher_name: - type: string - publisher_company: - type: string - publisher_manager_id: - type: string - publisher_manager_name: - type: string - campaign_id: - type: string - campaign_long_id: - type: string - campaign_name: - type: string - external_offer_id: - type: string - goal_id: - type: string - goal_name: - type: string - goal_value: - type: string - url_id: - type: string - url_long_id: - type: string - url_title: - type: string - coupon: - type: string - dl: - type: string - vta: - type: number - user_id: - type: string - examples: - sample-conversion-log-resp: - value: - conversions: - - id: 5fc776b022098a06b16fdd4d - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:12:48.000Z' - - id: 5fc77751b7dfd906ba282960 - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:15:29.000Z' - - id: 5fc7765222098a06b16fd357 - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:11:14.000Z' - - id: 5fc776a25f66d106a418a51b - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:12:34.000Z' - - id: 5fc77aef5f66d106a4191a5f - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:30:55.000Z' - - id: 5fc777d9b7dfd906ba2837c9 - click_id: 5fc775b41c37da0490305cd4 - campaign_id: 21607 - campaign_name: Test extra - publisher_id: 2 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: Default - url_id: null - url_title: Default - currency: INR - payout: 0 - revenue: 0 - sale: 0 - status: approved - click_time: '2020-12-02T11:08:36.000Z' - created: '2020-12-02T11:17:45.000Z' - - id: 5fd9c27530c60e07404dd402 - click_id: 5fd9ad3df29e1a282b6e5a58 - campaign_id: 16 - campaign_name: Traffic Arbitrage Book 2 - publisher_id: 31 - publisher_name: account - advertiser_id: 3 - advertiser_name: Demo Advertiser - goal_id: '' - goal_name: CPA - url_id: null - url_title: Default - currency: USD - payout: 5.5 - revenue: 1.5 - sale: 0 - status: pending - click_time: '2020-12-16T06:46:21.000Z' - created: '2020-12-16T08:16:53.000Z' - modified: '2020-12-16T08:17:30.000Z' - columns: - id: Conversion ID - click_id: Click ID - source: Source - elapsed_time: Click to Conversion Time - click_time: Click Time - method: Conversion Method - ipaddr: Conversion IP - click_ip: Click IP - city: City - region: Region - isp: Carrier (ISP) - p1: P1 - p2: P2 - p3: P3 - p4: P4 - p5: P5 - p6: P6 - p7: P7 - p8: P8 - p9: P9 - p10: P10 - sub1: SUB1 - sub2: SUB2 - sub3: SUB3 - sub4: SUB4 - sub5: SUB5 - sub6: SUB6 - sub7: SUB7 - sub8: SUB8 - sub9: SUB9 - sub10: SUB10 - os: Operating System (OS) - txn_id: Txn ID - device_id: Device ID - note: Note - referer: Pixel Referer - click_ref: Click Referer - currency: Currency - payout: Payout - revenue: Revenue - sale: Sale Amount - gaid: GAID - idfa: IDFA - app_id: App ID - app_name: App Name - android_id: Android ID - cr_name: Creative Name - sl: Smart Link ID - brand: Device Brand - conn: Connection Type - click_ua: Click User Agent - lat: Latitude - long: Longitude - country: Country (GEO) - browser: Browser - device: Device - created: Created - status: Status - advertiser_id: Advertiser ID - advertiser_long_id: Advertiser Long ID - advertiser_name: Advertiser Name - advertiser_manager_id: Advertiser Manager ID - advertiser_manager_name: Advertiser Manager Name - publisher_id: Publisher ID - publisher_long_id: Publisher Long ID - publisher_name: Publisher Name - publisher_company: Publisher Company - publisher_manager_id: Publisher Manager ID - publisher_manager_name: Publisher Manager Name - campaign_id: Campaign ID - campaign_long_id: Campaign Long ID - campaign_name: Campaign Name - external_offer_id: External Offer ID - goal_id: Goal ID - goal_name: Goal Name - goal_value: Goal Value - url_id: Landing Page ID - url_long_id: Landing Page Long ID - url_title: Landing Page Title - coupon: Coupon Code - dl: Device Language - vta: View Through Attribution - user_id: External User ID - pagination: - perPage: 100 - currentPage: 2 - total: 107 + postback: + $ref: ./models/postback.v1.yaml + examples: {} '400': description: Bad Request content: @@ -5151,83 +4186,234 @@ paths: schema: type: object properties: + success: + type: string errors: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-network-conversions - description: |- - This api returns the conversion logs - - To fetch additional columns add query param fields like this - - &fields[]=id - &fields[]=click_id + description: Add publisher Smartlink + security: + - API Key Param: [] + tags: + - Manage Smartlinks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartlinkCreate' + get: + summary: Get All Smartlinks + tags: + - Manage Smartlinks + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + smartlink: + type: array + $ref: ./models/smartlink.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-smartlink + description: Find all smartlinks security: - API Key Param: [] parameters: - schema: - type: integer - in: query - name: limit - description: 'No of records per page. Min: 100, Max: 10000' - - schema: - type: integer + type: number in: query name: page - description: Current page number - - schema: - type: array - in: query - name: fields - description: columns to be displayed in the api - - schema: - type: string - in: query - name: start - description: 'Start date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' - required: true + description: '' - schema: - type: string + type: number in: query - name: end - description: 'End date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' - required: true + name: limit + description: Limit number of records to fetch + '/v2/smart-link/{id}': + delete: + summary: Delete smartlink by id + operationId: delete-v2-smartlink-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: This smartlink by id + security: + - API Key Param: [] + tags: + - Manage Smartlinks + post: + summary: Edit Smartlink by Id + operationId: post-v2-smartlink-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + smartlink: + $ref: ./models/smartlink.v1.yaml + description: Use this endpoint to update the smartlinks + tags: + - Manage Smartlinks + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartlinkEdit' + /v2/reports/campaign: + get: + summary: Campaign Report + tags: + - Reports + description: |- + Campaign Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-campaign + security: + - API Key Param: [] + parameters: - schema: - type: string + type: array in: query - name: zone - description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - schema: type: array in: query - name: campaignIds - description: 'To filter the report for particular campaigns add campaign id in query parameters like: &campaignIds[]=16&campaignIds[]=30' + name: pub_ids - schema: type: array in: query - name: publisherIds - description: 'To filter the report for particular publi add publisher id in query parameters like: &publisherIds[]=16&publisherIds[]=30' + name: adv_ids - schema: type: array in: query - name: adv_ids - description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' - schema: type: string in: query - name: source - description: 'To filter the report for particular source in query parameters like: &source=20223' + name: start + description: Report start date in YYYY-MM-DD format - schema: type: string in: query - name: status - description: 'To see conversions based on a particular status like: &status=pending. Allowed values: approved, pending, cancelled, rejected, extended' - /v2/network/impressions: + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/publisher: get: - summary: Impressions Report Logs + summary: Publisher Report tags: - Reports + description: |- + Publisher Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below responses: '200': description: OK @@ -5236,262 +4422,2304 @@ paths: schema: type: object properties: - impressions: - type: object - properties: - id: - type: string - campaign_id: - type: integer - campaign_long_id: - type: string - campaign_name: - type: string - publisher_id: - type: integer - publisher_long_id: - type: string - publisher_name: - type: string - advertiser_id: - type: integer - advertiser_long_id: - type: string - advertiser_name: - type: string - source: - type: string - ipaddr: - type: string - city: - type: string - region: - type: string - country: - type: string - isp: - type: string - os: - type: string - device: - type: string - browser: - type: string - p1: - type: string - app_id: - type: string - app_name: - type: string - gaid: - type: string - idfa: - type: string - url_id: - type: string - url_title: - type: string - created: - type: string - pagination: - type: object - properties: - perPage: - type: integer - currentPage: - type: integer - total: - type: integer - columns: - type: object - properties: - id: - type: string - source: - type: string - ipaddr: - type: string - city: - type: string - region: - type: string - isp: - type: string - p1: - type: string - p2: - type: string - p3: - type: string - p4: - type: string - p5: - type: string - p6: - type: string - p7: - type: string - p8: - type: string - p9: - type: string - p10: - type: string - os: - type: string - referer: - type: string - currency: - type: string - payout: - type: string - revenue: - type: string - gaid: - type: string - idfa: - type: string - app_id: - type: string - app_name: - type: string - android_id: - type: string - cr_name: - type: string - sl: - type: string - brand: - type: string - conn: - type: string - ua: - type: string - lat: - type: string - long: - type: string - country: - type: string - browser: - type: string - device: - type: string - created: - type: string - advertiser_id: - type: string - advertiser_long_id: - type: string - advertiser_name: - type: string - publisher_id: - type: string - publisher_long_id: - type: string - publisher_name: - type: string - publisher_company: - type: string - campaign_id: - type: string - campaign_long_id: - type: string - campaign_name: - type: string - external_offer_id: - type: string - url_id: - type: string - url_long_id: - type: string - url_title: - type: string + records: + type: array + items: + type: object + properties: + publisher: + type: string + publisher_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number examples: - sample-conversion-log-resp: + example-1: value: - impressions: - - id: 6162d7e1410407033d19e50b - campaign_id: 21812 - campaign_name: testing coupon code - publisher_id: 2 - publisher_long_id: 57c6c75934243d930c8b4581 - publisher_name: Pied Piper - advertiser_id: 3 - advertiser_long_id: 57c4738434243dc57d8b456d - advertiser_name: Demo Advertiser - source: - url_id: null - url_title: Default - ipaddr: 103.211.54.87 - city: New Delhi - region: Delhi - country: IN - isp: Excitel - os: Mac OS 10.15 - device: desktop - browser: Safari 15 - p1: test3 - app_id: - app_name: - gaid: - idfa: - created: 2021-10-10T12:09:05.000Z - columns: - id: Impression ID - source: Source - ipaddr: IP - city: City - region: Region - isp: Carrier (ISP) - p1: P1 - p2: P2 - p3: P3 - p4: P4 - p5: P5 - p6: P6 - p7: P7 - p8: P8 - p9: P9 - p10: P10 - os: Operating System (OS) - referer: Referer - currency: Currency - payout: Payout - revenue: Revenue - gaid: GAID - idfa: IDFA - app_id: App ID - app_name: App Name - android_id: Android ID - cr_name: Creative Name - sl: Smart Link ID - brand: Device Brand - conn: Connection Type - ua: User Agent - lat: Latitude - long: Longitude - country: Country (GEO) - browser: Browser - device: Device - created: Created - advertiser_id: Advertiser ID - advertiser_long_id: Advertiser Long ID - advertiser_name: Advertiser Name - publisher_id: Publisher ID - publisher_long_id: Publisher Long ID - publisher_name: Publisher Name - publisher_company: Publisher Company - campaign_id: Campaign ID - campaign_long_id: Campaign Long ID - campaign_name: Campaign Name - external_offer_id: External Offer ID - url_id: Landing Page ID - url_long_id: Landing Page Long ID - url_title: Landing Page Title - pagination: - perPage: 100 - currentPage: 2 + records: + - publisher: test + publisher_id: 21 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-publisher + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/advertiser: + get: + summary: Advertiser Report + tags: + - Reports + description: |- + Advertiser Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + advertiser: + type: string + advertiser_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - advertiser: demo + advertiser_id: 3 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-advertiser + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/daily: + get: + summary: Daily Report + tags: + - Reports + description: |- + Daily Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + created: + type: string + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - created: '2020-10-20' + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-daily + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/goal: + get: + summary: Goal Report + tags: + - Reports + description: |- + Goal Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: string + goal_name: + type: string + goal_id: + type: string + nullable: true + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 35 + goal_name: Default + goal_id: null + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-goal + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/custom: + get: + summary: Custom Report + tags: + - Reports + description: |- + Custom Report + + If you want to view custom report apart from the standard report use this endpoint you need to send group parameter in the query + + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the report grouping or kpi: + - &group[]=campaign_id&group[]=publisher_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-custom + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, aff_manager, source, advertiser, advertiser_id, adv_manager, goal_name, goal_id, ref_camp, ref_camp_id, rlo_id, lp_title, lp_id, os, country, hour, created, month, sl_name, sl_id' + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/subid: + get: + summary: SUBID Report + tags: + - Reports + description: |- + SUBID Report + + If you want to view subId report apart from the standard report use this endpoint you need to send group parameter in the query + + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the report grouping or kpi: + - &group[]=campaign_id&group[]=publisher_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-subid + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, source, advertiser, advertiser_id, goal_name, goal_id, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month, p2, p3, p4, p5, p6, p7, p8, p9, p10, os, city, region, isp, conn, app_name, app_id ,cr_name' + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/clicks: + get: + summary: Clicks Report + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + examples: + sample-click-report: + value: + clicks: + - id: 6201b350f2960303437bbfb2 + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bf747d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.183.154.148 + country: TR + region: Ankara + city: Aksemsettin mah. + isp: Turk Telekom + device: mobile + browser: Chrome 81 + os: Android 11.0 + user_agent: Mozilla/5.0 (Linux; Android 11.0.0; LG G PRO 2 Build/F350K) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b34a5b427c000108e29c + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-08 00:03:28' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 39.9 + long: 32.94 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + - id: 6201b3792d8ef6035766a19c + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bfe47d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.189.86.36 + country: TR + region: Izmir + city: Camdibi + isp: Turk Telekom + device: mobile + browser: Safari 10 + os: iOS 10.1 + user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML like Gecko) Version/10.0 Mobile/14B72 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b376808bd40001959394 + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-09 00:04:09' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 38.44 + long: 27.17 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + pagination: + perPage: 100 + nextPageToken: eyJsYXN0VHMiOiIyMDIyLTAyLTA5IDAwOjA0OjA5IiwicGFnZVRva2VuX3NraXAiOjJ9 + hasNextPage: true + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-report-clicks + description: |- + This api returns the clicks logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=pid + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 5000' + - schema: + type: boolean + in: query + name: hasNextPage + description: if next page true else false + - schema: + type: string + in: query + name: pageToken + description: Provided in api for accessing next page + - schema: + type: array + in: query + name: fields + description: 'Allowed Fields parameters: id, source, ipaddr, ua, os, is_rejected, is_unique, is_bot, city, region, isp, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, note, ro, gaid, idfa, app_id, app_name, android_id, creative_name, smart_link, payout, revenue, brand, conn, lat, long, pub_impression_id, device_lang, pub_campaign_id, sub_source, click_domain, release_order_id, country, browser, referer, device, created, campaign_id, campaign_long_id, campaign_name, publisher_id, publisher_long_id, publisher_name, advertiser_name, advertiser_id, landing_page_name, landing_page_id, landing_page_long_id' + - schema: + type: string + in: query + name: start + description: 'Start date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' + - schema: + type: string + in: query + name: end + description: 'End date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' + /v2/reports/fraud: + get: + summary: Fraud Report + tags: + - Reports + description: Fraud Report + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + publisher_id: + type: integer + advertiser_id: + type: integer + ro: + type: integer + goal_id: + type: integer + sl: + type: string + url_id: + type: integer + country: + type: string + os: + type: string + hour: + type: number + rejectedConversions: + type: integer + grossConversions: + type: integer + payout: + type: number + revenue: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + rejectedConversions: 1 + grossConversions: 8 + payout: 2 + revenue: 4 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-fraud + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, publisher, publisher_id, publisher_long_id, advertiser, advertiser_id, advertiser_long_id, goal_name, goal_id, sl, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/network/conversions: + get: + summary: Conversion Report Logs + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + conversions: + type: object + properties: + id: + type: string + click_id: + type: string + campaign_id: + type: integer + campaign_name: + type: string + publisher_id: + type: string + publisher_name: + type: string + advertiser_id: + type: string + advertiser_name: + type: string + goal_id: + type: string + goal_name: + type: string + url_id: + type: string + url_title: + type: string + currency: + type: string + payout: + type: string + revenue: + type: string + sale: + type: string + status: + type: string + click_time: + type: string + created: + type: string + pagination: + type: object + properties: + perPage: + type: integer + currentPage: + type: integer + total: + type: integer + columns: + type: object + properties: + id: + type: string + click_id: + type: string + source: + type: string + elapsed_time: + type: string + click_time: + type: string + method: + type: string + ipaddr: + type: string + click_ip: + type: string + city: + type: string + region: + type: string + isp: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + sub1: + type: string + sub2: + type: string + sub3: + type: string + sub4: + type: string + sub5: + type: string + sub6: + type: string + sub7: + type: string + sub8: + type: string + sub9: + type: string + sub10: + type: string + os: + type: string + txn_id: + type: string + device_id: + type: string + note: + type: string + referer: + type: string + click_ref: + type: string + currency: + type: string + payout: + type: string + revenue: + type: string + sale: + type: string + gaid: + type: string + idfa: + type: string + app_id: + type: string + app_name: + type: string + android_id: + type: string + cr_name: + type: string + sl: + type: string + brand: + type: string + conn: + type: string + click_ua: + type: string + lat: + type: string + long: + type: string + country: + type: string + browser: + type: string + device: + type: string + created: + type: string + status: + type: string + advertiser_id: + type: string + advertiser_long_id: + type: string + advertiser_name: + type: string + advertiser_manager_id: + type: string + advertiser_manager_name: + type: string + publisher_id: + type: string + publisher_long_id: + type: string + publisher_name: + type: string + publisher_company: + type: string + publisher_manager_id: + type: string + publisher_manager_name: + type: string + campaign_id: + type: string + campaign_long_id: + type: string + campaign_name: + type: string + external_offer_id: + type: string + goal_id: + type: string + goal_name: + type: string + goal_value: + type: string + url_id: + type: string + url_long_id: + type: string + url_title: + type: string + coupon: + type: string + dl: + type: string + vta: + type: number + user_id: + type: string + examples: + sample-conversion-log-resp: + value: + conversions: + - id: 5fc776b022098a06b16fdd4d + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:12:48.000Z' + - id: 5fc77751b7dfd906ba282960 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:15:29.000Z' + - id: 5fc7765222098a06b16fd357 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:11:14.000Z' + - id: 5fc776a25f66d106a418a51b + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:12:34.000Z' + - id: 5fc77aef5f66d106a4191a5f + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:30:55.000Z' + - id: 5fc777d9b7dfd906ba2837c9 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:17:45.000Z' + - id: 5fd9c27530c60e07404dd402 + click_id: 5fd9ad3df29e1a282b6e5a58 + campaign_id: 16 + campaign_name: Traffic Arbitrage Book 2 + publisher_id: 31 + publisher_name: account + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: CPA + url_id: null + url_title: Default + currency: USD + payout: 5.5 + revenue: 1.5 + sale: 0 + status: pending + click_time: '2020-12-16T06:46:21.000Z' + created: '2020-12-16T08:16:53.000Z' + modified: '2020-12-16T08:17:30.000Z' + columns: + id: Conversion ID + click_id: Click ID + source: Source + elapsed_time: Click to Conversion Time + click_time: Click Time + method: Conversion Method + ipaddr: Conversion IP + click_ip: Click IP + city: City + region: Region + isp: Carrier (ISP) + p1: P1 + p2: P2 + p3: P3 + p4: P4 + p5: P5 + p6: P6 + p7: P7 + p8: P8 + p9: P9 + p10: P10 + sub1: SUB1 + sub2: SUB2 + sub3: SUB3 + sub4: SUB4 + sub5: SUB5 + sub6: SUB6 + sub7: SUB7 + sub8: SUB8 + sub9: SUB9 + sub10: SUB10 + os: Operating System (OS) + txn_id: Txn ID + device_id: Device ID + note: Note + referer: Pixel Referer + click_ref: Click Referer + currency: Currency + payout: Payout + revenue: Revenue + sale: Sale Amount + gaid: GAID + idfa: IDFA + app_id: App ID + app_name: App Name + android_id: Android ID + cr_name: Creative Name + sl: Smart Link ID + brand: Device Brand + conn: Connection Type + click_ua: Click User Agent + lat: Latitude + long: Longitude + country: Country (GEO) + browser: Browser + device: Device + created: Created + status: Status + advertiser_id: Advertiser ID + advertiser_long_id: Advertiser Long ID + advertiser_name: Advertiser Name + advertiser_manager_id: Advertiser Manager ID + advertiser_manager_name: Advertiser Manager Name + publisher_id: Publisher ID + publisher_long_id: Publisher Long ID + publisher_name: Publisher Name + publisher_company: Publisher Company + publisher_manager_id: Publisher Manager ID + publisher_manager_name: Publisher Manager Name + campaign_id: Campaign ID + campaign_long_id: Campaign Long ID + campaign_name: Campaign Name + external_offer_id: External Offer ID + goal_id: Goal ID + goal_name: Goal Name + goal_value: Goal Value + url_id: Landing Page ID + url_long_id: Landing Page Long ID + url_title: Landing Page Title + coupon: Coupon Code + dl: Device Language + vta: View Through Attribution + user_id: External User ID + pagination: + perPage: 100 + currentPage: 2 + total: 107 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-conversions + description: |- + This api returns the conversion logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=click_id + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 10000' + - schema: + type: integer + in: query + name: page + description: Current page number + - schema: + type: array + in: query + name: fields + description: columns to be displayed in the api + - schema: + type: string + in: query + name: start + description: 'Start date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' + required: true + - schema: + type: string + in: query + name: end + description: 'End date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' + required: true + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: campaignIds + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &campaignIds[]=16&campaignIds[]=30' + - schema: + type: array + in: query + name: publisherIds + description: 'To filter the report for particular publi add publisher id in query parameters like: &publisherIds[]=16&publisherIds[]=30' + - schema: + type: array + in: query + name: adv_ids + description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' + - schema: + type: string + in: query + name: source + description: 'To filter the report for particular source in query parameters like: &source=20223' + - schema: + type: string + in: query + name: status + description: 'To see conversions based on a particular status like: &status=pending. Allowed values: approved, pending, cancelled, rejected, extended' + /v2/network/impressions: + get: + summary: Impressions Report Logs + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + impressions: + type: object + properties: + id: + type: string + campaign_id: + type: integer + campaign_long_id: + type: string + campaign_name: + type: string + publisher_id: + type: integer + publisher_long_id: + type: string + publisher_name: + type: string + advertiser_id: + type: integer + advertiser_long_id: + type: string + advertiser_name: + type: string + source: + type: string + ipaddr: + type: string + city: + type: string + region: + type: string + country: + type: string + isp: + type: string + os: + type: string + device: + type: string + browser: + type: string + p1: + type: string + app_id: + type: string + app_name: + type: string + gaid: + type: string + idfa: + type: string + url_id: + type: string + url_title: + type: string + created: + type: string + pagination: + type: object + properties: + perPage: + type: integer + currentPage: + type: integer + total: + type: integer + columns: + type: object + properties: + id: + type: string + source: + type: string + ipaddr: + type: string + city: + type: string + region: + type: string + isp: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + os: + type: string + referer: + type: string + currency: + type: string + payout: + type: string + revenue: + type: string + gaid: + type: string + idfa: + type: string + app_id: + type: string + app_name: + type: string + android_id: + type: string + cr_name: + type: string + sl: + type: string + brand: + type: string + conn: + type: string + ua: + type: string + lat: + type: string + long: + type: string + country: + type: string + browser: + type: string + device: + type: string + created: + type: string + advertiser_id: + type: string + advertiser_long_id: + type: string + advertiser_name: + type: string + publisher_id: + type: string + publisher_long_id: + type: string + publisher_name: + type: string + publisher_company: + type: string + campaign_id: + type: string + campaign_long_id: + type: string + campaign_name: + type: string + external_offer_id: + type: string + url_id: + type: string + url_long_id: + type: string + url_title: + type: string + examples: + sample-conversion-log-resp: + value: + impressions: + - id: 6162d7e1410407033d19e50b + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_long_id: 57c6c75934243d930c8b4581 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_long_id: 57c4738434243dc57d8b456d + advertiser_name: Demo Advertiser + source: null + url_id: null + url_title: Default + ipaddr: 103.211.54.87 + city: New Delhi + region: Delhi + country: IN + isp: Excitel + os: Mac OS 10.15 + device: desktop + browser: Safari 15 + p1: test3 + app_id: null + app_name: null + gaid: null + idfa: null + created: '2021-10-10T12:09:05.000Z' + columns: + id: Impression ID + source: Source + ipaddr: IP + city: City + region: Region + isp: Carrier (ISP) + p1: P1 + p2: P2 + p3: P3 + p4: P4 + p5: P5 + p6: P6 + p7: P7 + p8: P8 + p9: P9 + p10: P10 + os: Operating System (OS) + referer: Referer + currency: Currency + payout: Payout + revenue: Revenue + gaid: GAID + idfa: IDFA + app_id: App ID + app_name: App Name + android_id: Android ID + cr_name: Creative Name + sl: Smart Link ID + brand: Device Brand + conn: Connection Type + ua: User Agent + lat: Latitude + long: Longitude + country: Country (GEO) + browser: Browser + device: Device + created: Created + advertiser_id: Advertiser ID + advertiser_long_id: Advertiser Long ID + advertiser_name: Advertiser Name + publisher_id: Publisher ID + publisher_long_id: Publisher Long ID + publisher_name: Publisher Name + publisher_company: Publisher Company + campaign_id: Campaign ID + campaign_long_id: Campaign Long ID + campaign_name: Campaign Name + external_offer_id: External Offer ID + url_id: Landing Page ID + url_long_id: Landing Page Long ID + url_title: Landing Page Title + pagination: + perPage: 100 + currentPage: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-impressions + description: |- + This api returns the impressions logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=external_offer_id + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 10000' + - schema: + type: integer + in: query + name: page + description: Current page number + - schema: + type: array + in: query + name: fields + description: columns to be displayed in the api + - schema: + type: string + in: query + name: start + description: Start date in YYYY-MM-DD + - schema: + type: string + in: query + name: end + description: End date in YYYY-MM-DD + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' + - schema: + type: array + in: query + name: adv_ids + description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' + /v2/smtp/send-email: + post: + summary: Send Emails Via SMTP Service + description: |- + This endpoint helps you send your email templates via api. + This api won't work if you haven't configure smtp in customize section. + tags: + - Network + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + template_name: + type: string + enum: + - publisher_registration + - advertiser_registration + - team_member_registration + - account_approve + - account_rejected + - account_ban + user_id: + description: User Id - numeric or hash ID + type: string + opts: + type: object + examples: + example-1: + value: + template_name: publisher_registration + user_id: 146 + opts: + passowrd: password + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Message sent successfully + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: false + message: Message Sent Failed + '/v2/campaigns/{id}/targetings': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Get All Campaign Targetings + tags: + - Campaign Targetings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblocks: + type: array + items: + $ref: ./models/rb.v1.yaml + examples: + example-1: + value: + success: true + ruleblocks: + - _id: 5f8eb719f83a5d03656e2f3e + name: p8-targeting-block + condition: or + event: all + created: '2020-10-20T10:08:25.072Z' + __v: 5 + modified: '2021-02-10T07:08:12.087Z' + publisherIds: null + excludedPubIds: null + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: targeting-findAll + description: This endpoint will return the targeting blocks for the campaign + security: + - API Key Param: [] + post: + summary: Create Campaign Targeting + operationId: create-campaign-targeting + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblock: + $ref: ./models/ruleblock.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: Create Campaign Targeting + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + condition: + type: string + enum: + - and + - or + event: + type: string + enum: + - all + - click + - conversion + - conversion_goal + - goal + publisherIds: + type: array + items: + oneOf: + - type: integer + - type: string + excludedPubIds: + type: array + items: + oneOf: + - type: integer + - type: string + rules: + type: array + items: + $ref: '#/components/schemas/Rule' + required: + - name + - condition + - event + - rules + examples: + example-1: + value: + name: api-source-targeting + condition: or + event: all + rules: + - variable: source + logic: deny + condition: equals + values: + - abcdefgh + - foobar + - variable: os + logic: deny + condition: regex + values: + - ios + '/v2/campaigns/{campId}/targetings/{id}': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + get: + summary: Get Campaign Targeting Rules + tags: + - Campaign Targetings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblock: + $ref: ./models/ruleblock.v1.yaml + examples: + example-1: + value: + success: true + ruleblock: + _id: 5f8eb719f83a5d03656e2f3e + name: p8-targeting-block + condition: or + event: all + created: '2020-10-20T10:08:25.072Z' + __v: 5 + modified: '2021-02-10T07:08:12.087Z' + publisherIds: null + excludedPubIds: null + rules: + - _id: 5f8eb719f83a5d03656e2f3f + variable: p9 + logic: deny + condition: regex + created: '2020-10-20T10:08:25.000Z' + modified: '2021-02-10T07:32:22.023Z' + values: + - deny + - blah + operationId: get-v2-campaigns-campId-targetings-id + description: This endpoint returns the rules for a targeting block + security: + - API Key Param: [] + delete: + summary: Delete Campaign Targeting + operationId: delete-v2-campaigns-campId-targetings-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: This endpoint will remove the targeting block and its rules + security: + - API Key Param: [] + tags: + - Campaign Targetings + post: + summary: Edit Campaign Targeting Block + operationId: post-v2-campaigns-campId-targetings-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + ruleblock: + $ref: ./models/rb.v1.yaml + description: Use this endpoint to update the targeting block + tags: + - Campaign Targetings + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + condition: + type: string + enum: + - and + - or + event: + type: string + enum: + - all + - click + - conversion + - conversion_goal + - goal + publisherIds: + type: array + items: + oneOf: + - type: integer + - type: string + excludedPubIds: + type: array + items: + oneOf: + - type: integer + - type: string + examples: + example-1: + value: + name: targeting-block + condition: and + publisherIds: + - 2 + excludedPubIds: [] + /v2/trackingDomains: + post: + summary: Create Tracking Domain + operationId: post-v2-trackingDomains + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + host: + type: string + protocol: + type: string + enum: + - http + - https + def: + type: integer + default: 0 + minimum: 0 + maximum: 1 + pubs: + type: array + items: + oneOf: + - type: integer + - type: string + required: + - host + get: + summary: Fetch Tracking Domain + operationId: get-v2-trackingDomains + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + trackingDomains: + type: array + items: + $ref: ./models/trackingDomain.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + '/v2/trackingDomains/{domain}': + parameters: + - schema: + type: string + name: domain + in: path + required: true + description: Domain + post: + summary: Update Tracking Domain + operationId: post-v2-trackingDomains-domain + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to update tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + protocol: + type: string + enum: + - http + - https + def: + type: integer + default: 0 + minimum: 0 + maximum: 1 + pubs: + type: array + items: + oneOf: + - type: integer + - type: string + x-stoplight: + id: pnofqrai77pff + delete: + summary: Delete Tracking Domain + operationId: delete-v2-trackingDomains-domain + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string '400': description: Bad Request content: @@ -5503,100 +6731,212 @@ paths: type: array items: $ref: ./models/error.v1.yaml - operationId: get-v2-network-impressions - description: |- - This api returns the impressions logs - - To fetch additional columns add query param fields like this - - &fields[]=id - &fields[]=external_offer_id + description: Use this endpoint to delete tracking domain + tags: + - Tracking Domain security: - API Key Param: [] - parameters: - - schema: - type: integer - in: query - name: limit - description: 'No of records per page. Min: 100, Max: 10000' - - schema: - type: integer - in: query - name: page - description: Current page number - - schema: - type: array - in: query - name: fields - description: columns to be displayed in the api - - schema: - type: string - in: query - name: start - description: 'Start date in YYYY-MM-DD' - - schema: - type: string - in: query - name: end - description: 'End date in YYYY-MM-DD' - - schema: - type: string - in: query - name: zone - description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' - - schema: - type: array - in: query - name: camp_ids - description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' - - schema: - type: array - in: query - name: pub_ids - description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' - - schema: - type: array - in: query - name: adv_ids - description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' - /v2/smtp/send-email: + x-stoplight: + id: v3xadnzbpszfw + '/v2/campaigns/{campId}/targetings/{id}/rules/{ruleId}': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + - schema: + type: string + name: ruleId + in: path + required: true + description: Targeting Rule ID post: - summary: Send Emails Via SMTP Service - description: |- - This endpoint helps you send your email templates via api. - This api won't work if you haven't configure smtp in customize section. + summary: Edit Targeting Rule + operationId: post-v2-campaigns-campId-targetings-id-rules-ruleId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + rule: + $ref: ./models/rule.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: Edit a rule inside targeting block + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + delete: + summary: Delete Targeting Rule + operationId: delete-v2-campaigns-campId-targetings-id-rules-ruleId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: 'Delete a targeting rule from a targeting block. Note: If there is only 1 rule inside the block, the targeting block will also be deleted' + security: + - API Key Param: [] + '/v2/campaigns/{campId}/targetings/{id}/rules': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + post: + summary: Add Rules to targeting block + operationId: post-v2-campaigns-campId-targetings-id-rules + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + ruleblock: + $ref: ./models/ruleblock.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: 'Add rules inside a targeting block. Note: there can be max 100 rules inside a targeting block' + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + rules: + type: array + items: + $ref: '#/components/schemas/Rule' + examples: + example-1: + value: + rules: + - variable: source + logic: deny + condition: starts_with + values: + - '549_434_' + - 983393_3393u3i3_ + description: '' + /v2/targetingdata/devices: + get: + summary: Fetch All Devices + operationId: get-v2-devices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + devices: + type: array + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Devices tags: - - Network + - Targeting Data security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - template_name: - type: string - enum: - - publisher_registration - - advertiser_registration - - team_member_registration - - account_approve - - account_rejected - - account_ban - user_id: - description: User Id - numeric or hash ID - type: string - opts: - type: object - examples: - example-1: - value: - template_name: 'publisher_registration' - user_id: 146 - opts: { - "passowrd": "password" - } + /v2/targetingdata/os: + get: + summary: Fetch All Operating System + operationId: get-v2-os responses: '200': description: OK @@ -5607,13 +6947,8 @@ paths: properties: success: type: boolean - message: - type: string - examples: - example-1: - value: - success: true - message: 'Message sent successfully' + os: + type: array '400': description: Bad Request content: @@ -5621,27 +6956,19 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string - examples: - example-1: - value: - success: false - message: 'Message Sent Failed' - '/v2/campaigns/{id}/targetings': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: Campaign ID - get: - summary: Get All Campaign Targetings + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Operating System tags: - - Campaign Targetings + - Targeting Data + security: + - API Key Param: [] + /v2/targetingdata/countries: + get: + summary: Fetch All Countries + operationId: get-v2-countries responses: '200': description: OK @@ -5652,24 +6979,8 @@ paths: properties: success: type: boolean - ruleblocks: + countries: type: array - items: - $ref: ./models/rb.v1.yaml - examples: - example-1: - value: - success: true - ruleblocks: - - _id: 5f8eb719f83a5d03656e2f3e - name: p8-targeting-block - condition: or - event: all - created: '2020-10-20T10:08:25.072Z' - __v: 5 - modified: '2021-02-10T07:08:12.087Z' - publisherIds: null - excludedPubIds: null '400': description: Bad Request content: @@ -5677,19 +6988,19 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml - operationId: targeting-findAll - description: This endpoint will return the targeting blocks for the campaign + description: Use this endpoint to fetch all Countries + tags: + - Targeting Data security: - API Key Param: [] - post: - summary: Create Campaign Targeting - operationId: create-campaign-targeting + /v2/targetingdata/regions: + get: + summary: Fetch All Regions + operationId: get-v2-regions responses: '200': description: OK @@ -5700,8 +7011,30 @@ paths: properties: success: type: boolean - ruleblock: - $ref: ./models/ruleblock.v1.yaml + regions: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 '400': description: Bad Request content: @@ -5709,95 +7042,35 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Regions tags: - - Campaign Targetings - description: Create Campaign Targeting + - Targeting Data security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - condition: - type: string - enum: - - and - - or - event: - type: string - enum: - - all - - click - - conversion - - conversion_goal - - goal - publisherIds: - type: array - items: - oneOf: - - type: integer - - type: string - excludedPubIds: - type: array - items: - oneOf: - - type: integer - - type: string - rules: - type: array - items: - $ref: '#/components/schemas/Rule' - required: - - name - - condition - - event - - rules - examples: - example-1: - value: - name: api-source-targeting - condition: or - event: all - rules: - - variable: source - logic: deny - condition: equals - values: - - abcdefgh - - foobar - - variable: os - logic: deny - condition: regex - values: - - ios - '/v2/campaigns/{campId}/targetings/{id}': - parameters: - - schema: - type: string - name: campId - in: path - required: true - description: Campaign ID - - schema: - type: string - name: id - in: path - required: true - description: Targeting Block ID + parameters: + - schema: + type: string + in: query + name: q + description: To filter the regions for name + - schema: + type: string + in: query + name: country + description: To filter the regions for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/targetingdata/cities: get: - summary: Get Campaign Targeting Rules - tags: - - Campaign Targetings + summary: Fetch All Cities + operationId: get-v2-cities responses: '200': description: OK @@ -5808,39 +7081,68 @@ paths: properties: success: type: boolean - ruleblock: - $ref: ./models/ruleblock.v1.yaml - examples: - example-1: - value: - success: true - ruleblock: - _id: 5f8eb719f83a5d03656e2f3e - name: p8-targeting-block - condition: or - event: all - created: '2020-10-20T10:08:25.072Z' - __v: 5 - modified: '2021-02-10T07:08:12.087Z' - publisherIds: null - excludedPubIds: null - rules: - - _id: 5f8eb719f83a5d03656e2f3f - variable: p9 - logic: deny - condition: regex - created: '2020-10-20T10:08:25.000Z' - modified: '2021-02-10T07:32:22.023Z' - values: - - deny - - blah - operationId: get-v2-campaigns-campId-targetings-id - description: This endpoint returns the rules for a targeting block + cities: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Cities + tags: + - Targeting Data security: - API Key Param: [] - delete: - summary: Delete Campaign Targeting - operationId: delete-v2-campaigns-campId-targetings-id + parameters: + - schema: + type: string + in: query + name: q + description: To filter the cities for name + - schema: + type: string + in: query + name: country + description: To filter the cities for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/targetingdata/isps: + get: + summary: Fetch All Isps + operationId: get-v2-isps responses: '200': description: OK @@ -5851,8 +7153,32 @@ paths: properties: success: type: boolean - message: - type: string + isps: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 '400': description: Bad Request content: @@ -5864,14 +7190,31 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: This endpoint will remove the targeting block and its rules + description: Use this endpoint to fetch all Isps + tags: + - Targeting Data security: - API Key Param: [] - tags: - - Campaign Targetings + parameters: + - schema: + type: string + in: query + name: q + description: To filter the isps for name + - schema: + type: string + in: query + name: country + description: To filter the isps for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/categories: post: - summary: Edit Campaign Targeting Block - operationId: post-v2-campaigns-campId-targetings-id + summary: Create Category + operationId: post-v2-categories responses: '200': description: OK @@ -5884,11 +7227,33 @@ paths: type: boolean message: type: string - ruleblock: - $ref: ./models/rb.v1.yaml - description: Use this endpoint to update the targeting block + category: + type: object + properties: + _id: + type: string + name: + type: string + live: + type: boolean + created: + type: string + org_id: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create a category tags: - - Campaign Targetings + - Categories security: - API Key Param: [] requestBody: @@ -5899,43 +7264,48 @@ paths: properties: name: type: string - condition: - type: string - enum: - - and - - or - event: - type: string - enum: - - all - - click - - conversion - - conversion_goal - - goal - publisherIds: - type: array - items: - oneOf: - - type: integer - - type: string - excludedPubIds: - type: array - items: - oneOf: - - type: integer - - type: string - examples: - example-1: - value: - name: targeting-block - condition: and - publisherIds: - - 2 - excludedPubIds: [] - '/v2/trackingDomains': + get: + summary: Fetch All Categories + operationId: get-v2-categories + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + categories: + type: array + items: + $ref: ./models/categories.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Categories + tags: + - Categories + security: + - API Key Param: [] + '/v2/categories/:id': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: id post: - summary: Create Tracking Domain - operationId: post-v2-trackingDomains + summary: Update Category + operationId: post-v2-categories-id responses: '200': description: OK @@ -5948,6 +7318,15 @@ paths: type: boolean message: type: string + category: + type: object + properties: + _id: + type: string + name: + type: string + created: + type: string '400': description: Bad Request content: @@ -5959,9 +7338,9 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to create tracking domain + description: Use this endpoint to update Categories tags: - - Tracking Domain + - Categories security: - API Key Param: [] requestBody: @@ -5970,29 +7349,11 @@ paths: schema: type: object properties: - host: - type: string - protocol: + name: type: string - enum: - - http - - https - def: - type: integer - default: 0 - minimum: 0 - maximum: 1 - pubs: - type: array - items: - oneOf: - - type: integer - - type: string - required: - - host get: - summary: Fetch Tracking Domain - operationId: get-v2-trackingDomains + summary: Fetch Category + operationId: get-v2-categories-id responses: '200': description: OK @@ -6001,10 +7362,12 @@ paths: schema: type: object properties: - trackingDomains: + success: + type: boolean + category: type: array items: - $ref: ./models/trackingDomain.v1.yaml + $ref: ./models/categories.v1.yaml '400': description: Bad Request content: @@ -6016,22 +7379,14 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all tracking domain + description: Use this endpoint to fetch one Category tags: - - Tracking Domain + - Categories security: - API Key Param: [] - '/v2/trackingDomains/:domain': - parameters: - - schema: - type: string - name: domain - in: path - required: true - description: Domain - post: - summary: Create Tracking Domain - operationId: post-v2-trackingDomains-domain + delete: + summary: Delete Category + operationId: delete-v2-categories-id responses: '200': description: OK @@ -6055,36 +7410,15 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to update tracking domain + description: Use this endpoint to delete categories tags: - - Tracking Domain + - Categories security: - API Key Param: [] - requestBody: - content: - application/json: - schema: - type: object - properties: - protocol: - type: string - enum: - - http - - https - def: - type: integer - default: 0 - minimum: 0 - maximum: 1 - pubs: - type: array - items: - oneOf: - - type: integer - - type: string - delete: - summary: Delete Tracking Domain - operationId: delete-v2-trackingDomains-domain + /v2/coupons: + get: + summary: Fetch All Coupon Codes + operationId: get-v2-coupons responses: '200': description: OK @@ -6093,10 +7427,10 @@ paths: schema: type: object properties: - success: - type: boolean - message: - type: string + coupons: + type: array + items: + $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -6108,34 +7442,14 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to delete tracking domain + description: Use this endpoint to fetch all Coupons tags: - - Tracking Domain + - Coupons security: - API Key Param: [] - '/v2/campaigns/{campId}/targetings/{id}/rules/{ruleId}': - parameters: - - schema: - type: string - name: campId - in: path - required: true - description: Campaign ID - - schema: - type: string - name: id - in: path - required: true - description: Targeting Block ID - - schema: - type: string - name: ruleId - in: path - required: true - description: Targeting Rule ID post: - summary: Edit Targeting Rule - operationId: post-v2-campaigns-campId-targetings-id-rules-ruleId + summary: Create Coupon Code + operationId: post-v2-coupons responses: '200': description: OK @@ -6148,8 +7462,8 @@ paths: type: boolean message: type: string - rule: - $ref: ./models/rule.v1.yaml + coupon: + $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -6157,25 +7471,188 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml + description: Use this endpoint to create a new coupon code tags: - - Campaign Targetings - description: Edit a rule inside targeting block + - Coupons security: - API Key Param: [] requestBody: content: application/json: schema: - $ref: '#/components/schemas/Rule' - delete: - summary: Delete Targeting Rule - operationId: delete-v2-campaigns-campId-targetings-id-rules-ruleId + type: object + properties: + code: + type: string + status: + type: string + enum: + - active + - pending + - expired + type: + type: string + enum: + - generic + - exclusive + - one_time + campaignId: + type: string + publisherIds: + type: array + items: + type: string + excludedPubIds: + type: array + items: + type: string + description: + type: string + startDate: + type: string + format: date + endDate: + type: string + format: date + payouts: + type: array + items: + type: object + properties: + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - model + - currency + - payout + - revenue + futurePayouts: + type: array + items: + type: object + properties: + fromDate: + type: string + description: Example - 2022-06-01 + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - fromDate + - model + - currency + - payout + - revenue + '/v2/coupons/:code': + parameters: + - schema: + type: string + name: code + in: path + required: true + description: coupon code + get: + summary: Fetch Coupon Code + operationId: get-v2-coupon-code responses: '200': description: OK @@ -6184,10 +7661,10 @@ paths: schema: type: object properties: + coupon: + $ref: ./models/coupon.v1.yaml success: type: boolean - message: - type: string '400': description: Bad Request content: @@ -6195,34 +7672,18 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch a coupon code tags: - - Campaign Targetings - description: 'Delete a targeting rule from a targeting block. Note: If there is only 1 rule inside the block, the targeting block will also be deleted' + - Coupons security: - API Key Param: [] - '/v2/campaigns/{campId}/targetings/{id}/rules': - parameters: - - schema: - type: string - name: campId - in: path - required: true - description: Campaign ID - - schema: - type: string - name: id - in: path - required: true - description: Targeting Block ID post: - summary: Add Rules to targeting block - operationId: post-v2-campaigns-campId-targetings-id-rules + summary: Edit Coupon Code + operationId: post-v2-coupon-code responses: '200': description: OK @@ -6235,8 +7696,8 @@ paths: type: boolean message: type: string - ruleblock: - $ref: ./models/ruleblock.v1.yaml + coupon: + $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -6244,15 +7705,13 @@ paths: schema: type: object properties: - success: - type: boolean errors: type: array items: $ref: ./models/error.v1.yaml + description: Use this endpoint to update a coupon code tags: - - Campaign Targetings - description: 'Add rules inside a targeting block. Note: there can be max 100 rules inside a targeting block' + - Coupons security: - API Key Param: [] requestBody: @@ -6261,155 +7720,179 @@ paths: schema: type: object properties: - rules: + code: + type: string + status: + type: string + enum: + - active + - pending + - expired + type: + type: string + enum: + - generic + - exclusive + - one_time + campaignId: + type: string + publisherId: type: array items: - $ref: '#/components/schemas/Rule' - examples: - example-1: - value: - rules: - - variable: source - logic: deny - condition: starts_with - values: - - '549_434_' - - 983393_3393u3i3_ - description: '' - '/v2/targetingdata/devices': - get: - summary: Fetch All Devices - operationId: get-v2-devices - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - devices: - type: array - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Devices - tags: - - Targeting Data - security: - - API Key Param: [] - '/v2/targetingdata/os': - get: - summary: Fetch All Operating System - operationId: get-v2-os - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - os: - type: array - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Operating System - tags: - - Targeting Data - security: - - API Key Param: [] - '/v2/targetingdata/countries': - get: - summary: Fetch All Countries - operationId: get-v2-countries + type: string + excludedPubIds: + type: array + items: + type: string + description: + type: string + startDate: + type: string + format: date + endDate: + type: string + format: date + payouts: + type: array + items: + type: object + properties: + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - model + - currency + - payout + - revenue + futurePayouts: + type: array + items: + type: object + properties: + fromDate: + type: string + description: Example - 2022-06-01 + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - fromDate + - model + - currency + - payout + - revenue + delete: + summary: Delete Coupon Code + operationId: delete-v2-coupon-code responses: '200': description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - countries: - type: array - '400': - description: Bad Request content: application/json: schema: type: object properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Countries - tags: - - Targeting Data - security: - - API Key Param: [] - '/v2/targetingdata/regions': - get: - summary: Fetch All Regions - operationId: get-v2-regions - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: success: type: boolean - regions: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - country: - type: string - created: - type: string - pagination: - type: array - items: - type: object - properties: - currentPage: - type: number - example: 1 - perPage: - type: number - example: 100 + message: + type: string + coupon: + $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -6420,68 +7903,20 @@ paths: errors: type: array items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Regions + $ref: ./models/error.v1.yaml + description: Use this endpoint to delete a coupon code tags: - - Targeting Data + - Coupons security: - API Key Param: [] - parameters: - - schema: - type: string - in: query - name: q - description: 'To filter the regions for name' - - schema: - type: string - in: query - name: country - description: 'To filter the regions for country' - - schema: - type: integer - in: query - name: page - description: 'Page number for pagination' - '/v2/targetingdata/cities': + '/v2/advertisers/{advertiser_id}/caps': get: - summary: Fetch All Cities - operationId: get-v2-cities + summary: Find All Advertiser Caps + operationId: get-v2-advertiser-caps responses: '200': description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - cities: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - country: - type: string - created: - type: string - pagination: - type: array - items: - type: object - properties: - currentPage: - type: number - example: 1 - perPage: - type: number - example: 100 + content: {} '400': description: Bad Request content: @@ -6492,104 +7927,17 @@ paths: errors: type: array items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Cities - tags: - - Targeting Data + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Advertiser's Caps security: - API Key Param: [] - parameters: - - schema: - type: string - in: query - name: q - description: 'To filter the cities for name' - - schema: - type: string - in: query - name: country - description: 'To filter the cities for country' - - schema: - type: integer - in: query - name: page - description: 'Page number for pagination' - '/v2/targetingdata/isps': - get: - summary: Fetch All Isps - operationId: get-v2-isps - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - isps: - type: array - items: - type: object - properties: - id: - type: string - name: - type: string - region: - type: string - country: - type: string - created: - type: string - pagination: - type: array - items: - type: object - properties: - currentPage: - type: number - example: 1 - perPage: - type: number - example: 100 - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Isps + x-stoplight: + id: 8mn5dmjab7mpk tags: - - Targeting Data - security: - - API Key Param: [] - parameters: - - schema: - type: string - in: query - name: q - description: 'To filter the isps for name' - - schema: - type: string - in: query - name: country - description: 'To filter the isps for country' - - schema: - type: integer - in: query - name: page - description: 'Page number for pagination' - '/v2/categories': + - Advertiser Caps post: - summary: Create Category - operationId: post-v2-categories + summary: Create Advertiser Cap + operationId: post-v2-create-advertiser-cap responses: '200': description: OK @@ -6602,19 +7950,6 @@ paths: type: boolean message: type: string - category: - type: object - properties: - _id: - type: string - name: - type: string - live: - type: boolean - created: - type: string - org_id: - type: string '400': description: Bad Request content: @@ -6626,9 +7961,9 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to create a category + description: Use this endpoint to create a new advertiser's cap. tags: - - Categories + - Coupons security: - API Key Param: [] requestBody: @@ -6637,23 +7972,84 @@ paths: schema: type: object properties: - name: - type: string + type: + type: string + enum: + - conversions + - approvedConv + - revenue + - gross + pubCapType: + x-stoplight: + id: t1uhyrwtmd7zy + default: group + enum: + - each + - group + publishers: + type: array + items: + type: string + x-stoplight: + id: 732h3xv06xh66 + geo: + type: array + x-stoplight: + id: visncovx5q7kd + description: '[''ALL'']' + items: + x-stoplight: + id: 05dycjh97wo2m + type: string + example: '[''ALL'']' + daily: + type: integer + x-stoplight: + id: pxh859ggin5kf + format: int32 + monthly: + type: integer + x-stoplight: + id: dppbygatl58q5 + format: int32 + lifetime: + type: integer + x-stoplight: + id: 6ju2c66q09xqy + format: int32 + required: + - type + description: '' + x-stoplight: + id: 1emvcc7f9t8x1 + parameters: + - schema: + type: string + name: advertiser_id + in: path + required: true + description: Advertiser's Id + '/v2/advertisers/{advertiser_id}/caps/{cap_id}': + parameters: + - schema: + type: string + name: advertiser_id + in: path + required: true + description: Advertiser's Id + - schema: + type: string + name: cap_id + in: path + required: true + description: Cap's Id get: - summary: Fetch All Categories - operationId: get-v2-categories - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - categories: - type: array - items: - $ref: ./models/categories.v1.yaml + summary: Find an Advertiser Cap + operationId: get-v2-advertiser-cap + responses: + '200': + description: OK + content: {} '400': description: Bad Request content: @@ -6665,22 +8061,16 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Categories - tags: - - Categories + description: Use this endpoint to fetch an advertiser's particular cap. security: - API Key Param: [] - '/v2/categories/:id': - parameters: - - schema: - type: string - name: id - in: path - required: true - description: id + x-stoplight: + id: gn291pj7qu8py + tags: + - Advertiser Caps post: - summary: Update Category - operationId: post-v2-categories-id + summary: Edit Advertiser Cap + operationId: post-v2-edit-advertiser-cap-cap responses: '200': description: OK @@ -6693,15 +8083,6 @@ paths: type: boolean message: type: string - category: - type: object - properties: - _id: - type: string - name: - type: string - created: - type: string '400': description: Bad Request content: @@ -6713,9 +8094,9 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to update Categories + description: Use this endpoint to update an advertiser's cap. tags: - - Categories + - Advertiser Caps security: - API Key Param: [] requestBody: @@ -6724,44 +8105,56 @@ paths: schema: type: object properties: - name: - type: string - get: - summary: Fetch Category - operationId: get-v2-categories-id - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - category: - type: array - items: - $ref: ./models/categories.v1.yaml - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch one Category - tags: - - Categories - security: - - API Key Param: [] + type: + type: string + enum: + - conversions + - approvedConv + - revenue + - gross + pubCapType: + x-stoplight: + id: ajxn53wwitxeo + enum: + - each + - group + publishers: + type: array + items: + type: string + x-stoplight: + id: 0ng86e5p177kn + geo: + type: array + x-stoplight: + id: 7ljv5kj9bxzs2 + description: '[''ALL'']' + items: + x-stoplight: + id: y5dnefpsvkwe7 + type: string + example: '[''ALL'']' + daily: + type: integer + x-stoplight: + id: h8wei2fxex8c1 + format: int32 + monthly: + type: integer + x-stoplight: + id: d4hb385kycfdq + format: int32 + lifetime: + type: integer + x-stoplight: + id: snybjr415dsk5 + format: int32 + description: '' + x-stoplight: + id: ge4medo2g3hi6 delete: - summary: Delete Category - operationId: delete-v2-categories-id + summary: Delete Advertiser Cap + operationId: delete-v2-advertiser-cap responses: '200': description: OK @@ -6785,27 +8178,19 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to delete categories - tags: - - Categories + x-stoplight: + id: 6lci0xp2amnyg + description: Use this endpoint to delete an adevrtiser's cap. security: - - API Key Param: [] - '/v2/coupons': + - API Key Param: [] + v2/accounts: get: - summary: Fetch All Coupon Codes - operationId: get-v2-coupons + summary: Find All Team Members + operationId: get-v2-team-members responses: '200': description: OK - content: - application/json: - schema: - type: object - properties: - coupons: - type: array - items: - $ref: ./models/coupon.v1.yaml + content: {} '400': description: Bad Request content: @@ -6816,16 +8201,18 @@ paths: errors: type: array items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch all Categories - tags: - - Coupons + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Team Members. security: - API Key Param: [] + x-stoplight: + id: 8028ah65c4a0b + tags: + - Team Members post: - summary: Create Coupon Code - operationId: post-v2-coupons - responses: + summary: Add Team Member + operationId: post-v2-add-team-member + responses: '200': description: OK content: @@ -6837,8 +8224,6 @@ paths: type: boolean message: type: string - coupon: - $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -6850,9 +8235,9 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to create a new coupon code + description: Use this endpoint to add team member. tags: - - Coupons + - Team Members security: - API Key Param: [] requestBody: @@ -6861,185 +8246,37 @@ paths: schema: type: object properties: - code: - type: string - status: - type: string - enum: - - active - - pending - - expired - type: - type: string - enum: - - generic - - exclusive - - one_time - campaignId: - type: string - publisherIds: - type: array - items: - type: string - excludedPubIds: - type: array - items: - type: string - description: - type: string - startDate: - type: string - format: date - endDate: + name: type: string - format: date - payouts: - type: array - items: - type: object - properties: - model: - type: string - enum: - - cpa - - cps - currency: - type: string - payout: - type: integer - revenue: - type: integer - fixedPayout: - type: integer - fixedRevenue: - type: integer - rules: - type: array - items: - type: object - properties: - variable: - type: string - enum: - - sale - - sub1 - - sub2 - - sub3 - - sub4 - - sub5 - - sub6 - - sub7 - - sub8 - - sub9 - - sub10 - op: - type: string - enum: - - exact_match - - is_empty - - is_not_empty - - contains - - regex - - starts_with - - ends_with - - bigger_than - - less_than - values: - type: array - items: - type: string - required: - - model - - currency - - payout - - revenue - futurePayouts: - type: array - items: - type: object - properties: - fromDate: - type: string - description: Example - 2022-06-01 - model: - type: string - enum: - - cpa - - cps - currency: - type: string - payout: - type: integer - revenue: - type: integer - fixedPayout: - type: integer - fixedRevenue: - type: integer - rules: - type: array - items: - type: object - properties: - variable: - type: string - enum: - - sale - - sub1 - - sub2 - - sub3 - - sub4 - - sub5 - - sub6 - - sub7 - - sub8 - - sub9 - - sub10 - op: - type: string - enum: - - exact_match - - is_empty - - is_not_empty - - contains - - regex - - starts_with - - ends_with - - bigger_than - - less_than - values: - type: array - items: - type: string - required: - - fromDate - - model - - currency - - payout - - revenue - '/v2/coupons/:code': - parameters: - - schema: - type: string - name: code - in: path - required: true - description: coupon code + x-stoplight: + id: s7opu29c3gpza + email: + x-stoplight: + id: bv6g04lz4slki + type: string + type: + type: string + status: + enum: + - active + - inactive + required: + - name + - email + - type + - status + description: '' + x-stoplight: + id: yx5h6qgkn6e4a + parameters: [] + 'v2/accounts/{account_id}': get: - summary: Fetch Coupon Code - operationId: get-v2-coupon-code + summary: Find Team Member + operationId: get-v2-team-member responses: '200': description: OK - content: - application/json: - schema: - type: object - properties: - coupon: - $ref: ./models/coupon.v1.yaml - success: - type: boolean + content: {} '400': description: Bad Request content: @@ -7051,15 +8288,17 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to fetch a coupon code - tags: - - Coupons + description: Use this endpoint to fetch a Team Member. security: - API Key Param: [] + tags: + - Team Members + x-stoplight: + id: d4ztqwsoomrf7 post: - summary: Edit Coupon Code - operationId: post-v2-coupon-code - responses: + summary: Add Team Member + operationId: post-v2-edit-team-member + responses: '200': description: OK content: @@ -7071,8 +8310,6 @@ paths: type: boolean message: type: string - coupon: - $ref: ./models/coupon.v1.yaml '400': description: Bad Request content: @@ -7084,9 +8321,9 @@ paths: type: array items: $ref: ./models/error.v1.yaml - description: Use this endpoint to update a coupon code + description: Use this endpoint to edit team member. tags: - - Coupons + - Team Members security: - API Key Param: [] requestBody: @@ -7095,195 +8332,26 @@ paths: schema: type: object properties: - code: + name: type: string - status: + email: type: string - enum: - - active - - pending - - expired type: type: string + status: enum: - - generic - - exclusive - - one_time - campaignId: - type: string - publisherId: - type: array - items: - type: string - excludedPubIds: - type: array - items: - type: string - description: - type: string - startDate: - type: string - format: date - endDate: - type: string - format: date - payouts: - type: array - items: - type: object - properties: - model: - type: string - enum: - - cpa - - cps - currency: - type: string - payout: - type: integer - revenue: - type: integer - fixedPayout: - type: integer - fixedRevenue: - type: integer - rules: - type: array - items: - type: object - properties: - variable: - type: string - enum: - - sale - - sub1 - - sub2 - - sub3 - - sub4 - - sub5 - - sub6 - - sub7 - - sub8 - - sub9 - - sub10 - op: - type: string - enum: - - exact_match - - is_empty - - is_not_empty - - contains - - regex - - starts_with - - ends_with - - bigger_than - - less_than - values: - type: array - items: - type: string - required: - - model - - currency - - payout - - revenue - futurePayouts: - type: array - items: - type: object - properties: - fromDate: - type: string - description: Example - 2022-06-01 - model: - type: string - enum: - - cpa - - cps - currency: - type: string - payout: - type: integer - revenue: - type: integer - fixedPayout: - type: integer - fixedRevenue: - type: integer - rules: - type: array - items: - type: object - properties: - variable: - type: string - enum: - - sale - - sub1 - - sub2 - - sub3 - - sub4 - - sub5 - - sub6 - - sub7 - - sub8 - - sub9 - - sub10 - op: - type: string - enum: - - exact_match - - is_empty - - is_not_empty - - contains - - regex - - starts_with - - ends_with - - bigger_than - - less_than - values: - type: array - items: - type: string - required: - - fromDate - - model - - currency - - payout - - revenue - delete: - summary: Delete Coupon Code - operationId: delete-v2-coupon-code - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - success: - type: boolean - message: - type: string - coupon: - $ref: ./models/coupon.v1.yaml - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - errors: - type: array - items: - $ref: ./models/error.v1.yaml - description: Use this endpoint to delete a coupon code - tags: - - Coupons - security: - - API Key Param: [] + - active + - inactive + description: '' + x-stoplight: + id: b9j6318zuk8hp + parameters: + - schema: + type: string + name: account_id + in: path + required: true + description: Account Id components: schemas: UserCreate: @@ -7572,9 +8640,10 @@ components: type: string fetchIpDetails: type: boolean - description: Set this value to true if you want system to fetch the IP data (city, region, country, isp, latitude and longitude) for the conversion based on the provided Click IP + description: 'Set this value to true if you want system to fetch the IP data (city, region, country, isp, latitude and longitude) for the conversion based on the provided Click IP' required: - data + x-internal: false SubAccountEdit: title: SubAccountEdit type: object @@ -7899,12 +8968,12 @@ components: - geo startTime: type: string - format: "YYYY-MM-DDTHH:MM:ssZ" - example: "2020-01-01T10:30:00Z" + format: 'YYYY-MM-DDTHH:MM:ssZ' + example: '2020-01-01T10:30:00Z' endTime: type: string - format: "YYYY-MM-DD HH:MM:ssZ" - example: "2020-02-02T21:00:00Z" + format: 'YYYY-MM-DD HH:MM:ssZ' + example: '2020-02-02T21:00:00Z' required: - advertiserId - title @@ -8198,12 +9267,12 @@ components: - geo startTime: type: string - format: "YYYY-MM-DDTHH:MM:ssZ" - example: "2020-01-01T10:30:00Z" + format: 'YYYY-MM-DDTHH:MM:ssZ' + example: '2020-01-01T10:30:00Z' endTime: type: string - format: "YYYY-MM-DD HH:MM:ssZ" - example: "2020-02-02T21:00:00Z" + format: 'YYYY-MM-DD HH:MM:ssZ' + example: '2020-02-02T21:00:00Z' Cap: title: Cap type: object @@ -8352,12 +9421,12 @@ components: type: type: string enum: - - category + - category - manual model: type: string enum: - - cpa + - cpa - cpc - cpm - cpi @@ -8396,30 +9465,30 @@ components: type: float maxp: type: float - targeting: + targeting: type: object properties: - city: - type: number - region: - type: number - os: - type: number - carrier: - type: number - device: - type: number - country: - type: number + city: + type: number + region: + type: number + os: + type: number + carrier: + type: number + device: + type: number + country: + type: number appendUrl: type: array items: type: object properties: key: - type: string + type: string value: - type: string + type: string required: - name - event @@ -8452,12 +9521,12 @@ components: type: type: string enum: - - category + - category - manual model: type: string enum: - - cpa + - cpa - cpc - cpm - cpi @@ -8496,32 +9565,31 @@ components: type: float maxp: type: float - targeting: + targeting: type: object properties: - city: - type: number - region: - type: number - os: - type: number - carrier: - type: number - device: - type: number - country: - type: number + city: + type: number + region: + type: number + os: + type: number + carrier: + type: number + device: + type: number + country: + type: number appendUrl: type: array items: type: object properties: key: - type: string + type: string value: - type: string + type: string description: '' - Pagination: title: Pagination type: object From a67be7c7283918cdee0a4284cdb8811411dd95f7 Mon Sep 17 00:00:00 2001 From: Arshal Soren Date: Wed, 1 Nov 2023 13:23:59 +0530 Subject: [PATCH 2/5] Modified admin/openapi-1.2.58.yaml --- admin/openapi-1.2.58.yaml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/admin/openapi-1.2.58.yaml b/admin/openapi-1.2.58.yaml index 9f0c4db..f6c0393 100644 --- a/admin/openapi-1.2.58.yaml +++ b/admin/openapi-1.2.58.yaml @@ -7962,8 +7962,6 @@ paths: items: $ref: ./models/error.v1.yaml description: Use this endpoint to create a new advertiser's cap. - tags: - - Coupons security: - API Key Param: [] requestBody: @@ -8022,6 +8020,8 @@ paths: description: '' x-stoplight: id: 1emvcc7f9t8x1 + tags: + - Advertiser Caps parameters: - schema: type: string @@ -8183,7 +8183,9 @@ paths: description: Use this endpoint to delete an adevrtiser's cap. security: - API Key Param: [] - v2/accounts: + tags: + - Advertiser Caps + /v2/accounts: get: summary: Find All Team Members operationId: get-v2-team-members @@ -8269,7 +8271,7 @@ paths: x-stoplight: id: yx5h6qgkn6e4a parameters: [] - 'v2/accounts/{account_id}': + '/v2/accounts/{account_id}': get: summary: Find Team Member operationId: get-v2-team-member @@ -8296,7 +8298,7 @@ paths: x-stoplight: id: d4ztqwsoomrf7 post: - summary: Add Team Member + summary: Edit Team Member operationId: post-v2-edit-team-member responses: '200': From 6e243423d2461739f84808f39c0f18961d90709c Mon Sep 17 00:00:00 2001 From: Arshal Soren Date: Thu, 2 Nov 2023 11:53:10 +0530 Subject: [PATCH 3/5] Modified admin/openapi-1.2.58.yaml --- admin/openapi-1.2.58.yaml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/admin/openapi-1.2.58.yaml b/admin/openapi-1.2.58.yaml index f6c0393..43903b7 100644 --- a/admin/openapi-1.2.58.yaml +++ b/admin/openapi-1.2.58.yaml @@ -8646,6 +8646,8 @@ components: required: - data x-internal: false + x-tags: + - Network SubAccountEdit: title: SubAccountEdit type: object @@ -9400,8 +9402,6 @@ components: SmartlinkCreate: title: Smartlink type: object - x-tags: - - Smartlink properties: name: type: string @@ -9497,11 +9497,11 @@ components: - model - type description: '' + x-tags: + - Manage Smartlinks SmartlinkEdit: title: Smartlink type: object - x-tags: - - Smartlink properties: name: type: string @@ -9592,6 +9592,8 @@ components: value: type: string description: '' + x-tags: + - Manage Smartlinks Pagination: title: Pagination type: object @@ -10027,6 +10029,8 @@ components: - variable - logic - condition + x-tags: + - Campaign Targetings InvoicesCreate: title: Invoices type: object @@ -10091,9 +10095,9 @@ components: - uType - title - invCurrency - x-tags: - - Invoices List description: Invoices Model + x-tags: + - Invoices securitySchemes: API Key Param: name: apiKey From 2b258c9424bf5940882520629797c586e0a58042 Mon Sep 17 00:00:00 2001 From: Arshal Soren Date: Thu, 2 Nov 2023 16:49:02 +0530 Subject: [PATCH 4/5] Modified openapi-1.0.16.yaml --- openapi-1.0.16.yaml | 457 +++++++++++++++++++------------------------- 1 file changed, 193 insertions(+), 264 deletions(-) diff --git a/openapi-1.0.16.yaml b/openapi-1.0.16.yaml index f94aeb1..87566ea 100644 --- a/openapi-1.0.16.yaml +++ b/openapi-1.0.16.yaml @@ -1,98 +1,38 @@ openapi: 3.0.0 info: title: Trackier Publisher API Docs - description: > + description: | # Introduction - - The Trackier API is designed for developers, engineers, or anyone else who’s - comfortable creating custom-coded solutions or integrating with RESTful APIs. - + The Trackier API is designed for developers, engineers, or anyone else who’s comfortable creating custom-coded solutions or integrating with RESTful APIs. Base URL
  • URL : https://api.trackier.com
  • Description : Main server
  • # HTTP Status Code - - Review all global errors for the Trackier API so you can get back to work fast. -
    401 - API Key Invalid -
    Your API key may be invalid, or you’ve - attempted to access the wrong data center. -
    The current request requires user authentication. - For example, the user does not have the necessary credentials. -
    403 - No permissions visit this resource -
    You are not permitted to access this resource. -
    The request was a valid request, but the server is refusing to respond to it. - For example, the user does not have the necessary permissions for the resource. -
    404 - Resource Not Found -
    The requested resource could not be found. -
    This error tells you a specific resource doesn’t exist. - It’s possible that the resource has been moved or deleted, or that there’s a typo - in your request.
    500 - Server error, Please contact administrator -
    A generic error message, given when an unexpected condition was encountered and - no more specific message is suitable.Please contact Support for more information. -
    This error lets you know our servers have experienced a problem. - Although this is rare, please contact support@trackier.com to let us know that - you’ve encountered this error - + Review all global errors for the Trackier API so you can get back to work fast.
    401 - API Key Invalid
    Your API key may be invalid, or you’ve attempted to access the wrong data center.
    The current request requires user authentication. For example, the user does not have the necessary credentials.
    403 - No permissions visit this resource
    You are not permitted to access this resource.
    The request was a valid request, but the server is refusing to respond to it. For example, the user does not have the necessary permissions for the resource.
    404 - Resource Not Found
    The requested resource could not be found.
    This error tells you a specific resource doesn’t exist. It’s possible that the resource has been moved or deleted, or that there’s a typo in your request.
    500 - Server error, Please contact administrator
    A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.Please contact Support for more information.
    This error lets you know our servers have experienced a problem. Although this is rare, please contact support@trackier.com to let us know that you’ve encountered this error # Authentication - Trackier API endpoints can be authenticated via Header: - API Key # Admin API - - Admin API can be found here [Admin API](/admin?v=2) - - version: 'v2' + Admin API can be found here [Admin API](/docs/api-docs/a9f4d948ed2e0-trackier-admin-api-docs) + version: v2 termsOfService: 'https://trackier.com/terms-of-service/' contact: name: API Support email: support@trackier.com x-logo: url: 'https://trackier.com/blog/wp-content/uploads/2019/02/dark-logo.png' - servers: - url: 'https://api.trackier.com/' description: 'Base URL: https://api.trackier.com' - tags: - name: Campaign - description: ' -

    GET the next page of results

    - You can then make a call to any page by just page number ?page={5}. The page parameter in the next link is 5, so the results will show campagians of page 5. - The call will be as follows: -
    eg. /v2/publisher/campaigns?limit={limit}&page={5} -
    -
    -

    How do I know if there are more pages?

    - When the response doesn’t contain a campaign data in results, you know that you’ve reached the end. - ' - - name: 'Coupon Codes' - description: ' -

    GET the next page of results

    - You can then make a call to any page by using the page token ?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}. If not passed, the API returns data of the first page. - In the response body, the pageToken to access the next page is provided. - The call will be as follows: -
    eg. /v2/publisher/coupons?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0} -
    -
    -

    How do I know if there are more pages?

    - When the response doesn’t contain the coupon data in results, you know that you’ve reached the end. - ' - - - name: 'Deals' - description: ' -

    GET the next page of results

    - You can then make a call to any page by using the page token ?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}. If not passed, the API returns data of the first page. - In the response body, the pageToken to access the next page is provided. - The call will be as follows: -
    eg. /v2/publisher/deals?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0} -
    -
    -

    How do I know if there are more pages?

    - When the response doesn’t contain the deals data in results, you know that you’ve reached the end. - ' - + description: '

    GET the next page of results

    You can then make a call to any page by just page number ?page={5}. The page parameter in the next link is 5, so the results will show campagians of page 5. The call will be as follows:
    eg. /v2/publisher/campaigns?limit={limit}&page={5}

    How do I know if there are more pages?

    When the response doesn’t contain a campaign data in results, you know that you’ve reached the end. ' + - name: Coupon Codes + description: '

    GET the next page of results

    You can then make a call to any page by using the page token ?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}. If not passed, the API returns data of the first page. In the response body, the pageToken to access the next page is provided. The call will be as follows:
    eg. /v2/publisher/coupons?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}

    How do I know if there are more pages?

    When the response doesn’t contain the coupon data in results, you know that you’ve reached the end. ' + - name: Deals + description: '

    GET the next page of results

    You can then make a call to any page by using the page token ?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}. If not passed, the API returns data of the first page. In the response body, the pageToken to access the next page is provided. The call will be as follows:
    eg. /v2/publisher/deals?pageToken={eyJwYWdlIjoxLCJsaW1pdCI6MTAwMH0}

    How do I know if there are more pages?

    When the response doesn’t contain the deals data in results, you know that you’ve reached the end. ' x-tagGroups: - name: Publisher tags: @@ -110,23 +50,22 @@ x-tagGroups: tags: - Camapigns - Advertiser Performance Report - paths: - '/v2/publisher/campaigns': + /v2/publisher/campaigns: get: tags: - Campaign summary: Fetch All Campaigns description: |- - Returns all publisher campaigns + Returns all publisher campaigns - Goal: Any additional event added in the campaign is goal + Goal: Any additional event added in the campaign is goal - Default Goal: Default event of the campaign - - *Note: There will be no goal value in default goal, only goal have the goal values*. + Default Goal: Default event of the campaign - **Rate Limit: 5 req/sec** + *Note: There will be no goal value in default goal, only goal have the goal values*. + + **Rate Limit: 5 req/sec** operationId: campaigns parameters: - in: query @@ -157,8 +96,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Error' - - '/v2/publishers/profile': + /v2/publishers/profile: get: tags: - Publisher Profile @@ -168,7 +106,7 @@ paths: responses: '200': description: Successful operation - content: + content: application/json: schema: type: object @@ -177,7 +115,7 @@ paths: $ref: '#/components/schemas/PublisherProfile' '400': description: Bad Request - content: + content: application/json: schema: $ref: '#/components/schemas/Error' @@ -195,7 +133,7 @@ paths: responses: '200': description: Successful operation - content: + content: application/json: schema: type: object @@ -208,12 +146,11 @@ paths: $ref: '#/components/schemas/PublisherProfile' '400': description: Bad Request - content: + content: application/json: schema: $ref: '#/components/schemas/Error' - - '/v2/publishers/coupons': + /v2/publishers/coupons: get: tags: - Coupon Codes @@ -239,8 +176,7 @@ paths: application/json: schema: $ref: '#/components/schemas/Error' - - '/v2/publishers/deals': + /v2/publishers/deals: get: tags: - Deals @@ -266,7 +202,6 @@ paths: application/json: schema: $ref: '#/components/schemas/Error' - '/v2/publishers/campaign/{id}/access': post: tags: @@ -295,11 +230,10 @@ paths: type: string '400': description: Bad Request - content: + content: application/json: schema: $ref: '#/components/schemas/Error' - '/v2/publishers/:pubId/campaignsCount': get: tags: @@ -321,29 +255,28 @@ paths: type: integer '400': description: Bad Request - content: + content: application/json: schema: $ref: '#/components/schemas/Error' - - '/v2/publishers/reports': + /v2/publishers/reports: get: summary: Performance Report tags: - - Performance Report + - Performance Report description: |- - Performance Report + Performance Report - Default Grouping: campaign_name, campaign_id - Default KPI in response: clicks, approvedConversions, payout, revenue, profit + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit - To update the report grouping or kpi: - - &group[]=campaign_id&group[]=publisher_id - - List of grouping parameters can be found below - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + To update the report grouping or kpi: + - &group[]=campaign_id&group[]=publisher_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below - **Rate Limit: 200 req/min** + **Rate Limit: 200 req/min** responses: '200': description: OK @@ -431,13 +364,12 @@ paths: in: query name: end description: Report end date in YYYY-MM-DD format - '/v2/publishers/conversions': + /v2/publishers/conversions: get: summary: Conversion Logs tags: - - Conversion Logs - description: |- - Conversion Logs + - Conversion Logs + description: Conversion Logs responses: '200': description: OK @@ -488,7 +420,7 @@ paths: os: type: string goal_id: - type: string + type: string txn_id: type: string currency: @@ -504,7 +436,7 @@ paths: device: type: string created: - type: string + type: string status: type: string external_offer_id: @@ -512,7 +444,7 @@ paths: campaign_id: type: integer campaign_name: - type: string + type: string goal_name: type: string url_title: @@ -528,36 +460,36 @@ paths: city: Philadelphia region: Pennsylvania isp: Comcast Cable - p1: "" - p2: "" - p3: "" - p4: "" - p5: "" - p6: "" - p7: "" - p8: "" - p9: "" - p10: "" + p1: '' + p2: '' + p3: '' + p4: '' + p5: '' + p6: '' + p7: '' + p8: '' + p9: '' + p10: '' os: Android 11.0 - goal_id: - txn_id: + goal_id: null + txn_id: null currency: USD payout: 0 orig_sale_currency: USD country: US browser: Chrome 97 device: mobile - created: 2023-06-02T01:28:40.000Z + created: '2023-06-02T01:28:40.000Z' status: approved external_offer_id: 32 campaign_id: 2 campaign_name: string goal_name: Install url_title: Default - pagination : - perPage: 100 - currentPage: 1 - total: 1000 + pagination: + perPage: 100 + currentPage: 1 + total: 1000 '400': description: Bad Request content: @@ -593,14 +525,12 @@ paths: name: end description: Report end date in YYYY-MM-DD format required: true - '/v2/publishers/reports-kpi': + /v2/publishers/reports-kpi: get: summary: Performance Report GET KPI tags: - - Performance Report - description: |- - Performance Report GET KPI Method - + - Performance Report + description: Performance Report GET KPI Method responses: '200': description: OK @@ -617,41 +547,32 @@ paths: type: object kpiMap: type: object - examples: example-1: value: allowedGrouping: - [ - "campaign_name", - "campaign_id", - "campaign_long_id", - "campaign_status" - ] + - campaign_name + - campaign_id + - campaign_long_id + - campaign_status allowedKpi: - [ - "uniqueClicks", - "clicks", - "grossClicks", - "impressions", - "payout" - ] + - uniqueClicks + - clicks + - grossClicks + - impressions + - payout groupingMap: - { - "campaign_name": "Campaign", - "campaign_id": "Campaign ID", - "campaign_long_id": "Campaign Long ID", - "campaign_status": "Campaign Status", - "campaign_geo": "Campaign GEO", - } + campaign_name: Campaign + campaign_id: Campaign ID + campaign_long_id: Campaign Long ID + campaign_status: Campaign Status + campaign_geo: Campaign GEO kpiMap: - { - "uniqueClicks": "Unique Clicks", - "clicks": "Clicks", - "grossClicks": "Gross Clicks", - "impressions": "Impressions", - "payout": "Payout", - } + uniqueClicks: Unique Clicks + clicks: Clicks + grossClicks: Gross Clicks + impressions: Impressions + payout: Payout '400': description: Bad Request content: @@ -664,9 +585,8 @@ paths: operationId: get-v2-reports-get-kpi security: - API Key Param: [] - - '/v2/publishers/categories': - get: + /v2/publishers/categories: + get: tags: - Publisher Categories summary: Fetch All Categories @@ -689,7 +609,7 @@ paths: name: type: string created: - type: string + type: string '400': description: Bad Request content: @@ -699,12 +619,11 @@ paths: properties: errors: $ref: '#/components/schemas/Error' - description: Use this endpoint to fetch all Publisher Categories + description: Use this endpoint to fetch all Publisher Categories security: - - API Key Param: [] - - '/v2/advertisers/campaigns': - get: + - API Key Param: [] + /v2/advertisers/campaigns: + get: tags: - Camapigns summary: Fetch All Campaigns @@ -716,7 +635,6 @@ paths: description: Advetriser API Key schema: type: string - responses: '200': description: Successful operation @@ -730,22 +648,22 @@ paths: application/json: schema: $ref: '#/components/schemas/FindAllCampaignError' - '/v2/advertisers/reports': + /v2/advertisers/reports: get: summary: Performance Report tags: - Advertiser Performance Report description: |- - Performance Report + Performance Report - Default Grouping: campaign_name, campaign_id - Default KPI in response: clicks, approvedConversions, payout, revenue, profit + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit - To update the report grouping or kpi: - - &group[]=campaign_id - - List of grouping parameters can be found below - - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks - - List of KPI can be found in query parameter section below + To update the report grouping or kpi: + - &group[]=campaign_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below responses: '200': description: OK @@ -786,7 +704,7 @@ paths: $ref: '#/components/schemas/Error' operationId: get-v2-advertisers-report-custom security: - - API Key Param: [] + - API Key Param: [] parameters: - schema: type: array @@ -841,19 +759,25 @@ components: geo: description: List of all Payout geo type: array - example: ['US', 'IN'] + example: + - US + - IN city: description: List of Cities type: array - example: ['Mohali'] + example: + - Mohali region: description: List of Region type: array - example: ['Punjab'] + example: + - Punjab allowedValues: description: List of Allowed Values corresponding to the variable type: array - example: ['sub1-testing', 'sub2-testing'] + example: + - sub1-testing + - sub2-testing variable: type: string example: source @@ -869,7 +793,6 @@ components: - p9 - p10 - source - Goal: type: object properties: @@ -903,7 +826,7 @@ components: description: Minimum OS version max: type: string - example: 9.0 + example: 9 description: Maximum OS version PublisherCampaign: type: object @@ -927,10 +850,9 @@ components: nullable: true example: mobile app platform currency: - description: If currency is present then the payout shown by the API for that campaign is in that currency. - If no currency then it should be assumed as USD and accordingly payout is also in USD + description: If currency is present then the payout shown by the API for that campaign is in that currency. If no currency then it should be assumed as USD and accordingly payout is also in USD type: string - nullable : true + nullable: true example: USD enum: - INR @@ -940,24 +862,30 @@ components: description: Campaign categories type: array nullable: true - example: [Technology, Bollynews] + example: + - Technology + - Bollynews subIdsBlock: description: List of Blocked Sub IDs type: array nullable: true - example: [XF152asd, TF152asd] + example: + - XF152asd + - TF152asd subIdsAllow: description: List of Allowed Sub IDs type: array nullable: true - example: [XF152asd, TF152asd] + example: + - XF152asd + - TF152asd preview_url: description: Destination url of the campaign type: string nullable: true - example: https://play.google.com/store/apps/details?id=io.appattribution.device + example: 'https://play.google.com/store/apps/details?id=io.appattribution.device' model: - description: "Also if model is CPS then the payout is in percentage (Example: if payout = 70 and model = CPS, then it means payout is 70% of the sale amount not $70)" + description: 'Also if model is CPS then the payout is in percentage (Example: if payout = 70 and model = CPS, then it means payout is 70% of the sale amount not $70)' type: string example: cpi enum: @@ -970,7 +898,9 @@ components: description: List of all supported devices type: array nullable: true - example: ['mobile', 'tablet'] + example: + - mobile + - tablet enum: - mobile - tablet @@ -980,12 +910,14 @@ components: description: Conversion Flow type: array nullable: true - example: ['MO Flow'] + example: + - MO Flow os: description: List of all operating system supported type: array nullable: true - example: ['android'] + example: + - android enum: - android - ios @@ -1017,7 +949,7 @@ components: description: All OS supported version information $ref: '#/components/schemas/OsVer' app_id: - description: Application id, e.g com.example.android (Android) or id4298877253 (iOS) + description: 'Application id, e.g com.example.android (Android) or id4298877253 (iOS)' type: string nullable: true example: io.appattribution.app @@ -1029,32 +961,40 @@ components: tracking_link: description: Tracking link of the campaign/offer type: string - example: https://trk.trackier.com/5acdefeadcxwe3dsad?p1={your-transaction-id}&source={your-sub-aff-id} + example: 'https://trk.trackier.com/5acdefeadcxwe3dsad?p1={your-transaction-id}&source={your-sub-aff-id}' impressionUrl: description: Impression URL of the campaign/offer type: string - example: https://demo.trackier.net/imp?campaign_id=20931&pub_id=31 + example: 'https://demo.trackier.net/imp?campaign_id=20931&pub_id=31' bot_check_url: description: Botman Bot Check URL nullable: true type: string - example: https://a762.botninja.js?https://demo.trackier.net/5acdefeadcxwe3dsad + example: 'https://a762.botninja.js?https://demo.trackier.net/5acdefeadcxwe3dsad' countries: description: List of all supported countries type: array - example: ['US', 'IN'] + example: + - US + - IN isps: description: Allowed ISPs List type: array - example: ['SpectraNet', 'ASN'] + example: + - SpectraNet + - ASN citiesInclude: description: Allowed Cities List type: array - example: ['Kolkata', 'Delhi'] + example: + - Kolkata + - Delhi citiesExclude: description: Blocked Cities List type: array - example: ['Kolkata', 'Delhi'] + example: + - Kolkata + - Delhi defaultGoal: description: Default Goal name type: string @@ -1091,7 +1031,6 @@ components: lifetime: type: string example: 0 - Error: type: object properties: @@ -1110,7 +1049,6 @@ components: description: Error message type: string example: Invalid API Key - PublisherProfile: type: object properties: @@ -1128,7 +1066,6 @@ components: type: string id: type: string - ProfileEdit: type: object properties: @@ -1138,7 +1075,6 @@ components: type: string company: type: string - Creatives: type: object properties: @@ -1158,7 +1094,7 @@ components: full_url: description: Full URL of the file type: string - example: https://static.vnative.co/images/5b505e7d8213e.png + example: 'https://static.vnative.co/images/5b505e7d8213e.png' dimensions: description: Creatives dimensions type: object @@ -1176,7 +1112,6 @@ components: format: integer nullable: true example: 400 - PublisherCampaignData: type: object properties: @@ -1201,7 +1136,6 @@ components: format: integer description: Total number of campaigns example: 251 - PublisherCouponCodeData: type: object properties: @@ -1235,7 +1169,6 @@ components: pageToken: type: string description: Token to access next page - PublisherDealData: type: object properties: @@ -1262,7 +1195,6 @@ components: pageToken: type: string description: Token to access next page - AdvertiserCampaign: type: object properties: @@ -1291,9 +1223,9 @@ components: items: type: string flow: - type: array + type: array items: - type: string + type: string title: type: string items: @@ -1312,66 +1244,66 @@ components: - paused - disabled - expired - cshp: + cshp: type: string example: approved - dcla: + dcla: type: string example: none - extOfferId: + extOfferId: type: string created: type: string format: date-time modified: type: string - format: date-time + format: date-time payouts: type: array items: - type: object - properties: - region: - type: array - items: - type: string - city: - type: array - items: - type: string - _id: + type: object + properties: + region: + type: array + items: type: string - model: + city: + type: array + items: type: string - revenue: - type: number - minimum: 0 - created: + _id: + type: string + model: + type: string + revenue: + type: number + minimum: 0 + created: + type: string + currency: + type: string + campaignId: + type: string + landingPages: + type: array + items: type: string - currency: - type: string - campaignId: + pubIds: + type: array + items: + type: string + payout: + type: number + minimum: 0 + geo: + type: array + items: + type: string + allowedValues: + type: array + uniqueItems: true + items: type: string - landingPages: - type: array - items: - type: string - pubIds: - type: array - items: - type: string - payout: - type: number - minimum: 0 - geo: - type: array - items: - type: string - allowedValues: - type: array - uniqueItems: true - items: - type: string creatives: description: List of creatives associated with campaign type: array @@ -1400,7 +1332,7 @@ components: geo: type: array items: - type: string + type: string blockedPubs: type: array items: @@ -1452,7 +1384,6 @@ components: type: string allowTrafficDiversion: type: integer - AdvertiserCampaignData: type: object properties: @@ -1472,7 +1403,6 @@ components: default: 100 nextPageToken: type: string - FindAllCampaignError: type: object properties: @@ -1495,7 +1425,6 @@ components: description: Error message type: string example: API Key supplied with the request is invalid. Please cross verify the API Key! - securitySchemes: API Key: type: apiKey From bc9f77727a1876d29225735f19f2fab6ec8770bb Mon Sep 17 00:00:00 2001 From: Arshal Soren Date: Thu, 16 Nov 2023 16:51:30 +0530 Subject: [PATCH 5/5] update: adv caps, s2s, impression tracking --- admin-openapi-1.2.58.yaml | 10019 ++++++++++++++++++++++++++++++++++++ 1 file changed, 10019 insertions(+) create mode 100644 admin-openapi-1.2.58.yaml diff --git a/admin-openapi-1.2.58.yaml b/admin-openapi-1.2.58.yaml new file mode 100644 index 0000000..04283eb --- /dev/null +++ b/admin-openapi-1.2.58.yaml @@ -0,0 +1,10019 @@ +openapi: 3.0.0 +info: + title: Trackier Admin API Docs + version: v2 + description: | + # Introduction + The Trackier API is designed for developers, engineers, or anyone else who’s comfortable creating custom-coded solutions or integrating with RESTful APIs. + Base URL +
  • URL : https://api.trackier.com
  • +
  • Description : Main server
  • + + # HTTP Status Code + Review all global errors for the Trackier API so you can get back to work fast.
    401 - API Key Invalid
    Your API key may be invalid, or you’ve attempted to access the wrong data center.
    The current request requires user authentication. For example, the user does not have the necessary credentials.
    403 - No permissions visit this resource
    You are not permitted to access this resource.
    The request was a valid request, but the server is refusing to respond to it. For example, the user does not have the necessary permissions for the resource.
    404 - Resource Not Found
    The requested resource could not be found.
    This error tells you a specific resource doesn’t exist. It’s possible that the resource has been moved or deleted, or that there’s a typo in your request.
    500 - Server error, Please contact administrator
    A generic error message, given when an unexpected condition was encountered and no more specific message is suitable.Please contact Support for more information.
    This error lets you know our servers have experienced a problem. Although this is rare, please contact support@trackier.com to let us know that you’ve encountered this error + # Authentication + Trackier API endpoints can be authenticated via: + - Header: x-api-key + - Query Param: ?apiKey= + termsOfService: 'https://trackier.com/terms-of-service/' + contact: + name: API Support + email: support@trackier.com + x-logo: + url: 'https://trackier.com/blog/wp-content/uploads/2019/02/dark-logo.png' +servers: + - url: 'https://api.trackier.com' +paths: + /v2/offers/incent: + get: + summary: Find all incent offers + operationId: get-v2-incent-offers + tags: + - Incent Offers + parameters: + - schema: + type: integer + in: query + name: page + description: Page Number + - schema: + type: integer + in: query + name: limit + description: limit + - schema: + oneOf: + - type: integer + - type: string + in: query + name: pubId + description: Publisher Id or Hash Id + required: true + - schema: + type: string + in: query + name: source + description: Source + required: true + - schema: + type: string + enum: + - asc + - desc + in: query + name: order + description: Order By + - schema: + type: string + enum: + - payout + - id + in: query + name: sortBy + description: Sort By + - schema: + type: object + properties: + geo: + type: array + items: + type: string + description: Two Letter Country ISO Code in Blocks + objective: + type: array + items: + type: string + enum: + - cpi + - cpa + - cpc + - cps + - cpm + - cpl + in: query + name: filters + description: Filters + description: |- + #### Note: This API endpoint requires a feature to be enable in your account. Please contact your account manager for more info. + Find All Incent Offers + - &filters[objective][]=cpi&filters[objective][]=cpa + - &filters[geo][]=IN&filters[geo][]=US + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + campaigns: + type: array + items: + $ref: ./models/incent-offer.v1.yaml + page: + type: integer + limit: + type: integer + total: + type: integer + count: + type: integer + availableFilters: + type: object + properties: + geo: + type: array + items: + type: string + objective: + type: array + items: + type: string + enum: + - cpi + - cpa + - cpc + - cps + - cpm + - cpl + appliedFilters: + type: object + properties: + geo: + type: array + items: + type: string + objective: + type: array + items: + type: string + enum: + - cpi + - cpa + - cpc + - cps + - cpm + - cpl + examples: + example-1: + value: + success: true + campaigns: + - id: 2099 + hashId: 63da0749cd195814190b6163 + title: AmericanSolarQuotes - US - 90% Rev Share + description: "AmericanSolarQuotes<br /><br />\r\nPayable action: Valid quote<br /><br />\r\nTerms: US, 18+, non-incent<br /><br />\r\nSend times: Monday - Friday (no weekend activity)\r\n

    From:
    - Home Eco Grants

    Subject:
    - Save up to 80% on your energy bills with a free Solar Panels Grant
    - Instant Eligibility Calculator for Government-Funded Solar Panels
    - Check if your property qualifies for a free government energy efficiency grant!
    - Get Free Solar Panels through government funding!" + currency: USD + previewUrl: 'https://solar.americahomequotes.com/' + model: cpa + device: + - all + flow: [] + os: + - all + osVer: {} + appId: idsa13442 + appName: app.trackier.com + categories: [] + goals: + - id: 63e3dfd379a7cc7cbf135e6d + title: TEST GOAL + value: test_goal + payouts: + - goalId: 63e3dfd379a7cc7cbf135e6d + revenue: 3.03 + payout: 1.515 + coverage: + - ALL + payoutType: percentage + - id: 63e3e0cd5a937e373d2f8467 + title: test pub specific + value: test_pub_specific + payouts: + - goalId: 63e3e0cd5a937e373d2f8467 + revenue: 2 + payout: 1 + coverage: + - ALL + payoutType: fixed + - id: 63e3e6ef5a937e373d2f846b + title: test goal two payout + value: test goal two payout + payouts: + - goalId: 63e3e6ef5a937e373d2f846b + revenue: 2 + payout: 1 + coverage: + - ALL + payoutType: fixed + - goalId: 63e3e6ef5a937e373d2f846b + revenue: 20 + payout: 10 + coverage: + - IN + payoutType: fixed + subIdsBlocked: [] + subIdsAllowed: [] + countries: + - US + isps: + - all + citiesInclude: [] + citiesExclude: [] + defaultGoal: Default + creatives: + - fileName: email_63da07493ac06.html + dimensions: [] + mimeType: text/html + title: AmericanSolarQuotes - US - 90% Rev Share + fullUrl: 'https://static.vnative.co/images/email_63da07493ac06.html' + description: "Save up to 80% on your energy bills with a free Solar Panels Grant\r\nInstant Eligibility Calculator for Government-Funded Solar Panels\r\nCheck if your property qualifies for a free government energy efficiency grant!\r\nGet Free Solar Panels through government funding!\r\n" + payouts: + - payout: 63 + revenue: 70 + coverage: + - US + city: [] + region: [] + payoutType: percentage + trackingLink: 'https://mpro.gotrackier.com/click?campaign_id=2099&pub_id=5&source=hellp' + impressionUrl: 'https://mpro.gotrackier.com/imp?campaign_id=2099&pub_id=5&source=hellp' + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + /v2/publishers: + get: + summary: Find all publishers + tags: + - Manage Publishers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + publishers: + type: array + items: + $ref: ./models/publisher.v1.yaml + lastId: + type: integer + pagination: + type: object + properties: + totalCount: + type: integer + perPage: + type: integer + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-publishers + description: |- + Find all publishers + + To find publishers using name,email,company or ids use filters param + - &filters[name]=Demo + - &filters[company]=Test + - &filters[ids][]=31&filters[ids][]=54 + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: lastId + description: Last publisher id + - schema: + type: array + in: query + name: filters + - schema: + type: integer + in: query + name: limit + description: 'Limit the number of records (default: 5000)' + post: + summary: Create a new publisher + operationId: post-v2-publishers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + publisher: + $ref: ./models/publisher.v1.yaml + headers: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Manage Publishers + description: Create a new publisher + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + description: schema to create a publisher + '/v2/publishers/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Find Publisher by ID + tags: + - Manage Publishers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + publisher: + $ref: ./models/publisher.v1.yaml + examples: + example-1: + value: + publisher: + region: + currency: USD + zone: Asia/Kolkata + lang: en + address: D-96 Flat no -112 5th Floor Munirika Village + city: New Delhi + zipcode: '110067' + country: IN + meta: + bank: + name: '' + ifsc: '' + account_no: '' + account_owner: '' + tags: + - top publisher + - demo account + name: test pub + email: support@trackier.com + country: IN + currency: INR + created: '2016-09-19T18:30:00.000Z' + modified: '2019-12-13T05:06:32.406Z' + username: '#PiedPiper' + phone: '8811576958' + login: '2017-10-28T06:27:06.000Z' + login_attempts: 1 + ref_by: 5ed39c0a6e827f70122891b1 + manager_id: 5d25b773b6920d39cf195611 + tier_id: 594400fa17c452060005e362 + status: active + unsubscribe: false + signup_ip: 1.1.1.1 + company: Pied piper + is_demo: false + macro: + source: '{aff_id}' + p1: '{transaction_id}' + p8: '{aff_sub8}' + p9: '{aff_sub9}' + p10: '{aff_sub10}' + hashId: 57c6c75934243d930c8b4581 + id: 2 + whitelistAdv: [] + blockedSources: + - hemant_testing + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: publisher-findById + description: Get a single publisher + parameters: [] + security: + - API Key Param: [] + delete: + summary: Delete a publisher + operationId: publisher-delete + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Publisher Removed! + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Delete a publisher with given ID + parameters: [] + tags: + - Manage Publishers + security: + - API Key Param: [] + post: + summary: Edit a publisher + operationId: publisher-edit + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + publisher: + $ref: ./models/publisher.v1.yaml + examples: + example-1: + value: + publisher: + region: + currency: USD + zone: Asia/Kolkata + lang: en + address: D-96 Flat no -112 5th Floor Munirika Village + city: New Delhi + zipcode: '110067' + country: IN + meta: + bank: + name: '' + ifsc: '' + account_no: '' + account_owner: '' + payout: + paypal: '' + payquicker: '' + payoneer: '' + paytm: alb_magji@hotmail.uk + mobicash: '' + easypaisa: '' + tdomain: [] + tags: + - top publisher + - demo account + name: Pied Piper + email: subhomoy@trackier.com + country: IN + currency: INR + created: '2016-09-19T18:30:00.000Z' + modified: '2019-12-13T05:06:32.406Z' + username: '#PiedPiper' + phone: '8811576958' + login: '2017-10-28T06:27:06.000Z' + login_attempts: 1 + ref_by: 5ed39c2d6e827f70122891b4 + manager_id: 5d25b773b6920d39cf195611 + tier_id: 594400fa17c452060005e362 + status: active + unsubscribe: false + signup_ip: 1.1.1.1 + company: Pied piper + is_demo: false + macro: + source: '{aff_id}' + p1: '{transaction_id}' + p8: '{aff_sub8}' + p9: '{aff_sub9}' + p10: '{aff_sub10}' + hashId: 57c6c75934243d930c8b4581 + id: 2 + whitelistAdv: [] + blockedSources: + - hemant_testing + description: Edit a publisher + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserEdit' + examples: + example-1: + value: + name: himanshu4 + status: active + application/xml: + schema: + type: object + properties: {} + description: Properties to be sent in request + tags: + - Manage Publishers + security: + - API Key Param: [] + '/v2/publishers/{publisherId}/subaccounts': + parameters: + - schema: + type: string + name: publisherId + in: path + description: Publisher ID in numeric or hash id format + required: true + get: + summary: Get All Sub Accounts of Publisher + operationId: get-v2-publisher-subaccount + tags: + - Manage Publishers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + subaccounts: + type: array + items: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + post: + summary: Create Sub Account for Publisher + operationId: post-v2-publisher-subaccount + tags: + - Manage Publishers + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountCreate' + description: Schema To Create a Sub Account For Publisher + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + '/v2/publishers/{publisherId}/subaccounts/{id}': + parameters: + - schema: + type: string + name: publisherId + in: path + description: Publisher ID in numeric or hash id format + required: true + - schema: + type: string + name: id + in: path + description: Sub Account ID in numeric or hash id format + required: true + get: + summary: Find Sub Account of Publisher By Id + operationId: publisher-sub-account-findById + tags: + - Manage Publishers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + post: + summary: Edit Sub Account of Publisher + operationId: publisher-sub-account-edit + tags: + - Manage Publishers + security: + - API Key Param: [] + requestBody: + description: Schema To Edit a Sub Account of Publisher + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountEdit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + delete: + summary: Delete Sub Account of Publisher + operationId: publisher-sub-account-delete + tags: + - Manage Publishers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + '/v2/advertisers/{advertiserId}/subaccounts': + parameters: + - schema: + type: string + name: advertiserId + in: path + description: Advertiser ID in numeric or hash id format + required: true + get: + summary: Get All Sub Accounts of Advertiser + operationId: get-v2-advertiser-subaccount + tags: + - Manage Advertisers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + subaccounts: + type: array + items: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + post: + summary: Create Sub Account for Advertiser + operationId: post-v2-advertiser-subaccount + tags: + - Manage Advertisers + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountCreate' + description: Schema To Create a Sub Account For Advertiser + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + '/v2/advertisers/{advertiserId}/subaccounts/{id}': + parameters: + - schema: + type: string + name: advertiserId + in: path + description: Advertiser ID in numeric or hash id format + required: true + - schema: + type: string + name: id + in: path + description: Sub Account ID in numeric or hash id format + required: true + get: + summary: Find Sub Account of Advertiser By Id + operationId: advertiser-sub-account-findById + tags: + - Manage Advertisers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + post: + summary: Edit Sub Account of Advertiser + operationId: advertiser-sub-account-edit + tags: + - Manage Advertisers + security: + - API Key Param: [] + requestBody: + description: Schema To Edit a Sub Account of Advertiser + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/SubAccountEdit' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + subaccount: + $ref: ./models/subaccount.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + delete: + summary: Delete Sub Account of Advertiser + operationId: advertiser-sub-account-delete + tags: + - Manage Advertisers + security: + - API Key Param: [] + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Sub Account Deleted! + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + /v2/advertisers: + get: + summary: Find All Advertisers + tags: + - Manage Advertisers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + advertisers: + type: array + items: + $ref: ./models/av.v1.yaml + lastId: + type: integer + nullable: true + pagination: + type: object + properties: + totalCount: + type: integer + perPage: + type: integer + examples: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: advertiser-findAll + description: |- + Get 1000 advertisers in a single request then to find the next set of results pass the lastId received in the body + + To find advertiser using name,email,company or ids use filters param + - &filters[name]=Demo + - &filters[company]=Test + - &filters[ids][]=31&filters[ids][]=54 + parameters: + - schema: + type: string + in: query + name: lastId + - schema: + type: array + in: query + name: filters + description: Filters param to apply search filter + - schema: + type: integer + in: query + name: limit + description: 'Limit the number of records (default: 5000)' + security: + - API Key Param: [] + post: + summary: Create an advertiser + operationId: advertiser-create + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + advertiser: + $ref: ./models/av.v1.yaml + examples: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserCreate' + application/xml: + schema: + $ref: '#/components/schemas/UserCreate' + description: '' + description: Create an advertiser + tags: + - Manage Advertisers + security: + - API Key Param: [] + '/v2/advertisers/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Find a single advertiser + tags: + - Manage Advertisers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + advertiser: + $ref: ./models/av.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: advertiser-findOne + description: Get a single advertiser + security: + - API Key Param: [] + post: + summary: Update an Advertiser + operationId: advertiser-edit + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + advertiser: + $ref: ./models/av.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserEdit' + examples: {} + application/xml: + schema: + $ref: '#/components/schemas/UserEdit' + description: '' + description: Edit a single advertiser + tags: + - Manage Advertisers + security: + - API Key Param: [] + delete: + summary: Delete an Advertiser + operationId: advertiser-delete + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + parameters: + - schema: + type: string + in: query + name: '{id}' + description: Delete an advertiser + tags: + - Manage Advertisers + security: + - API Key Param: [] + /v2/login: + post: + summary: Basic Login Endpoint + operationId: login + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + data: + type: object + properties: + key: + type: string + user: + type: object + properties: + id: + type: integer + hashId: + type: string + name: + type: string + email: + type: string + username: + type: string + company: + type: string + created: + type: string + modified: + type: string + type: + type: string + success: + type: boolean + examples: + sample example: + value: + success: true + data: + key: xxxxxxxxxxxxxxxxxxxx + user: + meta: + afields: + testing: '' + country: IN + tags: [] + username: Himanshu Tiwari + name: Himanshu Tiwari + email: mastionmind@gmail.com + region: + currency: INR + lang: en + country: IN + address: '' + state: '' + city: '' + zipcode: '' + unsubscribe: false + is_demo: false + macro: + p1: '{your-transaction-id}' + source: '{your-sub-aff-id}' + status: active + created: '2020-01-07T11:10:09.000Z' + modified: '2020-02-17T11:09:54.243Z' + company: Himanshu Tiwari + hashId: 5e146711b6920d697c4326dc + id: 1302 + whitelistAdv: [] + blockedSources: [] + type: publisher + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Login endpoint + requestBody: + content: + application/json: + schema: + type: object + properties: + email: + type: string + password: + type: string + networkUrl: + type: string + required: + - email + - password + - networkUrl + examples: + basic login example: + value: + password: xxxx + email: xxx@gmail.com + networkUrl: 'http://demo.trackier.com' + tags: + - Network + /v2/campaigns: + get: + summary: Get All Campaigns + tags: + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + campaigns: + type: array + items: + $ref: ./models/campaign.v1.yaml + lastId: + type: integer + nullable: true + required: + - campaigns + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: campaigns-findAll + description: |- + This endpoint will return the campaigns sorted based on the id. The limit of campaigns returned in one request is 1000. Send the lastId query parameter to fetch more campaigns + + To see campaigns for a particular status use the filters query param + + - &filters[status]=active&filters[objective][]=cpa + - &filters[category][]=travel&filters[visibility][]=public&filters[device][]=mobile + - &filters[os][]=android&filters[trafficChannels][]=Channel1 + - &filters[status]=active&advertiser[]=10&orderBy=created&direction=desc + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: lastId + - schema: + type: string + enum: + - created + - title + in: query + name: orderBy + - schema: + type: string + enum: + - asc + - desc + in: query + name: direction + description: 'Sorting Order
    - `asc` - Ascending, from A to Z
    - `desc` - Descending, from Z to A' + - schema: + type: array + items: + type: string + in: query + name: advertiser + description: Advertiser ID in numeric or hash id format + - schema: + type: object + properties: + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + - suspended + geo: + description: Two letter country iso code or ALL + type: array + items: + type: string + objective: + type: array + items: + type: string + enum: + - cpa + - cpl + - cpi + - cps + - cpc + - cpm + category: + description: Catergories name + type: array + items: + type: string + visibility: + type: array + items: + type: string + enum: + - private + - permission + - public + device: + type: array + items: + type: string + enum: + - desktop + - mobile + - tablet + os: + type: array + items: + type: string + enum: + - android + - ios + - windows + - macOs + trafficChannels: + type: array + description: Traffic channels name + items: + type: string + in: query + name: filters + post: + summary: Create Campaign + operationId: campaign-create + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + campaign: + $ref: ./models/campaign.v1.yaml + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + tags: + - Campaigns + description: Create a new campaign + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CampaignCreate' + description: '' + '/v2/campaigns/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign Id - numeric or hash ID + get: + summary: Find Campaign by ID + tags: + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + campaign: + $ref: ./models/campaign.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: campaign-findOne + security: + - API Key Param: [] + description: Find a campaign using id + post: + summary: Edit a campaign + operationId: campaign-updateOne + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + campaign: + $ref: ./models/campaign.v1.yaml + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CampaignEdit' + description: Edit a campaign + delete: + summary: Delete a campaign + operationId: campaign-deleteOne + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + description: Delete a campaign with given id + '/v2/campaigns/{id}/thumbnail': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID (Integer Id or hash ID) + post: + summary: Edit Campaign Thumbnail + operationId: campaign-thumbnail-update + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + image: + type: file + description: jpeg | gif | bmp | png | ico | tif + description: '' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Thumbnail was updated! + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + description: Edit thumbnail in a campaign with given id + delete: + summary: Delete Campaign Thumbnail + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + example: Thumbnail was removed! + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + description: Delete thumbnail in a campaign with given id + '/v2/campaigns/{id}/s2s-tracking': + parameters: + - schema: + type: string + name: id + in: path + required: true + operationId: campaign-thumbnail-update + description: Campaign ID (Integer Id or hash ID) + post: + summary: Edit Campaign S2S Tracking Setting + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + serverSideClicks: + type: integer + x-stoplight: + id: 3kd4gjs022msm + format: int32 + s2sPubSetting: + x-stoplight: + id: 6q0ohw0y3n7lr + enum: + - include + - exclude + s2spubs: + type: array + x-stoplight: + id: 7bzt35hte72ja + description: | + integer id or hash id + items: + x-stoplight: + id: 7xca2iwwkvop4 + type: string + s2sRedirectUrl: + type: string + x-stoplight: + id: 9hsiauc0fylc0 + description: url + required: + - serverSideClicks + - s2sPubSetting + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + description: '' + x-stoplight: + id: adsf21lgqfr50 + '/v2/campaigns/{id}/impression-tracking': + parameters: + - schema: + type: string + name: id + in: path + required: true + operationId: campaign-thumbnail-update + description: Campaign ID (Integer Id or hash ID) + post: + summary: Edit Campaign Impression Tracking Setting + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + allowImp: + x-stoplight: + id: qz7gwngmft8xy + enum: + - 0 + - 1 + enableVta: + x-stoplight: + id: 36yd97q2bqpuw + enum: + - 0 + - 1 + whitelistPubsVta: + type: array + description: | + integer id or hash id + items: + type: string + x-stoplight: + id: 2agsl8zj6x93t + impressionUrl: + type: string + description: url + x-stoplight: + id: brq1o2d4ev5q8 + serverSideImpression: + x-stoplight: + id: 49ei05obwxx2b + enum: + - 0 + - 1 + specificPubs: + x-stoplight: + id: 6u4ub3dj6ut93 + enum: + - include + - exclude + s2sPubs: + type: array + x-stoplight: + id: gzzi1qz1p0l47 + description: integer id or hash id + items: + x-stoplight: + id: bb58hee4b25wg + type: string + description: '' + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + security: + - API Key Param: [] + description: '' + x-stoplight: + id: ortf12dkl390l + /v2/campaigns/timelines: + get: + summary: Get Campaigns Timelines. + tags: + - Timelines + operationId: campaigns-timelines + description: |- + Get Campaigns Timelines for a specified range of date. + + - ?start=2022-09-01&end=2022-12-21&page=1 + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: page + example: 2 + - schema: + type: integer + default: 100 + in: query + name: limit + example: 50 + - schema: + type: string + format: date + in: query + name: start + example: '2022-09-01' + description: Start Date should be in UTC + - schema: + type: string + format: date + in: query + name: end + example: '2022-09-01' + description: End Date should be in UTC + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + default: true + data: + type: object + properties: + changedCampaigns: + type: array + items: + $ref: ./models/campaign-timeline.v1.yaml + page: + type: integer + required: + - page + - changedCampaigns + - data + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + default: false + errors: + type: array + items: + $ref: ./models/error.v1.yaml + '/v2/trackingLink/{campId}/{pubId}': + post: + summary: Generate Tracking Link + operationId: post-v2-trackingLink-campId-pubId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: {} + x-stoplight: + id: 4g5bk7ihgc1i5 + tags: + - Campaigns + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + url: + type: string + x-stoplight: + id: nqe5mzns1v98l + prl: + type: string + x-stoplight: + id: t2g0hhic3qxhe + url_id: + type: string + x-stoplight: + id: xkax8yspotbpg + random_url: + x-stoplight: + id: wza04ij5ymcbp + enum: + - true + description: '' + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: pubId + in: path + required: true + description: Publisher ID + '/v2/campaigns/{id}/caps': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Find Campaign Caps + tags: + - Campaign Caps + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + caps: + type: array + items: + $ref: ./models/cap.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: caps-findAll + description: Find caps for campaign + security: + - API Key Param: [] + post: + summary: Create Campaign Cap + operationId: cap-create + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + cap: + $ref: ./models/cap.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Caps + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Cap' + description: Create cap for a campaign + '/v2/campaigns/{id}/caps/{capId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: capId + in: path + required: true + description: Cap ID + post: + summary: Edit a Cap + operationId: edit-campaign-cap + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + cap: + $ref: ./models/cap.v1.yaml + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: ./models/cap.v1.yaml + description: '' + tags: + - Campaign Caps + - Campaigns + description: Edit a campaign cap + delete: + summary: Delete a Cap + operationId: delete-campaign-cap + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + tags: + - Campaign Caps + description: Delete a campaign cap + '/v2/campaigns/{id}/lps': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: FindAll landing pages + tags: + - Landing Pages + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + landingPages: + type: array + items: + $ref: ./models/landingpage.v1.yaml + operationId: landingpages-findAll + security: + - API Key Param: [] + description: Find all landing pages for a campaign + post: + summary: Create a Landing Page + operationId: landingpage-create + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + landingPage: + $ref: ./models/landingpage.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + tags: + - Landing Pages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LandingPage' + description: '' + description: Create a landing page + '/v2/campaigns/{id}/lps/{lpId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: campaign id + - schema: + type: string + name: lpId + in: path + required: true + description: landing page id + post: + summary: Edit a Landing Page + operationId: edit-landingPage + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + landingPage: + $ref: ./models/landingpage.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Landing Pages + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LandingPage' + description: Edit a landing page + delete: + summary: Delete a Landing Page + operationId: delete-landingPage + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Landing Pages + security: + - API Key Param: [] + description: Delete a landing page + '/v2/campaigns/{id}/payouts': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Get Campaign Payouts + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + payouts: + type: array + items: + $ref: ./models/payout.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-campaigns-id-payouts + security: + - API Key Param: [] + tags: + - Payouts + description: Get campaign payouts + post: + summary: Add new campaign payout + operationId: post-v2-campaigns-id-payouts + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + payout: + $ref: ./models/payout.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Payout' + description: '' + tags: + - Payouts + description: Add a new campaign payout + '/v2/campaigns/{id}/payouts/{payoutId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: payoutId + in: path + required: true + description: Payout ID + post: + summary: Edit a payout + operationId: post-v2-campaigns-id-payouts-payoutId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + payout: + $ref: ./models/payout.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Payout' + tags: + - Payouts + description: Edit a campaign payout + delete: + summary: Delete a payout + operationId: delete-v2-campaigns-id-payouts-payoutId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + security: + - API Key Param: [] + tags: + - Payouts + description: Delete a campaign payout + '/v2/campaigns/{id}/goals': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Get Campaign Goals + tags: + - Campaign Goal + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + goals: + type: array + items: + $ref: ./models/goal.v1.yaml + operationId: get-v2-campaigns-id-goals + security: + - API Key Param: [] + description: Get goals for a campaign + post: + summary: Create Campaign Goal + operationId: post-v2-campaigns-id-goals + responses: + '200': + description: OK + tags: + - Campaign Goal + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoalCreate' + examples: {} + security: + - API Key Param: [] + description: Create goal for a campaign goal + '/v2/campaigns/{id}/goals/{goalId}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + - schema: + type: string + name: goalId + in: path + required: true + description: Goal ID + post: + summary: Edit Campaign Goal + operationId: post-v2-campaigns-id-goals-goalId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + message: + type: string + goals: + type: array + items: + $ref: ./models/goal.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Goal + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GoalEdit' + description: Edit campaign goal + delete: + summary: Delete a campaign goal + operationId: delete-v2-campaigns-id-goals-goalId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: '' + security: + - API Key Param: [] + tags: + - Campaign Goal + description: Delete a campaign goal + '/v2/campaigns/{campaignId}/postback-settings': + parameters: + - schema: + type: string + name: campaignId + in: path + required: true + description: Campaign ID + post: + summary: Edit Campaign PostBack Setting + operationId: edit-campaign-postback-setting + tags: + - Campaigns + security: + - API Key Param: [] + requestBody: + description: 'Note: Array of BlacklistPostbackPubs and WhitelistPostbackPubs Will Replace The Old Values' + content: + application/json: + schema: + type: object + properties: + goals: + type: array + items: + type: object + properties: + goalId: + type: string + enum: + - default + - Goal Hash Id + blacklistPostbackPubs: + oneOf: + - type: array + items: + type: number + - type: array + items: + type: string + enum: + - all + description: ID's of Publisher + whitelistPostbackPubs: + type: array + items: + type: number + description: ID's of Publisher + example: + - goalId: default + blacklistPostbackPubs: + - 13 + - 14 + whitelistPostbackPubs: + - 14 + - 15 + - goalId: 5f0be9f461770401a87a0016 + blacklistPostbackPubs: + - 13 + - 14 + whitelistPostbackPubs: + - 14 + - 15 + - goalId: 6202bcd5f42a00036d1e0755 + blacklistPostbackPubs: + - all + whitelistPostbackPubs: + - 14 + - 15 + description: Edit Campaign PostBack Setting + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + sucess: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + /v2/campaigns/categories: + get: + summary: Get all campaigns categories + tags: + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + categories: + type: array + items: + $ref: ./models/category.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + /v2/campaigns/status: + post: + summary: Bulk Campaign Status Change + operationId: post-v2-campaigns-status + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + description: Use this endpoint to change the status of multiple campaigns in one request + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + campaignIds: + type: array + items: + oneOf: + - type: integer + - type: string + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + required: + - campaignIds + - status + /v2/campaigns/bulkEdit: + post: + summary: Bulk Campaign Edit + operationId: post-v2-bulk-campaign-edit + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + tags: + - Campaigns + description: 'Use this endpoint to change the status, visibility and currency of multiple campaigns in one request' + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + campaignIds: + type: array + items: + oneOf: + - type: integer + - type: string + fields: + type: object + properties: + status: + type: string + enum: + - active + - pending + - paused + - disabled + - expired + vis: + type: string + enum: + - public + - private + - permission + currency: + type: string + description: 3 Letter Currency Code + required: + - campaignIds + - fields + /v2/invoices: + get: + summary: Get Invoices List + tags: + - Invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + invoices: + type: array + items: + $ref: ./models/invoices.v1.yaml + parameters: + - schema: + type: string + name: start + in: query + required: true + description: Start Date (YYYY-MM-DD) + - schema: + type: string + name: end + in: query + required: true + description: End Date (YYYY-MM-DD) + - schema: + type: string + enum: + - publisher + - advertiser + name: utype + in: query + required: true + description: User Type + operationId: get-v2-invoices-list + security: + - API Key Param: [] + description: Get Invoices list for publisher or advertiser. + post: + summary: Create Invoice + operationId: post-v2-invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: string + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Invoices + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/InvoicesCreate' + security: + - API Key Param: [] + description: Create invoices for advertiser or publisher + '/v2/invoices/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Get Invoice By ID + tags: + - Invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + data: + type: object + properties: + invoice: + $ref: '' + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-invoice-id + description: Get Invoice by ID + security: + - API Key Param: [] + delete: + summary: Delete Invoice + operationId: delete-v2-invoice-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Delete Invoice by ID + security: + - API Key Param: [] + tags: + - Invoices + /v2/invoices/preview: + parameters: + - schema: + type: string + name: user_id + in: query + required: true + description: User hash ID + - schema: + type: string + name: start + in: query + required: true + description: Start Date (YYYY-MM-DD) + - schema: + type: string + name: end + in: query + required: true + description: End Date (YYYY-MM-DD) + - schema: + type: string + enum: + - campaign + - date_wise + - month_wise + name: prefType + in: query + required: true + description: Preference Type + - schema: + type: string + enum: + - INR + - USD + - ... + name: invCurrency + in: query + required: true + description: Invoice Currency + - schema: + type: boolean + name: skipZeroPayouts + in: query + description: Skip Zero Payouts + - schema: + type: string + name: payoutField + in: query + description: Custom Payout Field Name + get: + summary: Get Invoice Preview + tags: + - Invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + data: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-invoice-preview + description: Get Invoice Preview + security: + - API Key Param: [] + '/v2/publishers/{id}/transactions': + get: + summary: Transactions & Payments + tags: + - Invoices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + transactions: + type: array + items: + $ref: ./models/transaction.yaml + payments: + type: array + items: + $ref: ./models/payment.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-transactions-&-payments + description: Get Invoice Preview + security: + - API Key Param: [] + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Publisher ID + /v2/signupfields/publisher: + get: + summary: Publisher Signup Questions + tags: + - Manage Publishers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + fields: + type: array + items: + type: object + properties: + options: + type: array + items: + type: string + label: + type: string + type: + type: string + name: + type: string + required: + type: boolean + id: + type: string + hide: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-signupfields-publisher + description: Get custom signup question fields for publisher + security: + - API Key Param: [] + /v2/signupfields/advertiser: + get: + summary: Advertiser SignUp Questions + tags: + - Manage Advertisers + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + fields: + type: array + items: + type: object + properties: + options: + type: array + items: + type: string + label: + type: string + type: + type: string + name: + type: string + required: + type: boolean + id: + type: string + hide: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-signupfields-advertiser + description: Get custom signup question fields for advertiser + security: + - API Key Param: [] + /v2/campaigns/access: + get: + summary: Find Campaign Access + tags: + - Campaigns + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + accessList: + type: array + items: + type: object + properties: + _id: + type: string + type: + type: string + enum: + - private + - permission + created: + type: string + campaign: + type: object + properties: + title: + type: string + status: + type: string + hashId: + type: string + id: + type: integer + publisher: + type: object + properties: + name: + type: string + company: + type: string + hashId: + type: string + id: + type: integer + campaignId: + type: string + publisherId: + type: string + status: + type: string + enum: + - approved + - pending + - denied + pagination: + $ref: '#/components/schemas/Pagination' + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-campaigns-access + description: |- + Find private and permission required campaigns access list + + To see data for particular campaign or publishers use the filters query param like + + - &filters[campaignIds][]=34&filters[campaignIds][]=43 + - &filters[publisherIds][]=28 + - &filters[accessStatus]=pending + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: filters + description: Apply filters to see data for particular campaign or publishers + post: + summary: Update Campaign Access + operationId: post-v2-campaigns-access + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Bulk assign or remove publisher access to private or permission required campaigns + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + campaign_ids: + type: array + items: + type: integer + publisher_ids: + type: array + items: + type: integer + type: + type: string + enum: + - assign + - remove + - block + - unblock + required: + - campaign_ids + - publisher_ids + - type + examples: + example-1: + value: + campaign_ids: + - 1 + - 2 + publisher_ids: + - 5 + - 6 + type: assign + description: Body contains array of campaign ids and publisher ids + tags: + - Campaigns + /v2/network/notifications: + get: + summary: Get Notifications + tags: + - Network + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + notifications: + type: array + items: + $ref: ./models/notification.v1.yaml + pagination: + $ref: '#/components/schemas/Pagination' + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-notificatoins + description: Get Network notifications + security: + - API Key Param: [] + parameters: + - schema: + type: string + in: query + name: start + description: Start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: End date in YYYY-MM-DD format + - schema: + type: integer + in: query + name: limit + description: Limit of records per page + - schema: + type: integer + in: query + name: page + description: Page number for pagination + parameters: [] + /v2/conversions/bulkUpload: + post: + summary: Bulk Conversion Upload + tags: + - Network + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + job: + type: object + properties: + _id: + type: string + org_id: + type: string + user_id: + type: string + status: + type: string + result: + type: object + properties: + rows: + type: string + type: + type: string + created: + type: string + __v: + type: integer + id: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Upload Bulk Conversion + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + $ref: '#/components/schemas/BulkConversionUpload' + /v2/editConv: + post: + summary: Conversion Status Change + tags: + - Network + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: |- + This endpoint should be used to change the status of conversion most which is a general use case for ecommerce or brands. + Either id, click_id or txn_id + date is required to update a conversion. + security: + - API Key Param: [] + requestBody: + content: {} + x-stoplight: + id: ag9jc94dh7bvf + parameters: + - schema: + type: string + in: query + name: id + description: Trackier's Conversion ID + - schema: + type: string + in: query + name: click_id + description: Trackier's Click ID + - schema: + type: string + in: query + name: txn_id + description: Trackier's Transaction ID + - schema: + type: string + enum: + - approved + - pending + - cancelled + - rejected + in: query + name: status + description: Status of conversion + required: true + - schema: + type: string + in: query + name: date + description: Date of conversion + operationId: '' + parameters: [] + /v2/jobs: + get: + summary: Find All Jobs + tags: + - Network + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + jobs: + type: array + items: + $ref: ./models/job.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all jobs + security: + - API Key Param: [] + '/v2/jobs/:id': + get: + summary: Find Job By Id + tags: + - Network + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + job: + $ref: ./models/job.v1.yaml + log: + type: array + items: + type: object + properties: + message: + type: string + created: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch job + security: + - API Key Param: [] + '/v2/advertisers/{advertiser_id}/caps': + get: + summary: Find All Advertiser Caps + operationId: get-v2-advertiser-caps + responses: + '200': + description: OK + content: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Advertiser's Caps + security: + - API Key Param: [] + x-stoplight: + id: 8mn5dmjab7mpk + tags: + - Advertiser Caps + post: + summary: Create Advertiser Cap + operationId: post-v2-create-advertiser-cap + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create a new advertiser's cap. + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + enum: + - conversions + - approvedConv + - revenue + - gross + pubCapType: + x-stoplight: + id: t1uhyrwtmd7zy + default: group + enum: + - each + - group + publishers: + type: array + items: + type: string + x-stoplight: + id: 732h3xv06xh66 + geo: + type: array + x-stoplight: + id: visncovx5q7kd + description: '[''ALL'']' + items: + x-stoplight: + id: 05dycjh97wo2m + type: string + example: '[''ALL'']' + daily: + type: integer + x-stoplight: + id: pxh859ggin5kf + format: int32 + monthly: + type: integer + x-stoplight: + id: dppbygatl58q5 + format: int32 + lifetime: + type: integer + x-stoplight: + id: 6ju2c66q09xqy + format: int32 + required: + - type + description: '' + x-stoplight: + id: 1emvcc7f9t8x1 + tags: + - Advertiser Caps + parameters: + - schema: + type: string + name: advertiser_id + in: path + required: true + description: Advertiser's Id + '/v2/advertisers/{advertiser_id}/caps/{cap_id}': + parameters: + - schema: + type: string + name: advertiser_id + in: path + required: true + description: Advertiser's Id + - schema: + type: string + name: cap_id + in: path + required: true + description: Cap's Id + get: + summary: Find an Advertiser Cap + operationId: get-v2-advertiser-cap + responses: + '200': + description: OK + content: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch an advertiser's particular cap. + security: + - API Key Param: [] + x-stoplight: + id: gn291pj7qu8py + tags: + - Advertiser Caps + post: + summary: Edit Advertiser Cap + operationId: post-v2-edit-advertiser-cap-cap + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to update an advertiser's cap. + tags: + - Advertiser Caps + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + type: + type: string + enum: + - conversions + - approvedConv + - revenue + - gross + pubCapType: + x-stoplight: + id: ajxn53wwitxeo + enum: + - each + - group + publishers: + type: array + items: + type: string + x-stoplight: + id: 0ng86e5p177kn + geo: + type: array + x-stoplight: + id: 7ljv5kj9bxzs2 + description: '[''ALL'']' + items: + x-stoplight: + id: y5dnefpsvkwe7 + type: string + example: '[''ALL'']' + daily: + type: integer + x-stoplight: + id: h8wei2fxex8c1 + format: int32 + monthly: + type: integer + x-stoplight: + id: d4hb385kycfdq + format: int32 + lifetime: + type: integer + x-stoplight: + id: snybjr415dsk5 + format: int32 + description: '' + x-stoplight: + id: ge4medo2g3hi6 + delete: + summary: Delete Advertiser Cap + operationId: delete-v2-advertiser-cap + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + x-stoplight: + id: 6lci0xp2amnyg + description: Use this endpoint to delete an adevrtiser's cap. + security: + - API Key Param: [] + tags: + - Advertiser Caps + /v2/accounts: + get: + summary: Find All Team Members + operationId: get-v2-team-members + responses: + '200': + description: OK + content: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Team Members. + security: + - API Key Param: [] + x-stoplight: + id: 8028ah65c4a0b + tags: + - Team Members + post: + summary: Add Team Member + operationId: post-v2-add-team-member + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to add team member. + tags: + - Team Members + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + x-stoplight: + id: s7opu29c3gpza + email: + x-stoplight: + id: bv6g04lz4slki + type: string + type: + type: string + status: + enum: + - active + - inactive + required: + - name + - email + - type + - status + description: '' + x-stoplight: + id: yx5h6qgkn6e4a + parameters: [] + '/v2/accounts/{account_id}': + get: + summary: Find Team Member + operationId: get-v2-team-member + responses: + '200': + description: OK + content: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch a Team Member. + security: + - API Key Param: [] + tags: + - Team Members + x-stoplight: + id: d4ztqwsoomrf7 + post: + summary: Edit Team Member + operationId: post-v2-edit-team-member + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to edit team member. + tags: + - Team Members + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + email: + type: string + type: + type: string + status: + enum: + - active + - inactive + description: '' + x-stoplight: + id: b9j6318zuk8hp + parameters: + - schema: + type: string + name: account_id + in: path + required: true + description: Account Id + /v2/postback: + get: + summary: Get All Postbacks + tags: + - Manage Postbacks + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + data: + type: object + properties: + postbacks: + type: array + items: + $ref: ./models/postback.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-postback + description: Find all publishers postback + security: + - API Key Param: [] + parameters: + - schema: + type: number + in: query + name: page + description: '' + - schema: + type: number + in: query + name: limit + description: Limit number of records to fetch + post: + summary: Create Postback + operationId: post-v2-postback + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + examples: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: string + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Add publisher Postback + security: + - API Key Param: [] + tags: + - Manage Postbacks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PostbackCreate' + '/v2/postback/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + get: + summary: Get Postback by ID + tags: + - Manage Postbacks + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-postback-id + description: Get Postback by ID + security: + - API Key Param: [] + patch: + summary: Update Postback + operationId: patch-v2-postback-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Update Postback + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PostbackEdit' + description: '' + tags: + - Manage Postbacks + delete: + summary: Delete Postback + operationId: delete-v2-postback-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Delete Postback by ID + security: + - API Key Param: [] + tags: + - Manage Postbacks + /v2/smart-link: + post: + summary: Create Smartlink + operationId: post-v2-smartlink + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + data: + type: object + properties: + postback: + $ref: ./models/postback.v1.yaml + examples: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: string + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Add publisher Smartlink + security: + - API Key Param: [] + tags: + - Manage Smartlinks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartlinkCreate' + get: + summary: Get All Smartlinks + tags: + - Manage Smartlinks + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + smartlink: + type: array + $ref: ./models/smartlink.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-smartlink + description: Find all smartlinks + security: + - API Key Param: [] + parameters: + - schema: + type: number + in: query + name: page + description: '' + - schema: + type: number + in: query + name: limit + description: Limit number of records to fetch + '/v2/smart-link/{id}': + delete: + summary: Delete smartlink by id + operationId: delete-v2-smartlink-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: This smartlink by id + security: + - API Key Param: [] + tags: + - Manage Smartlinks + x-stoplight: + id: 7tplq86eeaxtz + post: + summary: Edit Smartlink by Id + operationId: post-v2-smartlink-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + smartlink: + $ref: ./models/smartlink.v1.yaml + description: Use this endpoint to update the smartlinks + tags: + - Manage Smartlinks + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SmartlinkEdit' + x-stoplight: + id: 8d66x0sb7acta + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Smart link ID + /v2/reports/campaign: + get: + summary: Campaign Report + tags: + - Reports + description: |- + Campaign Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-campaign + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/publisher: + get: + summary: Publisher Report + tags: + - Reports + description: |- + Publisher Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + publisher: + type: string + publisher_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - publisher: test + publisher_id: 21 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-publisher + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/advertiser: + get: + summary: Advertiser Report + tags: + - Reports + description: |- + Advertiser Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + advertiser: + type: string + advertiser_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - advertiser: demo + advertiser_id: 3 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-advertiser + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/daily: + get: + summary: Daily Report + tags: + - Reports + description: |- + Daily Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + created: + type: string + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - created: '2020-10-20' + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-daily + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/goal: + get: + summary: Goal Report + tags: + - Reports + description: |- + Goal Report + + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the KPI in response add the kpi in query paramters like this: + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + goal_name: + type: string + goal_id: + type: string + nullable: true + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 35 + goal_name: Default + goal_id: null + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-goal + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/custom: + get: + summary: Custom Report + tags: + - Reports + description: |- + Custom Report + + If you want to view custom report apart from the standard report use this endpoint you need to send group parameter in the query + + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the report grouping or kpi: + - &group[]=campaign_id&group[]=publisher_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-custom + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, aff_manager, source, advertiser, advertiser_id, adv_manager, goal_name, goal_id, ref_camp, ref_camp_id, rlo_id, lp_title, lp_id, os, country, hour, created, month, sl_name, sl_id' + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/subid: + get: + summary: SUBID Report + tags: + - Reports + description: |- + SUBID Report + + If you want to view subId report apart from the standard report use this endpoint you need to send group parameter in the query + + Default Grouping: campaign_name, campaign_id + Default KPI in response: clicks, approvedConversions, payout, revenue, profit + + To update the report grouping or kpi: + - &group[]=campaign_id&group[]=publisher_id + - List of grouping parameters can be found below + - &kpi[]=clicks&kpi[]=rejectedClicks&kpi[]=grossClicks + - List of KPI can be found in query parameter section below + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + currency: + type: string + clicks: + type: integer + approvedConversions: + type: integer + payout: + type: number + revenue: + type: number + profit: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + clicks: 1 + approvedConversions: 8 + payout: 2 + revenue: 4 + profit: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-subid + security: + - API Key Param: [] + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, campaign_status, campaign_geo, objective, publisher, publisher_id, publisher_long_id, source, advertiser, advertiser_id, goal_name, goal_id, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month, p2, p3, p4, p5, p6, p7, p8, p9, p10, os, city, region, isp, conn, app_name, app_id ,cr_name' + - schema: + type: array + in: query + name: kpi + description: 'Allowed KPIs: uniqueClicks, rejectedClicks, clicks, grossClicks, approvedConversions, pendingConversions, cancelledConversions, rejectedConversions, extConversions, grossConversions, cr, impressions, campaign_payout, campaign_revenue, payout, revenue, profit, saleAmount, pendingPayout, pendingSaleAmount, extPayout, extSaleAmount, extRevenue, cancelledRevenue, rejectedRevenue, grossRevenue, grossProfit, grossSaleAmount, epc, ctr' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/reports/clicks: + get: + summary: Clicks Report + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + examples: + sample-click-report: + value: + clicks: + - id: 6201b350f2960303437bbfb2 + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bf747d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.183.154.148 + country: TR + region: Ankara + city: Aksemsettin mah. + isp: Turk Telekom + device: mobile + browser: Chrome 81 + os: Android 11.0 + user_agent: Mozilla/5.0 (Linux; Android 11.0.0; LG G PRO 2 Build/F350K) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b34a5b427c000108e29c + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-08 00:03:28' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 39.9 + long: 32.94 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + - id: 6201b3792d8ef6035766a19c + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bfe47d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.189.86.36 + country: TR + region: Izmir + city: Camdibi + isp: Turk Telekom + device: mobile + browser: Safari 10 + os: iOS 10.1 + user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML like Gecko) Version/10.0 Mobile/14B72 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b376808bd40001959394 + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-09 00:04:09' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 38.44 + long: 27.17 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + pagination: + perPage: 100 + nextPageToken: eyJsYXN0VHMiOiIyMDIyLTAyLTA5IDAwOjA0OjA5IiwicGFnZVRva2VuX3NraXAiOjJ9 + hasNextPage: true + application/xml: + schema: + type: object + x-examples: + Example 1: + clicks: + - id: 6201b350f2960303437bbfb2 + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bf747d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.183.154.148 + country: TR + region: Ankara + city: Aksemsettin mah. + isp: Turk Telekom + device: mobile + browser: Chrome 81 + os: Android 11.0 + user_agent: Mozilla/5.0 (Linux; Android 11.0.0; LG G PRO 2 Build/F350K) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b34a5b427c000108e29c + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-08 00:03:28' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 39.9 + long: 32.94 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + - id: 6201b3792d8ef6035766a19c + org_id: 58d24f4d17c4520e59658aba + campaign_long_id: 5ff8479d57b90d5907548486 + publisher_long_id: 5df22a4db6920d5c773640a6 + advetiser_long_id: 61d58eedfa2bfe47d260358f + landing_page_long_id: null + source: '570_92_' + ipaddr: 78.189.86.36 + country: TR + region: Izmir + city: Camdibi + isp: Turk Telekom + device: mobile + browser: Safari 10 + os: iOS 10.1 + user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML like Gecko) Version/10.0 Mobile/14B72 + referer: null + is_bot: 1 + is_unique: 0 + p1: 6201b376808bd40001959394 + p2: null + p3: null + p4: null + p5: null + p6: null + p7: null + p8: null + p9: null + p10: null + created: '2022-02-09 00:04:09' + note: null + referrer_campaign: null + gaid: null + idfa: null + app_id: null + app_name: null + android_id: null + curr: null + creative_name: null + smart_link: null + payout: 0 + revenue: 0 + is_rejected: 0 + brand: null + conn: Cable/DSL + lat: 38.44 + long: 27.17 + pub_impression_id: null + rr: null + device_lang: tr + pub_campaign_id: null + sub_source: null + click_domain: null + release_order_id: null + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 121 + advertiser_name: AccessTrade + landing_page_id: null + landing_page_name: Default + pagination: + perPage: 100 + nextPageToken: eyJsYXN0VHMiOiIyMDIyLTAyLTA5IDAwOjA0OjA5IiwicGFnZVRva2VuX3NraXAiOjJ9 + hasNextPage: true + properties: + clicks: + type: array + items: + $ref: ./models/Click.yaml + pagination: + type: object + properties: + perPage: + type: integer + nextPageToken: + type: string + hasNextPage: + type: boolean + examples: + Example 1: + value: |- + { + "clicks": [ + { + "id": "6201b350f2960303437bbfb2", + "org_id": "58d24f4d17c4520e59658aba", + "campaign_long_id": "5ff8479d57b90d5907548486", + "publisher_long_id": "5df22a4db6920d5c773640a6", + "advetiser_long_id": "61d58eedfa2bf747d260358f", + "landing_page_long_id": null, + "source": "570_92_", + "ipaddr": "78.183.154.148", + "country": "TR", + "region": "Ankara", + "city": "Aksemsettin mah.", + "isp": "Turk Telekom", + "device": "mobile", + "browser": "Chrome 81", + "os": "Android 11.0", + "user_agent": "Mozilla/5.0 (Linux; Android 11.0.0; LG G PRO 2 Build/F350K) AppleWebKit/537.36 (KHTML like Gecko) Chrome/81.0.4044.138 Mobile Safari/537.36", + "referer": null, + "is_bot": 1, + "is_unique": 0, + "p1": "6201b34a5b427c000108e29c", + "p2": null, + "p3": null, + "p4": null, + "p5": null, + "p6": null, + "p7": null, + "p8": null, + "p9": null, + "p10": null, + "created": "2022-02-08 00:03:28", + "note": null, + "referrer_campaign": null, + "gaid": null, + "idfa": null, + "app_id": null, + "app_name": null, + "android_id": null, + "curr": null, + "creative_name": null, + "smart_link": null, + "payout": 0, + "revenue": 0, + "is_rejected": 0, + "brand": null, + "conn": "Cable/DSL", + "lat": 39.9, + "long": 32.94, + "pub_impression_id": null, + "rr": null, + "device_lang": "tr", + "pub_campaign_id": null, + "sub_source": null, + "click_domain": null, + "release_order_id": null, + "campaign_id": 21812, + "campaign_name": "testing coupon code", + "publisher_id": 2, + "publisher_name": "Pied Piper", + "advertiser_id": 121, + "advertiser_name": "AccessTrade", + "landing_page_id": null, + "landing_page_name": "Default" + }, + { + "id": "6201b3792d8ef6035766a19c", + "org_id": "58d24f4d17c4520e59658aba", + "campaign_long_id": "5ff8479d57b90d5907548486", + "publisher_long_id": "5df22a4db6920d5c773640a6", + "advetiser_long_id": "61d58eedfa2bfe47d260358f", + "landing_page_long_id": null, + "source": "570_92_", + "ipaddr": "78.189.86.36", + "country": "TR", + "region": "Izmir", + "city": "Camdibi", + "isp": "Turk Telekom", + "device": "mobile", + "browser": "Safari 10", + "os": "iOS 10.1", + "user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 10_1 like Mac OS X) AppleWebKit/602.2.14 (KHTML like Gecko) Version/10.0 Mobile/14B72", + "referer": null, + "is_bot": 1, + "is_unique": 0, + "p1": "6201b376808bd40001959394", + "p2": null, + "p3": null, + "p4": null, + "p5": null, + "p6": null, + "p7": null, + "p8": null, + "p9": null, + "p10": null, + "created": "2022-02-09 00:04:09", + "note": null, + "referrer_campaign": null, + "gaid": null, + "idfa": null, + "app_id": null, + "app_name": null, + "android_id": null, + "curr": null, + "creative_name": null, + "smart_link": null, + "payout": 0, + "revenue": 0, + "is_rejected": 0, + "brand": null, + "conn": "Cable/DSL", + "lat": 38.44, + "long": 27.17, + "pub_impression_id": null, + "rr": null, + "device_lang": "tr", + "pub_campaign_id": null, + "sub_source": null, + "click_domain": null, + "release_order_id": null, + "campaign_id": 21812, + "campaign_name": "testing coupon code", + "publisher_id": 2, + "publisher_name": "Pied Piper", + "advertiser_id": 121, + "advertiser_name": "AccessTrade", + "landing_page_id": null, + "landing_page_name": "Default" + } + ], + "pagination": { + "perPage": 100 + }, + "nextPageToken": "eyJsYXN0VHMiOiIyMDIyLTAyLTA5IDAwOjA0OjA5IiwicGFnZVRva2VuX3NraXAiOjJ9", + "hasNextPage": true + } + multipart/form-data: + schema: + type: object + properties: + clicks: + type: array + x-stoplight: + id: k7c4cqm9psxh1 + items: + $ref: ./models/Click.yaml + examples: + Example 1: + value: + clicks: + - id: string + org_id: string + campaign_long_id: string + publisher_long_id: string + advertiser_long_id: string + landing_page_long_id: string + source: string + ipaddr: string + country: string + region: string + city: string + isp: string + device: string + browser: string + os: string + user_agent: string + referrer: string + is_unique: 0 + p1: string + p2: string + p3: string + p4: string + p5: string + p6: string + p7: string + p8: string + p9: string + p10: string + created: '2019-08-24T14:15:22Z' + note: string + referrer_campaign: string + gaid: string + idfa: string + app_id: string + app_name: string + creative_name: string + payout: 0 + revenue: 0 + curr: string + is_rejected: 0 + brand: string + conn: string + lat: 0 + long: 0 + device_lang: string + click_domain: string + campaign_id: 0 + campaign_name: string + publisher_id: 0 + publisher_name: string + advertiser_id: 0 + advertiser_name: string + landing_page_id: string + landing_page_name: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-report-clicks + description: |- + This api returns the clicks logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=pid + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 5000' + - schema: + type: boolean + in: query + name: hasNextPage + description: if next page true else false + - schema: + type: string + in: query + name: pageToken + description: Provided in api for accessing next page + - schema: + type: array + in: query + name: fields + description: 'Allowed Fields parameters: id, source, ipaddr, ua, os, is_rejected, is_unique, is_bot, city, region, isp, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, note, ro, gaid, idfa, app_id, app_name, android_id, creative_name, smart_link, payout, revenue, brand, conn, lat, long, pub_impression_id, device_lang, pub_campaign_id, sub_source, click_domain, release_order_id, country, browser, referer, device, created, campaign_id, campaign_long_id, campaign_name, publisher_id, publisher_long_id, publisher_name, advertiser_name, advertiser_id, landing_page_name, landing_page_id, landing_page_long_id' + - schema: + type: string + in: query + name: start + description: 'Start date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' + - schema: + type: string + in: query + name: end + description: 'End date in YYYY-MM-DD HH:mm:ss or YYYY-MM-DD' + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' + /v2/reports/fraud: + get: + summary: Fraud Report + tags: + - Reports + description: Fraud Report + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + records: + type: array + items: + type: object + properties: + campaign_name: + type: string + campaign_id: + type: integer + publisher_id: + type: integer + advertiser_id: + type: integer + ro: + type: integer + goal_id: + type: integer + sl: + type: string + url_id: + type: integer + country: + type: string + os: + type: string + hour: + type: number + rejectedConversions: + type: integer + grossConversions: + type: integer + payout: + type: number + revenue: + type: number + examples: + example-1: + value: + records: + - campaign_name: test + campaign_id: 21585 + currency: USD + rejectedConversions: 1 + grossConversions: 8 + payout: 2 + revenue: 4 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + $ref: ./models/error.v1.yaml + operationId: get-v2-reports-fraud + parameters: + - schema: + type: array + in: query + name: group + description: 'Allowed Group parameters: campaign_name, campaign_id, campaign_long_id, external_offer_id, publisher, publisher_id, publisher_long_id, advertiser, advertiser_id, advertiser_long_id, goal_name, goal_id, sl, ref_camp, ref_camp_id, lp_title, lp_id, os, country, hour, created, month' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for a particular campaign add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + - schema: + type: array + in: query + name: adv_ids + - schema: + type: string + in: query + name: start + description: Report start date in YYYY-MM-DD format + - schema: + type: string + in: query + name: end + description: Report end date in YYYY-MM-DD format + /v2/network/conversions: + get: + summary: Conversion Report Logs + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + conversions: + type: array + items: + $ref: ./models/Conversion.yaml + pagination: + type: object + properties: + perPage: + type: integer + currentPage: + type: integer + total: + type: integer + columns: + type: object + properties: + id: + type: string + click_id: + type: string + source: + type: string + elapsed_time: + type: string + click_time: + type: string + method: + type: string + ipaddr: + type: string + click_ip: + type: string + city: + type: string + region: + type: string + isp: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + sub1: + type: string + sub2: + type: string + sub3: + type: string + sub4: + type: string + sub5: + type: string + sub6: + type: string + sub7: + type: string + sub8: + type: string + sub9: + type: string + sub10: + type: string + os: + type: string + txn_id: + type: string + device_id: + type: string + note: + type: string + referer: + type: string + click_ref: + type: string + currency: + type: string + payout: + type: string + revenue: + type: string + sale: + type: string + gaid: + type: string + idfa: + type: string + app_id: + type: string + app_name: + type: string + android_id: + type: string + cr_name: + type: string + sl: + type: string + brand: + type: string + conn: + type: string + click_ua: + type: string + lat: + type: string + long: + type: string + country: + type: string + browser: + type: string + device: + type: string + created: + type: string + status: + type: string + advertiser_id: + type: string + advertiser_long_id: + type: string + advertiser_name: + type: string + advertiser_manager_id: + type: string + advertiser_manager_name: + type: string + publisher_id: + type: string + publisher_long_id: + type: string + publisher_name: + type: string + publisher_company: + type: string + publisher_manager_id: + type: string + publisher_manager_name: + type: string + campaign_id: + type: string + campaign_long_id: + type: string + campaign_name: + type: string + external_offer_id: + type: string + goal_id: + type: string + goal_name: + type: string + goal_value: + type: string + url_id: + type: string + url_long_id: + type: string + url_title: + type: string + coupon: + type: string + dl: + type: string + vta: + type: string + user_id: + type: string + examples: + sample-conversion-log-resp: + value: + conversions: + - id: 5fc776b022098a06b16fdd4d + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:12:48.000Z' + - id: 5fc77751b7dfd906ba282960 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:15:29.000Z' + - id: 5fc7765222098a06b16fd357 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:11:14.000Z' + - id: 5fc776a25f66d106a418a51b + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:12:34.000Z' + - id: 5fc77aef5f66d106a4191a5f + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:30:55.000Z' + - id: 5fc777d9b7dfd906ba2837c9 + click_id: 5fc775b41c37da0490305cd4 + campaign_id: 21607 + campaign_name: Test extra + publisher_id: 2 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: Default + url_id: null + url_title: Default + currency: INR + payout: 0 + revenue: 0 + sale: 0 + status: approved + click_time: '2020-12-02T11:08:36.000Z' + created: '2020-12-02T11:17:45.000Z' + - id: 5fd9c27530c60e07404dd402 + click_id: 5fd9ad3df29e1a282b6e5a58 + campaign_id: 16 + campaign_name: Traffic Arbitrage Book 2 + publisher_id: 31 + publisher_name: account + advertiser_id: 3 + advertiser_name: Demo Advertiser + goal_id: '' + goal_name: CPA + url_id: null + url_title: Default + currency: USD + payout: 5.5 + revenue: 1.5 + sale: 0 + status: pending + click_time: '2020-12-16T06:46:21.000Z' + created: '2020-12-16T08:16:53.000Z' + modified: '2020-12-16T08:17:30.000Z' + columns: + id: Conversion ID + click_id: Click ID + source: Source + elapsed_time: Click to Conversion Time + click_time: Click Time + method: Conversion Method + ipaddr: Conversion IP + click_ip: Click IP + city: City + region: Region + isp: Carrier (ISP) + p1: P1 + p2: P2 + p3: P3 + p4: P4 + p5: P5 + p6: P6 + p7: P7 + p8: P8 + p9: P9 + p10: P10 + sub1: SUB1 + sub2: SUB2 + sub3: SUB3 + sub4: SUB4 + sub5: SUB5 + sub6: SUB6 + sub7: SUB7 + sub8: SUB8 + sub9: SUB9 + sub10: SUB10 + os: Operating System (OS) + txn_id: Txn ID + device_id: Device ID + note: Note + referer: Pixel Referer + click_ref: Click Referer + currency: Currency + payout: Payout + revenue: Revenue + sale: Sale Amount + gaid: GAID + idfa: IDFA + app_id: App ID + app_name: App Name + android_id: Android ID + cr_name: Creative Name + sl: Smart Link ID + brand: Device Brand + conn: Connection Type + click_ua: Click User Agent + lat: Latitude + long: Longitude + country: Country (GEO) + browser: Browser + device: Device + created: Created + status: Status + advertiser_id: Advertiser ID + advertiser_long_id: Advertiser Long ID + advertiser_name: Advertiser Name + advertiser_manager_id: Advertiser Manager ID + advertiser_manager_name: Advertiser Manager Name + publisher_id: Publisher ID + publisher_long_id: Publisher Long ID + publisher_name: Publisher Name + publisher_company: Publisher Company + publisher_manager_id: Publisher Manager ID + publisher_manager_name: Publisher Manager Name + campaign_id: Campaign ID + campaign_long_id: Campaign Long ID + campaign_name: Campaign Name + external_offer_id: External Offer ID + goal_id: Goal ID + goal_name: Goal Name + goal_value: Goal Value + url_id: Landing Page ID + url_long_id: Landing Page Long ID + url_title: Landing Page Title + coupon: Coupon Code + dl: Device Language + vta: View Through Attribution + user_id: External User ID + pagination: + perPage: 100 + currentPage: 2 + total: 107 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-conversions + description: |- + This api returns the conversion logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=click_id + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 10000' + - schema: + type: integer + in: query + name: page + description: Current page number + - schema: + type: array + in: query + name: fields + description: columns to be displayed in the api + - schema: + type: string + in: query + name: start + description: 'Start date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' + required: true + - schema: + type: string + in: query + name: end + description: 'End date in YYYY-MM-DD HH:mm:ss format (URL encoded) Required' + required: true + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: campaignIds + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &campaignIds[]=16&campaignIds[]=30' + - schema: + type: array + in: query + name: publisherIds + description: 'To filter the report for particular publi add publisher id in query parameters like: &publisherIds[]=16&publisherIds[]=30' + - schema: + type: array + in: query + name: adv_ids + description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' + - schema: + type: string + in: query + name: source + description: 'To filter the report for particular source in query parameters like: &source=20223' + - schema: + type: string + in: query + name: status + description: 'To see conversions based on a particular status like: &status=pending. Allowed values: approved, pending, cancelled, rejected, extended' + /v2/network/impressions: + get: + summary: Impressions Report Logs + tags: + - Reports + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + impressions: + type: array + items: + $ref: ./models/Impression.yaml + pagination: + type: object + properties: + perPage: + type: integer + currentPage: + type: integer + total: + type: integer + columns: + type: object + properties: + id: + type: string + source: + type: string + ipaddr: + type: string + city: + type: string + region: + type: string + isp: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + os: + type: string + referer: + type: string + currency: + type: string + payout: + type: string + revenue: + type: string + gaid: + type: string + idfa: + type: string + app_id: + type: string + app_name: + type: string + android_id: + type: string + cr_name: + type: string + sl: + type: string + brand: + type: string + conn: + type: string + ua: + type: string + lat: + type: string + long: + type: string + country: + type: string + browser: + type: string + device: + type: string + created: + type: string + advertiser_id: + type: string + advertiser_long_id: + type: string + advertiser_name: + type: string + publisher_id: + type: string + publisher_long_id: + type: string + publisher_name: + type: string + publisher_company: + type: string + campaign_id: + type: string + campaign_long_id: + type: string + campaign_name: + type: string + external_offer_id: + type: string + url_id: + type: string + url_long_id: + type: string + url_title: + type: string + examples: + sample-conversion-log-resp: + value: + impressions: + - id: 6162d7e1410407033d19e50b + campaign_id: 21812 + campaign_name: testing coupon code + publisher_id: 2 + publisher_long_id: 57c6c75934243d930c8b4581 + publisher_name: Pied Piper + advertiser_id: 3 + advertiser_long_id: 57c4738434243dc57d8b456d + advertiser_name: Demo Advertiser + source: null + url_id: null + url_title: Default + ipaddr: 103.211.54.87 + city: New Delhi + region: Delhi + country: IN + isp: Excitel + os: Mac OS 10.15 + device: desktop + browser: Safari 15 + p1: test3 + app_id: null + app_name: null + gaid: null + idfa: null + created: '2021-10-10T12:09:05.000Z' + columns: + id: Impression ID + source: Source + ipaddr: IP + city: City + region: Region + isp: Carrier (ISP) + p1: P1 + p2: P2 + p3: P3 + p4: P4 + p5: P5 + p6: P6 + p7: P7 + p8: P8 + p9: P9 + p10: P10 + os: Operating System (OS) + referer: Referer + currency: Currency + payout: Payout + revenue: Revenue + gaid: GAID + idfa: IDFA + app_id: App ID + app_name: App Name + android_id: Android ID + cr_name: Creative Name + sl: Smart Link ID + brand: Device Brand + conn: Connection Type + ua: User Agent + lat: Latitude + long: Longitude + country: Country (GEO) + browser: Browser + device: Device + created: Created + advertiser_id: Advertiser ID + advertiser_long_id: Advertiser Long ID + advertiser_name: Advertiser Name + publisher_id: Publisher ID + publisher_long_id: Publisher Long ID + publisher_name: Publisher Name + publisher_company: Publisher Company + campaign_id: Campaign ID + campaign_long_id: Campaign Long ID + campaign_name: Campaign Name + external_offer_id: External Offer ID + url_id: Landing Page ID + url_long_id: Landing Page Long ID + url_title: Landing Page Title + pagination: + perPage: 100 + currentPage: 2 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: get-v2-network-impressions + description: |- + This api returns the impressions logs + + To fetch additional columns add query param fields like this + + &fields[]=id + &fields[]=external_offer_id + security: + - API Key Param: [] + parameters: + - schema: + type: integer + in: query + name: limit + description: 'No of records per page. Min: 100, Max: 10000' + - schema: + type: integer + in: query + name: page + description: Current page number + - schema: + type: array + in: query + name: fields + description: columns to be displayed in the api + - schema: + type: string + in: query + name: start + description: Start date in YYYY-MM-DD + - schema: + type: string + in: query + name: end + description: End date in YYYY-MM-DD + - schema: + type: string + in: query + name: zone + description: 'A valid timezone like: Europe/London can be found here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones' + - schema: + type: array + in: query + name: camp_ids + description: 'To filter the report for particular campaigns add campaign id in query parameters like: &camp_ids[]=16&camp_ids[]=30' + - schema: + type: array + in: query + name: pub_ids + description: 'To filter the report for particular publi add publisher id in query parameters like: &pub_ids[]=16&pub_ids[]=30' + - schema: + type: array + in: query + name: adv_ids + description: 'To filter the report for particular advertisers add advertiser id in query parameters like: &adv_ids[]=10&adv_ids[]=20' + /v2/smtp/send-email: + post: + summary: Send Emails Via SMTP Service + description: |- + This endpoint helps you send your email templates via api. + This api won't work if you haven't configure smtp in customize section. + tags: + - Network + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + template_name: + type: string + enum: + - publisher_registration + - advertiser_registration + - team_member_registration + - account_approve + - account_rejected + - account_ban + user_id: + description: User Id - numeric or hash ID + oneOf: + - type: string + - type: integer + opts: + type: object + examples: + example-1: + value: + template_name: publisher_registration + user_id: 146 + opts: + passowrd: password + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: true + message: Message sent successfully + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + examples: + example-1: + value: + success: false + message: Message Sent Failed + '/v2/campaigns/{id}/targetings': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: Campaign ID + get: + summary: Get All Campaign Targetings + tags: + - Campaign Targetings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblocks: + type: array + items: + $ref: ./models/rb.v1.yaml + examples: + example-1: + value: + success: true + ruleblocks: + - _id: 5f8eb719f83a5d03656e2f3e + name: p8-targeting-block + condition: or + event: all + created: '2020-10-20T10:08:25.072Z' + __v: 5 + modified: '2021-02-10T07:08:12.087Z' + publisherIds: null + excludedPubIds: null + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + operationId: targeting-findAll + description: This endpoint will return the targeting blocks for the campaign + security: + - API Key Param: [] + post: + summary: Create Campaign Targeting + operationId: create-campaign-targeting + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblock: + $ref: ./models/ruleblock.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: Create Campaign Targeting + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + condition: + type: string + enum: + - and + - or + event: + type: string + enum: + - all + - click + - conversion + - conversion_goal + - goal + publisherIds: + type: array + items: + oneOf: + - type: integer + - type: string + excludedPubIds: + type: array + items: + oneOf: + - type: integer + - type: string + rules: + type: array + items: + $ref: '#/components/schemas/Rule' + required: + - name + - condition + - event + - rules + examples: + example-1: + value: + name: api-source-targeting + condition: or + event: all + rules: + - variable: source + logic: deny + condition: equals + values: + - abcdefgh + - foobar + - variable: os + logic: deny + condition: regex + values: + - ios + '/v2/campaigns/{campId}/targetings/{id}': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + get: + summary: Get Campaign Targeting Rules + tags: + - Campaign Targetings + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + ruleblock: + $ref: ./models/ruleblock.v1.yaml + examples: + example-1: + value: + success: true + ruleblock: + _id: 5f8eb719f83a5d03656e2f3e + name: p8-targeting-block + condition: or + event: all + created: '2020-10-20T10:08:25.072Z' + __v: 5 + modified: '2021-02-10T07:08:12.087Z' + publisherIds: null + excludedPubIds: null + rules: + - _id: 5f8eb719f83a5d03656e2f3f + variable: p9 + logic: deny + condition: regex + created: '2020-10-20T10:08:25.000Z' + modified: '2021-02-10T07:32:22.023Z' + values: + - deny + - blah + operationId: get-v2-campaigns-campId-targetings-id + description: This endpoint returns the rules for a targeting block + security: + - API Key Param: [] + delete: + summary: Delete Campaign Targeting + operationId: delete-v2-campaigns-campId-targetings-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: This endpoint will remove the targeting block and its rules + security: + - API Key Param: [] + tags: + - Campaign Targetings + post: + summary: Edit Campaign Targeting Block + operationId: post-v2-campaigns-campId-targetings-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + ruleblock: + $ref: ./models/rb.v1.yaml + description: Use this endpoint to update the targeting block + tags: + - Campaign Targetings + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + condition: + type: string + enum: + - and + - or + event: + type: string + enum: + - all + - click + - conversion + - conversion_goal + - goal + publisherIds: + type: array + items: + oneOf: + - type: integer + - type: string + excludedPubIds: + type: array + items: + oneOf: + - type: integer + - type: string + examples: + example-1: + value: + name: targeting-block + condition: and + publisherIds: + - 2 + excludedPubIds: [] + /v2/trackingDomains: + post: + summary: Create Tracking Domain + operationId: post-v2-trackingDomains + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + host: + type: string + protocol: + type: string + enum: + - http + - https + def: + type: integer + default: 0 + minimum: 0 + maximum: 1 + pubs: + type: array + items: + oneOf: + - type: integer + - type: string + required: + - host + get: + summary: Fetch Tracking Domain + operationId: get-v2-trackingDomains + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + trackingDomains: + type: array + items: + $ref: ./models/trackingDomain.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + '/v2/trackingDomains/{domain}': + parameters: + - schema: + type: string + name: domain + in: path + required: true + description: Domain + post: + summary: Update Tracking Domain + operationId: post-v2-trackingDomains-domain + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to update tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + protocol: + type: string + enum: + - http + - https + def: + type: integer + default: 0 + minimum: 0 + maximum: 1 + pubs: + type: array + items: + oneOf: + - type: integer + - type: string + x-stoplight: + id: l3rpvex3ch91w + delete: + summary: Delete Tracking Domain + operationId: delete-v2-trackingDomains-domain + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to delete tracking domain + tags: + - Tracking Domain + security: + - API Key Param: [] + x-stoplight: + id: s11osj9v8smpu + '/v2/campaigns/{campId}/targetings/{id}/rules/{ruleId}': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + - schema: + type: string + name: ruleId + in: path + required: true + description: Targeting Rule ID + post: + summary: Edit Targeting Rule + operationId: post-v2-campaigns-campId-targetings-id-rules-ruleId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + rule: + $ref: ./models/rule.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: Edit a rule inside targeting block + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Rule' + delete: + summary: Delete Targeting Rule + operationId: delete-v2-campaigns-campId-targetings-id-rules-ruleId + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: 'Delete a targeting rule from a targeting block. Note: If there is only 1 rule inside the block, the targeting block will also be deleted' + security: + - API Key Param: [] + '/v2/campaigns/{campId}/targetings/{id}/rules': + parameters: + - schema: + type: string + name: campId + in: path + required: true + description: Campaign ID + - schema: + type: string + name: id + in: path + required: true + description: Targeting Block ID + post: + summary: Add Rules to targeting block + operationId: post-v2-campaigns-campId-targetings-id-rules + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + ruleblock: + $ref: ./models/ruleblock.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + errors: + type: array + items: + $ref: ./models/error.v1.yaml + tags: + - Campaign Targetings + description: 'Add rules inside a targeting block. Note: there can be max 100 rules inside a targeting block' + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + rules: + type: array + items: + $ref: '#/components/schemas/Rule' + examples: + example-1: + value: + rules: + - variable: source + logic: deny + condition: starts_with + values: + - '549_434_' + - 983393_3393u3i3_ + description: '' + /v2/targetingdata/devices: + get: + summary: Fetch All Devices + operationId: get-v2-devices + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + devices: + type: array + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Devices + tags: + - Targeting Data + security: + - API Key Param: [] + /v2/targetingdata/os: + get: + summary: Fetch All Operating System + operationId: get-v2-os + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + os: + type: array + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Operating System + tags: + - Targeting Data + security: + - API Key Param: [] + /v2/targetingdata/countries: + get: + summary: Fetch All Countries + operationId: get-v2-countries + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + countries: + type: array + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Countries + tags: + - Targeting Data + security: + - API Key Param: [] + /v2/targetingdata/regions: + get: + summary: Fetch All Regions + operationId: get-v2-regions + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + regions: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Regions + tags: + - Targeting Data + security: + - API Key Param: [] + parameters: + - schema: + type: string + in: query + name: q + description: To filter the regions for name + - schema: + type: string + in: query + name: country + description: To filter the regions for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/targetingdata/cities: + get: + summary: Fetch All Cities + operationId: get-v2-cities + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + cities: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Cities + tags: + - Targeting Data + security: + - API Key Param: [] + parameters: + - schema: + type: string + in: query + name: q + description: To filter the cities for name + - schema: + type: string + in: query + name: country + description: To filter the cities for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/targetingdata/isps: + get: + summary: Fetch All Isps + operationId: get-v2-isps + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + isps: + type: array + items: + type: object + properties: + id: + type: string + name: + type: string + region: + type: string + country: + type: string + created: + type: string + pagination: + type: array + items: + type: object + properties: + currentPage: + type: number + example: 1 + perPage: + type: number + example: 100 + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Isps + tags: + - Targeting Data + security: + - API Key Param: [] + parameters: + - schema: + type: string + in: query + name: q + description: To filter the isps for name + - schema: + type: string + in: query + name: country + description: To filter the isps for country + - schema: + type: integer + in: query + name: page + description: Page number for pagination + /v2/categories: + post: + summary: Create Category + operationId: post-v2-categories + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + category: + type: object + properties: + _id: + type: string + name: + type: string + live: + type: boolean + created: + type: string + org_id: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create a category + tags: + - Categories + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + get: + summary: Fetch All Categories + operationId: get-v2-categories + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + categories: + type: array + items: + $ref: ./models/categories.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Categories + tags: + - Categories + security: + - API Key Param: [] + '/v2/categories/{id}': + parameters: + - schema: + type: string + name: id + in: path + required: true + description: id + post: + summary: Update Category + operationId: post-v2-categories-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + category: + type: object + properties: + _id: + type: string + name: + type: string + created: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to update Categories + tags: + - Categories + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + x-stoplight: + id: ypf9wxi2yk4b1 + get: + summary: Fetch Category + operationId: get-v2-categories-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + category: + type: array + items: + $ref: ./models/categories.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch one Category + tags: + - Categories + security: + - API Key Param: [] + x-stoplight: + id: ulwbi65o5c80y + delete: + summary: Delete Category + operationId: delete-v2-categories-id + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to delete categories + tags: + - Categories + security: + - API Key Param: [] + x-stoplight: + id: yn1gik08oz102 + /v2/coupons: + get: + summary: Fetch All Coupon Codes + operationId: get-v2-coupons + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + coupons: + type: array + items: + $ref: ./models/coupon.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch all Categories + tags: + - Coupons + security: + - API Key Param: [] + post: + summary: Create Coupon Code + operationId: post-v2-coupons + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + coupon: + $ref: ./models/coupon.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to create a new coupon code + tags: + - Coupons + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + code: + type: string + status: + type: string + enum: + - active + - pending + - expired + type: + type: string + enum: + - generic + - exclusive + - one_time + campaignId: + type: string + publisherIds: + type: array + items: + type: string + excludedPubIds: + type: array + items: + type: string + description: + type: string + startDate: + type: string + format: date + endDate: + type: string + format: date + payouts: + type: array + items: + type: object + properties: + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - model + - currency + - payout + - revenue + futurePayouts: + type: array + items: + type: object + properties: + fromDate: + type: string + description: Example - 2022-06-01 + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - fromDate + - model + - currency + - payout + - revenue + '/v2/coupons/{code}': + parameters: + - schema: + type: string + name: code + in: path + required: true + description: coupon code + get: + summary: Fetch Coupon Code + operationId: get-v2-coupon-code + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + coupon: + $ref: ./models/coupon.v1.yaml + success: + type: boolean + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to fetch a coupon code + tags: + - Coupons + security: + - API Key Param: [] + x-stoplight: + id: 2yil4ge4ftlnw + post: + summary: Edit Coupon Code + operationId: post-v2-coupon-code + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + coupon: + $ref: ./models/coupon.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to update a coupon code + tags: + - Coupons + security: + - API Key Param: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + code: + type: string + status: + type: string + enum: + - active + - pending + - expired + type: + type: string + enum: + - generic + - exclusive + - one_time + campaignId: + type: string + publisherId: + type: array + items: + type: string + excludedPubIds: + type: array + items: + type: string + description: + type: string + startDate: + type: string + format: date + endDate: + type: string + format: date + payouts: + type: array + items: + type: object + properties: + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - model + - currency + - payout + - revenue + futurePayouts: + type: array + items: + type: object + properties: + fromDate: + type: string + description: Example - 2022-06-01 + model: + type: string + enum: + - cpa + - cps + currency: + type: string + payout: + type: integer + revenue: + type: integer + fixedPayout: + type: integer + fixedRevenue: + type: integer + rules: + type: array + items: + type: object + properties: + variable: + type: string + enum: + - sale + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + op: + type: string + enum: + - exact_match + - is_empty + - is_not_empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + required: + - fromDate + - model + - currency + - payout + - revenue + x-stoplight: + id: g4rpsq6ctlz70 + delete: + summary: Delete Coupon Code + operationId: delete-v2-coupon-code + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + message: + type: string + coupon: + $ref: ./models/coupon.v1.yaml + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + errors: + type: array + items: + $ref: ./models/error.v1.yaml + description: Use this endpoint to delete a coupon code + tags: + - Coupons + security: + - API Key Param: [] + x-stoplight: + id: 2tbjjsh0jcg7n +components: + schemas: + UserCreate: + title: UserCreate + type: object + description: Schema to create a publisher or advertiser + x-examples: + user create sample: + name: Hemant + email: hemant@gmail.com + password: '12345678' + x-tags: + - Manage Publishers + - Manage Advertisers + properties: + username: + type: string + name: + type: string + email: + type: string + format: email + password: + type: string + company: + type: string + phone: + type: string + status: + type: string + enum: + - active + - pending + - disabled + - rejected + region: + type: object + properties: + lang: + type: string + currency: + type: string + country: + type: string + address: + type: string + city: + type: string + state: + type: string + zipcode: + type: string + ref_by: + type: string + customFields: + type: object + properties: + pan: + type: string + skype_id: + type: string + website: + type: string + bank: + type: object + properties: + name: + type: string + ifsc: + type: string + account_no: + type: string + account_owner: + type: string + tags: + type: array + items: + type: string + required: + - name + - email + - password + UserEdit: + title: UserEdit + type: object + x-examples: + user edit example: + name: Hemant + status: pending + x-tags: + - Manage Publishers + - Manage Advertisers + properties: + username: + type: string + name: + type: string + password: + type: string + email: + type: string + format: email + company: + type: string + phone: + type: string + country: + type: string + status: + type: string + enum: + - active + - pending + - disabled + - rejected + ref_by: + type: string + region: + type: object + properties: + lang: + type: string + currency: + type: string + country: + type: string + address: + type: string + state: + type: string + city: + type: string + zipcode: + type: string + customFields: + type: object + bank: + type: object + properties: + name: + type: string + ifsc: + type: string + account_no: + type: string + account_owner: + type: string + tags: + type: array + items: + type: string + description: Schema to edit a publisher or advertiser + SubAccountCreate: + title: SubAccountCreate + type: object + description: Schema to Create a Sub Account of Publisher or Advertiser + x-examples: + user create sample: + name: Hemant + email: hemant@gmail.com + password: '12345678' + status: active + phone: '9876544567' + x-tags: + - Manage Publishers + - Manage Advertisers + properties: + name: + type: string + username: + type: string + email: + type: string + format: email + password: + type: string + phone: + type: string + status: + type: string + enum: + - active + - pending + - disabled + - paused + meta: + type: object + properties: + skype: + type: string + required: + - name + - email + - status + BulkConversionUpload: + title: BulkConversionUpload + type: object + description: Schema to Upload Bulk Conversions + properties: + data: + type: array + items: + type: object + properties: + click_id: + type: string + campaign_id: + type: string + description: Campaign Id - numeric or hash ID + publisher_id: + type: string + description: Publisher Id - numeric or hash ID + created: + type: string + payout: + type: number + minimum: 0 + revenue: + type: number + minimum: 0 + sale_amount: + type: number + minimum: 0 + currency: + type: string + click_ip: + type: string + country: + type: string + status: + type: string + enum: + - approved + - pending + - cancelled + - rejected + - extended + conn: + type: string + enum: + - Cellular + - Cable + - Dialup + - Corporate + goal_id: + type: string + goal_value: + type: string + user_id: + type: string + txn_id: + type: string + conversion_id: + type: string + note: + type: string + sub1: + type: string + sub2: + type: string + sub3: + type: string + sub4: + type: string + sub5: + type: string + sub6: + type: string + sub7: + type: string + sub8: + type: string + sub9: + type: string + sub10: + type: string + app_id: + type: string + app_name: + type: string + cr_name: + type: string + source: + type: string + click_time: + type: string + fetchIpDetails: + type: boolean + description: 'Set this value to true if you want system to fetch the IP data (city, region, country, isp, latitude and longitude) for the conversion based on the provided Click IP' + required: + - data + SubAccountEdit: + title: SubAccountEdit + type: object + description: Schema to Edit a Sub Account of Publisher or Advertiser + x-examples: + user create sample: + name: Hemant + email: hemant@gmail.com + password: '12345678' + status: active + phone: '9876544567' + x-tags: + - Manage Publishers + - Manage Advertisers + properties: + name: + type: string + username: + type: string + email: + type: string + format: email + password: + type: string + phone: + type: string + status: + type: string + enum: + - active + - pending + - disabled + - paused + meta: + type: object + properties: + skype: + type: string + CampaignCreate: + title: Campaign + type: object + x-examples: + sample camp create: + title: API node v2 campaign create + previewUrl: 'http://google.com' + url: 'http://www.google.com/?click_id={click_id}&pub_id={publisher_id}' + currency: USD + advertiserId: '3' + status: active + convTracking: iframe_https + convTrackingDomain: demo.gotrackier.com + payouts: + - payout: 1.2 + revenue: 1.5 + currency: USD + geo: + - US + x-tags: + - Campaigns + description: '' + properties: + advertiserId: + oneOf: + - type: string + - type: integer + description: Integer Id or hash ID + title: + type: string + description: + type: string + previewUrl: + type: string + url: + type: string + currency: + type: string + status: + type: string + default: active + enum: + - active + - pending + - paused + - disabled + - expired + commModel: + type: string + default: cpa + enum: + - cpa + - cpl + - cps + - cpi + - cpc + - cpm + payoutCalParam: + type: string + enum: + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + - revenue + - sale_amount + device: + type: string + defaultGoalName: + type: string + defaultLpName: + type: string + flow: + type: array + items: + type: string + convLcFlow: + type: object + properties: + en: + type: array + items: + type: string + de: + type: array + items: + type: string + es: + type: array + items: + type: string + fr: + type: array + items: + type: string + pt_br: + type: array + items: + type: string + it: + type: array + items: + type: string + ru: + type: array + items: + type: string + cn: + type: array + items: + type: string + vi: + type: array + items: + type: string + ar: + type: array + items: + type: string + ja: + type: array + items: + type: string + subIdsBlocked: + type: array + items: + type: string + subIdsAllowed: + type: array + items: + type: string + appName: + type: string + appId: + type: string + os: + type: array + items: + type: string + enum: + - android + - ios + - all + scheduleZone: + type: string + schduleStartHour: + type: string + scheduleEndHour: + type: string + visibility: + type: string + default: public + enum: + - public + - private + - permission + allowSpilloverConv: + type: integer + default: 1 + minimum: 0 + maximum: 1 + holdPeriod: + type: integer + nullable: true + cancelFallbackConv: + type: integer + minimum: 0 + maximum: 1 + redirectType: + type: string + default: '302' + enum: + - '302' + - 302_hrf + - '200' + - 200_hrf + trackMultiConv: + type: integer + minimum: 0 + maximum: 1 + convPending: + type: integer + minimum: 0 + maximum: 1 + cancelBlockedPbConv: + type: integer + minimum: 0 + maximum: 1 + allowImp: + type: integer + minimum: 0 + maximum: 1 + iurl: + type: string + blacklistPostbackPubs: + type: array + items: + type: integer + whitelistPostbackPubs: + type: array + items: + type: integer + convTracking: + type: string + enum: + - postback + - iframe_https + - image_https + subIdOverride: + type: object + properties: + erid: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + app_name: + type: string + app_id: + type: string + cr_name: + type: string + convTrackingDomain: + type: string + attributionWindow: + type: integer + fallbackCampaign: + type: string + fallbackUrl: + type: string + showGlobalTargeting: + type: integer + minimum: 0 + maximum: 1 + overrideAppNameWithCsvValues: + type: integer + blockedPubs: + type: array + items: + type: integer + primaryTrackingDomain: + type: string + payouts: + type: array + items: + type: object + properties: + payout: + type: number + revenue: + oneOf: + - type: string + - type: number + geo: + type: array + items: + type: string + required: + - payout + - revenue + - geo + startTime: + type: string + format: 'YYYY-MM-DDTHH:MM:ssZ' + example: '2020-01-01T10:30:00Z' + endTime: + type: string + format: 'YYYY-MM-DD HH:MM:ssZ' + example: '2020-02-02T21:00:00Z' + required: + - advertiserId + - title + - url + - currency + - convTracking + - payouts + CampaignEdit: + title: Campaign + type: object + x-examples: + sample camp create: + title: API node v2 campaign edit + previewUrl: 'http://google.com' + url: 'http://www.google.com/?click_id={click_id}&pub_id={publisher_id}' + currency: USD + advertiserId: '3' + status: active + convTracking: iframe_https + convTrackingDomain: demo.gotrackier.com + payouts: + - payout: 1.2 + revenue: 1.5 + currency: USD + geo: + - US + x-tags: + - Campaigns + description: '' + properties: + advertiserId: + oneOf: + - type: string + - type: integer + description: Integer Id or hash ID + title: + type: string + description: + type: string + previewUrl: + type: string + url: + type: string + currency: + type: string + status: + type: string + default: active + enum: + - active + - pending + - paused + - disabled + - expired + commModel: + type: string + default: cpa + enum: + - cpa + - cpl + - cps + - cpi + - cpc + - cpm + payoutCalParam: + type: string + enum: + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + - revenue + - sale_amount + device: + type: string + defaultGoalName: + type: string + defaultLpName: + type: string + flow: + type: array + items: + type: string + convLcFlow: + type: object + properties: + en: + type: array + items: + type: string + de: + type: array + items: + type: string + es: + type: array + items: + type: string + fr: + type: array + items: + type: string + pt_br: + type: array + items: + type: string + it: + type: array + items: + type: string + ru: + type: array + items: + type: string + cn: + type: array + items: + type: string + vi: + type: array + items: + type: string + ar: + type: array + items: + type: string + ja: + type: array + items: + type: string + subIdsBlocked: + type: array + items: + type: string + subIdsAllowed: + type: array + items: + type: string + appName: + type: string + appId: + type: string + os: + type: array + items: + type: string + enum: + - android + - ios + - all + scheduleZone: + type: string + schduleStartHour: + type: string + scheduleEndHour: + type: string + visibility: + type: string + default: public + enum: + - public + - private + - permission + allowSpilloverConv: + type: integer + default: 1 + minimum: 0 + maximum: 1 + holdPeriod: + type: integer + nullable: true + cancelFallbackConv: + type: integer + minimum: 0 + maximum: 1 + redirectType: + type: string + default: '302' + enum: + - '302' + - 302_hrf + - '200' + - 200_hrf + trackMultiConv: + type: integer + minimum: 0 + maximum: 1 + convPending: + type: integer + minimum: 0 + maximum: 1 + cancelBlockedPbConv: + type: integer + minimum: 0 + maximum: 1 + allowImp: + type: integer + minimum: 0 + maximum: 1 + iurl: + type: string + overrideAppNameWithCsvValues: + type: integer + blacklistPostbackPubs: + type: array + items: + type: integer + whitelistPostbackPubs: + type: array + items: + type: integer + convTracking: + type: string + enum: + - postback + - iframe_https + - image_https + subIdOverride: + type: object + properties: + erid: + type: string + p1: + type: string + p2: + type: string + p3: + type: string + p4: + type: string + p5: + type: string + p6: + type: string + p7: + type: string + p8: + type: string + p9: + type: string + p10: + type: string + app_name: + type: string + app_id: + type: string + cr_name: + type: string + convTrackingDomain: + type: string + attributionWindow: + type: integer + fallbackCampaign: + type: string + fallbackUrl: + type: string + showGlobalTargeting: + type: integer + minimum: 0 + maximum: 1 + blockedPubs: + type: array + items: + type: integer + primaryTrackingDomain: + type: string + payouts: + type: array + items: + type: object + properties: + payout: + type: number + revenue: + oneOf: + - type: string + - type: number + geo: + type: array + items: + type: string + required: + - payout + - revenue + - geo + startTime: + type: string + format: 'YYYY-MM-DDTHH:MM:ssZ' + example: '2020-01-01T10:30:00Z' + endTime: + type: string + format: 'YYYY-MM-DD HH:MM:ssZ' + example: '2020-02-02T21:00:00Z' + Cap: + title: Cap + type: object + x-examples: + example-1: + type: conversion + visibility: public + publisherIds: + - 31 + pubCapType: each + daily: '10' + geo: + - ALL + properties: + type: + type: string + enum: + - conversion + - approvedConv + - click + - payout + - revenue + - pendingPayout + - pendingRevenue + - saleAmount + goalId: + type: string + publisherIds: + type: array + items: + oneOf: + - type: string + - type: integer + visibility: + type: string + enum: + - public + - private + pubCapType: + type: string + enum: + - each + - group + landingPageIds: + type: array + items: + oneOf: + - type: string + - type: integer + daily: + type: number + monthly: + type: number + lifetime: + type: number + geo: + type: array + items: + type: string + redirect: + type: string + enum: + - blank + - fallback_link + required: + - type + - visibility + - pubCapType + - daily + x-tags: + - Campaign Caps + description: Cap Model to create/edit cap + LandingPage: + title: LandingPage + type: object + x-tags: + - Landing Pages + properties: + title: + type: string + previewLink: + type: string + url: + type: string + status: + type: string + enum: + - active + - paused + lpType: + type: string + enum: + - landing + - prelanding + - targeting_group + description: + type: string + ruleVariable: + type: string + enum: + - city + - region + - country + ruleValue: + type: string + description: When lpType is targeting_group you need to pass the targeting block ID in this field + urls: + type: array + description: System will only accept this key when lpType is targeting_group + items: + type: object + properties: + url: + type: string + percentage: + type: integer + required: + - title + - url + - status + - lpType + description: '' + SmartlinkCreate: + title: Smartlink + type: object + x-tags: + - Smartlink + properties: + name: + type: string + description: + type: string + event: + type: string + enum: + - click + - impression + postback: + type: boolean + status: + type: string + enum: + - active + - pending + - disabled + type: + type: string + enum: + - category + - manual + model: + type: string + enum: + - cpa + - cpc + - cpm + - cpi + - cps + - cpl + categories: + type: array + items: + type: string + advs: + type: array + items: + type: string + excludedOffers: + type: array + items: + type: string + blockedPubs: + type: array + items: + type: string + allowedPubs: + type: array + items: + type: string + campaigns: + type: array + items: + type: object + properties: + id: + type: string + percentage: + type: integer + minp: + type: number + maxp: + type: number + targeting: + type: object + properties: + city: + type: number + region: + type: number + os: + type: number + carrier: + type: number + device: + type: number + country: + type: number + appendUrl: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + required: + - name + - event + - model + - type + description: '' + SmartlinkEdit: + title: Smartlink + type: object + x-tags: + - Smartlink + properties: + name: + type: string + description: + type: string + event: + type: string + enum: + - click + - impression + postback: + type: boolean + status: + type: string + enum: + - active + - pending + - disabled + type: + type: string + enum: + - category + - manual + model: + type: string + enum: + - cpa + - cpc + - cpm + - cpi + - cps + - cpl + categories: + type: array + items: + type: string + advs: + type: array + items: + type: string + excludedOffers: + type: array + items: + type: string + blockedPubs: + type: array + items: + type: string + allowedPubs: + type: array + items: + type: string + campaigns: + type: array + items: + type: object + properties: + id: + type: string + percentage: + type: integer + minp: + type: number + maxp: + type: number + targeting: + type: object + properties: + city: + type: number + region: + type: number + os: + type: number + carrier: + type: number + device: + type: number + country: + type: number + appendUrl: + type: array + items: + type: object + properties: + key: + type: string + value: + type: string + description: '' + Pagination: + title: Pagination + type: object + properties: + perPage: + type: integer + currentPage: + type: integer + total: + type: integer + description: Pagination model + Payout: + title: Payout + type: object + properties: + payout: + type: number + revenue: + type: number + geo: + type: array + items: + type: string + pubIds: + type: array + items: + oneOf: + - type: integer + - type: string + landingPages: + type: array + items: + oneOf: + - type: integer + - type: string + currency: + type: string + region: + type: array + items: + type: string + city: + type: array + items: + type: string + goalId: + type: string + required: + - payout + - revenue + - geo + x-tags: + - Payouts + description: '' + GoalCreate: + title: Goal + type: object + x-examples: + example-1: + title: CREATING GOAL using v2 api + value: apiv2_goal2 + type: public + payout_model: fixed + payouts: + - payout: 2 + revenue: 4 + geo: + - IN + properties: + title: + type: string + value: + type: string + type: + type: string + enum: + - public + - private + - pub_specific + blacklistPostbackPubs: + type: array + items: + type: integer + whitelistPostbackPubs: + type: array + items: + type: integer + trackMultiConv: + type: integer + payout_model: + type: string + enum: + - fixed + - percentage + payouts: + type: array + items: + type: object + properties: + payout: + type: number + revenue: + type: number + geo: + type: array + items: + type: string + required: + - title + - value + - type + - payout_model + - payouts + x-tags: + - Campaign Goal + description: Goal Model to create/edit goal + GoalEdit: + title: Goal + type: object + x-examples: + example-1: + title: EDITING GOAL using v2 api + value: apiv2_goal2 + type: public + payout_model: fixed + payouts: + - payout: 2 + revenue: 4 + geo: + - IN + properties: + title: + type: string + value: + type: string + type: + type: string + enum: + - public + - private + - pub_specific + blacklistPostbackPubs: + type: array + items: + type: integer + whitelistPostbackPubs: + type: array + items: + type: integer + trackMultiConv: + type: integer + payout_model: + type: string + enum: + - fixed + - percentage + payouts: + type: array + items: + type: object + properties: + payout: + type: number + revenue: + type: number + geo: + type: array + items: + type: string + required: + - title + - value + x-tags: + - Campaign Goal + description: Goal Model to create/edit goal + PostbackCreate: + title: PostbackCreate + type: object + description: Schema to create a publisher postback + x-examples: + Postback Create Sample: + type: url + event: goal + eventId: all + data: 'http://google.com?click_id={click_id}' + status: active + allowedConvStatus: approved + campaignId: 5f042f509dfea2354c5c7af3 + publisherId: all + blockZeroPayoutPb: true + http: + method: patch + body: '{"Key": "Value"}' + headers: + x-Api-Key: abhay + name: abhay + x-tags: + - Manage Postbacks + properties: + type: + type: string + enum: + - url + - iframe_pixel + - image_pixel + - javascript_pixel + event: + type: string + enum: + - conversion + - goal + - conversion_goal + eventId: + type: string + default: all + enum: + - all + - 24 Digit goal ID + data: + type: string + status: + type: string + enum: + - active + - pending + allowedConvStatus: + type: string + enum: + - approved + - pending + campaignId: + oneOf: + - type: string + - type: number + enum: + - all + - Campaign Long ID + - Campaign Short ID + publisherId: + oneOf: + - type: string + - type: number + enum: + - all + - Publisher Long ID + - Publisher Short ID + blockZeroPayoutPb: + type: boolean + http: + type: object + properties: + method: + type: string + enum: + - GET + - PUT + - PATCH + - POST + - DELETE + body: + type: string + headers: + type: object + required: + - type + - event + - data + - status + - allowedConvStatus + - campaignId + - publisherId + - blockZeroPayoutPb + PostbackEdit: + title: PostbackEdit + type: object + description: Schema to edit a publisher postback + x-examples: + Postback Edit Schema: + type: iframe_pixel + event: goal + eventId: all + data: 'http://google.com?click_id={click_id}' + status: pending + allowedConvStatus: approved + campaignId: all + publisherId: 4 + blockZeroPayoutPb: false + http: + method: post + body: '{"Abhay": "Hey"}' + headers: + name: abhaychauhan + properties: + type: + type: string + enum: + - url + - iframe_pixel + - image_pixel + - javascript_pixel + event: + type: string + enum: + - conversion + - goal + - conversion_goal + eventId: + type: string + enum: + - all + - Goal Long ID + data: + type: string + status: + type: string + enum: + - active + - pending + allowedConvStatus: + type: string + enum: + - approved + - pending + campaignId: + type: string + enum: + - all + - Campaign Long ID + - Campaign Short ID + publisherId: + type: string + enum: + - all + - Publisher Long ID + - Publisher Short ID + blockZeroPayoutPb: + type: boolean + http: + type: object + properties: + method: + type: string + body: + type: string + headers: + type: object + x-tags: + - Manage Postbacks + Rule: + title: Rule + type: object + description: Targeting Rule Model + x-examples: + example-1: + variable: p9 + logic: deny + condition: regex + values: + - deny + - blah + properties: + variable: + type: string + enum: + - source + - os + - device + - city + - region + - country + - isp + - gaid + - idfa + - app_name + - app_id + - aid + - cr_name + - sale + - browser + - p1 + - p2 + - p3 + - p4 + - p5 + - p6 + - p7 + - p8 + - p9 + - p10 + - sub1 + - sub2 + - sub3 + - sub4 + - sub5 + - sub6 + - sub7 + - sub8 + - sub9 + - sub10 + - txnId + - userId + - referer + - ipaddr + - conv_ip + logic: + type: string + enum: + - allow + - deny + condition: + type: string + enum: + - equals + - empty + - contains + - regex + - starts_with + - ends_with + - bigger_than + - less_than + values: + type: array + items: + type: string + osVersion: + type: object + properties: + min: + type: number + max: + type: number + required: + - variable + - logic + - condition + InvoicesCreate: + title: Invoices + type: object + x-examples: + example-1: + title: CREATING Invoices using v2 api + value: apiv2_invoices2 + type: public + payout_model: fixed + payouts: + - payout: 2 + revenue: 4 + geo: + - IN + properties: + user_id: + type: string + prefType: + type: string + enum: + - campaign + - date_wise + - month_wise + start: + type: string + enum: + - Start Date (YYYY-MM-DD) + end: + type: string + enum: + - End Date (YYYY-MM-DD) + invCurrency: + type: string + enum: + - INR + - USD + - ... + skipZeroPayouts: + type: string + payoutField: + type: string + adjust_inv: + type: array + description: (Adjust invoice type credit/debit) + items: + type: object + properties: + type: + type: string + enum: + - credit + - debit + note: + type: string + amount: + type: number + required: + - user_id + - prefType + - start + - end + - uType + - title + - invCurrency + x-tags: + - Invoices List + description: Invoices Model + securitySchemes: + API Key Param: + name: apiKey + type: apiKey + in: query + description: API Key for making the requests +tags: + - name: Manage Publishers + - name: Campaign Caps + - name: Campaigns