openapi: 3.0.0 info: title: Trackier Publisher API Docs 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: - API Key # Admin API Admin API can be found here [Admin API](/admin?v=2) version: v2 termsOfService: 'https://trackier.com/terms-of-service/' contact: url: 'https://trackier.com' 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: Advertiser Campaigns - name: Advertiser Performance Report - name: Campaign - name: Conversion Logs - name: Coupon Codes - name: Deals - name: Performance Report - name: Publisher Profile x-tagGroups: - name: Publisher tags: - Campaign - Coupon Codes - Deals - Publisher Profile - Publisher Profile Edit - Campaign Request Access - Allowed Campaign Count - Performance Report - Conversion Logs - Publisher Categories - name: Advertiser tags: - Camapigns - Advertiser Performance Report paths: /v2/publisher/campaigns: get: tags: - Campaign summary: Fetch All Campaigns description: |- Returns all publisher campaigns 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*. **Rate Limit: 5 req/sec** operationId: campaigns parameters: - in: query name: page description: Page number result to fetch schema: type: integer - in: query name: limit description: Number of result to fetch in one call (Default => 1000) schema: type: integer - in: query name: apiKey description: Publisher API Key schema: type: string - schema: type: string in: query name: 'categories[]' description: Category names - schema: type: integer enum: - 1 - 0 example: '&showApproved=1' in: query name: showApproved description: Show Approved Offers responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PublisherCampaignData' '400': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/Error' '/v2/publisher/campaign/{id}': get: tags: - Campaign summary: Fetch A Single Campaign description: |- Returns a single publisher campaign **Rate Limit: 5 req/sec** operationId: campaign parameters: - in: query name: apiKey description: Publisher API Key schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PublisherSingleCampaignData' '400': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/Error' x-stoplight: id: yar8n0k9ww166 parameters: - schema: type: string name: id in: path required: true /v2/publishers/profile: get: tags: - Publisher Profile summary: Fetch Publisher Profile description: Returns publisher profile operationId: profile responses: '200': description: Successful operation content: application/json: schema: type: object properties: profile: $ref: '#/components/schemas/PublisherProfile' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' post: summary: Edit Publisher Profile description: Updates Publisher Profile requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileEdit' operationId: profile-edit responses: '200': description: Successful operation content: application/json: schema: type: object properties: success: type: boolean message: type: string publisher: $ref: '#/components/schemas/PublisherProfile' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Publisher Profile /v2/publishers/coupons: get: tags: - Coupon Codes summary: Fetch All Coupons description: Returns all coupon codes for all campaigns operationId: coupons parameters: - in: query name: pageToken description: Token to traverse through paginated data (returns first page if not passed) schema: type: string - schema: type: string example: '&campaign_id=123' in: query description: To filter coupons with their campaign Id name: campaign_id responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PublisherCouponCodeData' '400': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/Error' /v2/publishers/deals: get: tags: - Deals summary: Fetch All Deals description: Returns all deals for all campaigns operationId: deals parameters: - in: query name: pageToken description: Token to traverse through paginated data (returns first page if not passed) schema: type: string responses: '200': description: Successful operation content: application/json: schema: $ref: '#/components/schemas/PublisherDealData' '400': description: Invalid API Key content: application/json: schema: $ref: '#/components/schemas/Error' '/v2/publishers/campaign/{id}/access': post: summary: Create campaign request access description: Create campaign request access operationId: campaign-request-access parameters: - schema: type: string name: id in: path required: true description: Campaign Id - numeric or hash ID responses: '200': description: Successful operation content: application/json: schema: type: object properties: success: type: boolean message: type: string '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Campaign '/v2/publishers/:pubId/campaignsCount': get: summary: Get campaign access count for publisher description: Get campaign access count for publisher operationId: campaign-count responses: '200': description: Successful operation content: application/json: schema: type: object properties: success: type: boolean count: type: integer '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Campaign /v2/publishers/reports: get: summary: Performance Report tags: - Performance Report description: |- Performance Report 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 **Rate Limit: 200 req/min** 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: '#/components/schemas/Error' operationId: get-v2-reports-custom 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' - 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, 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: 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 security: - API Key: [] /v2/publishers/conversions: get: summary: Conversion Logs tags: - Conversion Logs description: Conversion Logs responses: '200': description: OK content: application/json: schema: type: object properties: conversions: type: array items: type: object properties: _id: type: string click_id: type: string source: type: string elapsed_time: type: integer 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 goal_id: type: string nullable: true txn_id: type: string nullable: true currency: type: string payout: type: number orig_sale_currency: type: string country: type: string browser: type: string device: type: string created: type: string status: type: string external_offer_id: type: string campaign_id: type: integer campaign_name: type: string goal_name: type: string url_title: type: string examples: example-1: value: conversions: - _id: 789945425c4d250355fd58b click_id: 647945425c4d250355fd476a source: testery elapsed_time: 0 city: Philadelphia region: Pennsylvania isp: Comcast Cable p1: '' p2: '' p3: '' p4: '' p5: '' p6: '' p7: '' p8: '' p9: '' p10: '' os: Android 11.0 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' 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 '400': description: Bad Request content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/Error' operationId: get-v2-network-pubConversions parameters: - schema: type: integer in: query name: limit description: 'No of records per page. Min: 100, Max: 1000' - schema: type: integer in: query name: page description: Current page number - schema: type: string in: query name: start description: Report start date in YYYY-MM-DD format required: true - schema: type: string in: query name: end description: Report end date in YYYY-MM-DD format required: true - schema: type: string in: query name: click_id description: Click Id - schema: type: string in: query name: p1 description: P1 - schema: type: string in: query name: p2 description: P2 - schema: type: string in: query name: p3 description: P3 - schema: type: string in: query name: p4 description: P4 - schema: type: string in: query name: p5 description: P5 - schema: type: string enum: - approved - pending - cancelled - rejected in: query name: status allowReserved: false description: Conversion Status security: - API Key: [] /v2/publishers/reports-kpi: get: summary: Performance Report GET KPI tags: - Performance Report description: Performance Report GET KPI Method responses: '200': description: OK content: application/json: schema: type: object properties: allowedGrouping: type: array allowedKpi: type: array groupingMap: type: object kpiMap: type: object examples: example-1: value: allowedGrouping: - campaign_name - campaign_id - campaign_long_id - campaign_status allowedKpi: - 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 kpiMap: uniqueClicks: Unique Clicks clicks: Clicks grossClicks: Gross Clicks impressions: Impressions payout: Payout '400': description: Bad Request content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/Error' operationId: get-v2-reports-get-kpi security: - API Key: [] /v2/publishers/categories: get: summary: Fetch All Categories operationId: Publisher-Categories responses: '200': description: Successful operation content: application/json: schema: type: object properties: categories: type: array items: type: object properties: _id: type: string name: type: string created: type: string '400': description: Bad Request content: application/json: schema: type: object properties: errors: $ref: '#/components/schemas/Error' description: Use this endpoint to fetch all Publisher Categories tags: - Campaign security: - API Key: [] /v2/publishers/bulk-deeplink: post: summary: Generate Deeplink operationId: Publisher-Deeplink-Generate responses: '200': description: Successful operation content: application/json: schema: type: object properties: success: type: boolean message: type: string deeplinks: type: array items: type: object properties: campaign: type: integer url: type: string x-examples: Example 1: success: true message: Deeplinks generated successfully deeplinks: - campaign: 2217 url: 'https://test11.gotrackier.com/click?campaign_id=2217&pub_id=656&url=https://www.google.com&p1={p1}' examples: Example 1: value: success: true message: string deeplinks: - campaign: 123 url: 'https://click-tracking.domain.com/click?campaign_id=123&pub_id=456&url=https://www.example.com&p1={p1}' '400': description: Bad Request content: application/json: schema: type: object properties: success: type: boolean errors: type: array items: type: object properties: statusCode: type: integer code: type: string codeMsg: type: string message: type: string x-examples: Example 1: success: false errors: - statusCode: 400 code: '107' codeMsg: VALIDATION_ERROR message: '"url" is required' description: Use this endpoint to generate deeplink in bulk. tags: - Campaign security: - API Key: [] x-stoplight: id: evix17o7gq81n requestBody: content: application/json: schema: type: object x-examples: Example 1: deeplinks: - url: 'https://www.google.com' campaignIds: - '2217' adnParams: p1: '{p1}' encodeURL: false required: - deeplinks properties: deeplinks: type: array items: type: object required: - url properties: url: type: string campaignIds: type: array items: type: string adnParams: type: object properties: p1: type: string p2: type: string x-stoplight: id: bs86bwdm9fmeq p3: type: string x-stoplight: id: i00bjna1865c2 p4: type: string x-stoplight: id: zwuz9yowo6o8v p5: type: string x-stoplight: id: blsygxnzj1zzb p6: type: string x-stoplight: id: 9babxogo0ytzt p7: type: string x-stoplight: id: p07pizh115cgb p8: type: string x-stoplight: id: g4ytkbsiuhzse p9: type: string x-stoplight: id: 9j28z8b2oda75 p10: type: string x-stoplight: id: hvscq7ztfmfg7 p11: type: string x-stoplight: id: okgn1gdgsien8 p12: type: string x-stoplight: id: evet66pssjxc6 p13: type: string x-stoplight: id: hdvkccuet4ypc p14: type: string x-stoplight: id: nvdw65qk3z75f p15: type: string x-stoplight: id: 23iz0fipi0y9n encodeURL: type: boolean default: false examples: Example 1: value: deeplinks: - url: 'https://www.example.com' campaignIds: - '123' adnParams: p1: '{p1}' encodeURL: false description: '' parameters: [] components: schemas: ApiResponse: type: object properties: code: type: integer format: int32 type: type: string message: type: string Payout: type: object properties: payout: description: Payout of the campaign type: number format: float example: 1.87 fixedPayout: description: Payout of the campaign type: number format: float example: 1.87 geo: description: List of all Payout geo type: array example: - US - IN city: description: List of Cities type: array example: - Mohali region: description: List of Region type: array example: - Punjab allowedValues: description: List of Allowed Values corresponding to the variable type: array example: - sub1-testing - sub2-testing variable: type: string example: source enum: - p1 - p2 - p3 - p4 - p5 - p6 - p7 - p8 - p9 - p10 - source Goal: type: object properties: id: description: Goal ID type: string example: 5cebd00db6920d7e89622ccf title: description: Goal Title type: string example: Purchased value: description: Goal Value type: string example: Purchased payout_model: description: Payout Model type: string example: fixed payouts: description: List of Goal Payouts type: array items: $ref: '#/components/schemas/Payout' OsVer: type: object properties: min: type: string example: '4.1' description: Minimum OS version max: type: string example: '9' description: Maximum OS version PublisherCampaign: type: object properties: id: description: Campaign/Offer ID type: integer example: 18 title: description: Campaign name type: string example: AppAttribution CPI-Incent description: description: Campaign Description type: string example: AppAttribution mobile app platform nullable: true kpi: description: Campaign kpi type: string example: mobile app platform nullable: true 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 type: string example: USD enum: - INR - USD - EUR nullable: true categories: description: Campaign categories type: array example: - Technology - Bollynews nullable: true items: {} subIdsBlock: description: List of Blocked Sub IDs type: array example: - XF152asd - TF152asd nullable: true items: {} subIdsAllow: description: List of Allowed Sub IDs type: array example: - XF152asd - TF152asd nullable: true items: {} preview_url: description: Destination url of the campaign type: string example: 'https://play.google.com/store/apps/details?id=io.appattribution.device' nullable: true 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)' type: string example: cpi enum: - cpa - cpi - cpc - cpm - cps device: description: List of all supported devices type: array items: x-stoplight: id: 6k9z4r9knvq8q enum: - mobile - desktop - tablet - all flow: description: Conversion Flow type: array example: - MO Flow nullable: true items: {} os: description: List of all operating system supported type: array items: x-stoplight: id: zjaxz8egkf745 enum: - android - ios - all os_version: description: List of all supported os version type: object nullable: true properties: ios: type: object $ref: '#/components/schemas/OsVer' android: type: object $ref: '#/components/schemas/OsVer' windowsphone: type: object $ref: '#/components/schemas/OsVer' all: type: object $ref: '#/components/schemas/OsVer' app_id: description: 'Application id, e.g com.example.android (Android) or id4298877253 (iOS)' type: string example: io.appattribution.app nullable: true app_name: description: Application name type: string example: AppAttribution - Mobile App Tracking nullable: true 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}' impressionUrl: description: Impression URL of the campaign/offer type: string example: 'https://demo.trackier.net/imp?campaign_id=20931&pub_id=31' bot_check_url: description: Botman Bot Check URL type: string example: 'https://a762.botninja.js?https://demo.trackier.net/5acdefeadcxwe3dsad' nullable: true countries: description: List of all supported countries type: array example: - US - IN items: {} isps: description: Allowed ISPs List type: array example: - SpectraNet - ASN items: {} citiesInclude: description: Allowed Cities List type: array example: - Kolkata - Delhi items: {} citiesExclude: description: Blocked Cities List type: array example: - Kolkata - Delhi items: {} defaultGoal: description: Default Goal name type: string example: Install payouts: description: List of payouts type: array items: $ref: '#/components/schemas/Payout' goals: description: List of goals type: array items: $ref: '#/components/schemas/Goal' creatives: description: List of creatives associated with campaign type: array nullable: true items: $ref: '#/components/schemas/Creatives' cap: type: object description: CAP information properties: type: type: string example: conversion daily: type: number example: 0 monthly: type: number example: 928 lifetime: type: number example: 0 landingPage: type: array x-stoplight: id: m8hwru1vjpp0z items: $ref: '#/components/schemas/LandingPage' Error: type: object properties: success: type: boolean description: Response status example: false error: type: object properties: code: description: Error code type: integer example: 13 message: description: Error message type: string example: Invalid API Key PublisherProfile: type: object properties: name: type: string email: type: string phone: type: string status: type: string hashId: type: string company: type: string id: type: string ProfileEdit: type: object properties: name: type: string phone: type: string company: type: string Creatives: type: object properties: mime_type: description: File type type: string example: image/png file_name: description: Name of the file type: string example: 5b505e7d8213e.png title: description: Title of the file type: string nullable: true example: Static Image full_url: description: Full URL of the file type: string example: 'https://static.vnative.co/images/5b505e7d8213e.png' dimensions: description: Creatives dimensions type: object nullable: true properties: width: description: Width of the creative (If creative is image) type: number format: integer nullable: true example: 200 height: description: Height of the creative (If creative is image) type: number format: integer nullable: true example: 400 PublisherCampaignData: type: object properties: success: type: boolean description: Response status example: true data: type: object properties: campaigns: x-stoplight: id: 4bqf4bdk5dk91 type: array items: $ref: '#/components/schemas/PublisherCampaign' page: type: number x-stoplight: id: jemqfnuwhkr3q example: 1 count: type: number x-stoplight: id: 03pnmvbj3j29p example: 251 PublisherSingleCampaignData: type: object x-stoplight: id: s0ek1nssw6pzj title: PublisherSingleCampaignData properties: success: type: boolean description: Response status example: true data: type: object properties: campaign: $ref: '#/components/schemas/PublisherCampaign' PublisherCouponCodeData: type: object x-internal: false properties: coupons: type: array items: type: object properties: id: type: string x-stoplight: id: vx2vtq97jyx8b code: type: string description: type: string status: type: string enum: - active - pending - expired type: type: string enum: - generic - exclusive - one_time campaign_name: type: string campaign_id: type: number start: type: string format: date-time x-stoplight: id: ng41g6v5o08rz end: type: string format: date-time x-stoplight: id: 2l8v7ppmbbs0j created: type: string format: date-time pageToken: type: string description: Token to access next page x-examples: Example 1: coupons: - id: 684c05b5b43ddb72eb065c76 code: test-start status: active type: exclusive campaign_name: unix ts test campaign_id: 22180 start: '2025-06-03T00:00:00.000Z' end: '2025-06-26T00:00:00.000Z' created: '2025-06-13T11:04:21.514Z' pageToken: string PublisherDealData: type: object properties: deals: type: array items: type: object properties: id: type: string x-stoplight: id: uhst38elpbwph name: type: string description: type: string status: type: string enum: - active campaign_name: type: string campaign_id: type: number created: type: string format: date-time pageToken: type: string description: Token to access next page x-internal: false FindAllCampaignError: type: object properties: success: type: boolean description: Response status example: false error: type: object properties: code: description: Error code type: integer example: 102 codeMsg: description: Error code message type: string example: Invalid API Key message: description: Error message type: string example: API Key supplied with the request is invalid. Please cross verify the API Key! LandingPage: title: LandingPage x-stoplight: id: 2hiq0czt32efb type: object properties: id: type: integer x-stoplight: id: j6w1fdgp8m1za example: '123' title: type: string x-stoplight: id: n710evkhnf4tl example: test tracking_link: type: string x-stoplight: id: g5psztc3e5e2a type: type: string x-stoplight: id: rhnz0ca89p9k9 example: landing securitySchemes: API Key: type: apiKey name: X-Api-Key in: header security: - API Key: []