openapi: 3.2.0 info: title: Kickstart Advertiser Controller API description: API documentation for Kickstart services contact: name: Your Team email: support@example.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.0' servers: - url: https://platform.digitalremedy.com description: Generated server url tags: - name: advertiser-controller paths: /api/advertisers/{advertiserId}: get: tags: - advertiser-controller operationId: getAdvertiser parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseAdvertiser' put: tags: - advertiser-controller operationId: update_9 parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/Advertiser' required: true responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseAdvertiser' /api/advertisers/{advertiserId}/mapUsers: put: tags: - advertiser-controller operationId: mapUsers parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/UserAdvertiser' required: true responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK /api/advertisers: get: tags: - advertiser-controller operationId: getByAccount parameters: - name: accountId in: query required: false schema: type: integer format: int32 - name: type in: query required: false schema: type: string - name: userId in: query required: false schema: type: integer format: int64 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseListAdvertiser' post: tags: - advertiser-controller operationId: create_12 requestBody: content: application/json: schema: $ref: '#/components/schemas/Advertiser' required: true responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseAdvertiser' /api/advertisers/{advertiserId}/pixelReadyEmailNotification: post: tags: - advertiser-controller operationId: sendPixelReadyEmailNotification parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' /api/advertisers/{advertiserId}/advertiserUpdateEmailNotification: post: tags: - advertiser-controller operationId: sendAdvertiserUpdateEmailNotification parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 requestBody: content: application/json: schema: $ref: '#/components/schemas/EmailNotification' required: true responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' /api/advertisers/ah/create_all: post: tags: - advertiser-controller operationId: createAll requestBody: content: application/json: schema: $ref: '#/components/schemas/AHSyncRequest' required: true responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: type: boolean /api/advertisers/{id}/audienceNames: get: tags: - advertiser-controller summary: get operationId: getAudienceNames parameters: - name: id in: path required: true schema: type: integer format: int32 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: type: array items: type: string /api/advertisers/{advertiserId}/crossview/dsp: get: tags: - advertiser-controller operationId: getCrossViewDspIdsByAdvertiserId parameters: - name: advertiserId in: path required: true schema: type: integer format: int32 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseListString' /api/advertisers/dsp/{pixelId}: get: tags: - advertiser-controller operationId: getDspIdByUniversalPixelId parameters: - name: pixelId in: path required: true schema: type: string responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseListString' /api/advertisers/advertiserMapping: get: tags: - advertiser-controller operationId: getAdvertiserMapping parameters: - name: advertiserIdType in: query required: false schema: type: string - name: advertiserId in: query required: true schema: type: integer format: int32 responses: '400': description: Bad Request content: '*/*': schema: type: object '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseAdvertiserMappingResponse' components: schemas: LineItemTargeting: type: object properties: id: type: integer format: int32 targetableElementId: type: integer format: int32 value: {} AHSyncRequest: type: object properties: email: type: string format: email minLength: 1 password: type: string minLength: 1 ids: type: array items: type: integer format: int32 batchCount: type: integer format: int32 sleepTimeInMs: type: integer format: int32 maxLimit: type: integer format: int32 required: - email - password ApiResponseObject: type: object properties: status: type: integer format: int32 message: type: string result: {} ApiResponseListAdvertiser: type: object properties: status: type: integer format: int32 message: type: string result: type: array items: $ref: '#/components/schemas/Advertiser' CompanionAsset: type: object properties: adTagCode: type: string assetType: type: string enum: - image - ad_tag - facebook - twitter - pinterest createdAt: type: string format: date-time createdBy: type: string deletedAt: type: string format: date-time id: type: integer format: int32 images: type: array items: $ref: '#/components/schemas/FileData' uniqueItems: true landingPageURL: type: string location: type: string enum: - top - bottom - top_mobile - bottom_mobile - right_rail updatedAt: type: string format: date-time updatedBy: type: string LineItemVendors: type: object properties: id: type: integer format: int32 vendorId: type: integer format: int32 LineItem: type: object properties: adreadyId: type: string assignedTo: type: integer format: int32 audienceName: type: string billingType: type: string enum: - FIRST_PARTY - THIRD_PARTY - THIRD_PARTY_FLASHTALKING - THIRD_PARTY_SIZMEK - THIRD_PARTY_INNOVID - THIRD_PARTY_OTHERS budgetGroup: $ref: '#/components/schemas/BudgetGroup' budgetGroupId: type: integer format: int32 contactUserId: type: integer format: int32 crLineItems: type: array items: $ref: '#/components/schemas/LineItem' uniqueItems: true createdAt: type: string format: date-time createdBy: type: string creatives: type: array items: $ref: '#/components/schemas/Creative' uniqueItems: true customUserId: type: integer format: int32 dayParting: {} deletedAt: type: string format: date-time deviceTypes: type: array items: $ref: '#/components/schemas/LineItemDeviceTypes' uniqueItems: true externalName: type: string externalSourceId: type: integer format: int32 fixCpm: type: number flag: type: boolean flagId: type: integer format: int32 flightEndDate: type: string format: date-time flightStartDate: type: string format: date-time flip: type: boolean frequencyRecency: {} goalMetric: type: number format: double id: type: integer format: int32 impressions: type: integer format: int32 incrementality: type: boolean kpis: type: array items: $ref: '#/components/schemas/Kpi' uniqueItems: true lineItemBudget: type: number lucid: type: boolean managementFeeOnly: type: boolean markup: type: number mediaSpend: type: number name: type: string note: $ref: '#/components/schemas/Note' pace: type: number format: double parentId: type: integer format: int32 planId: type: integer format: int32 price: type: number pricingType: type: string enum: - CPM - COST_PLUS - FIXED_MARGIN - ADDED_VALUE - CPA productCategoryId: type: integer format: int32 productTypes: type: array items: $ref: '#/components/schemas/LineItemProductType' uniqueItems: true qa: {} retargetingNotes: type: string siteRetargeting: type: boolean spend: type: number format: double statusId: type: integer format: int32 tagsTrackers: type: boolean targetings: type: array items: $ref: '#/components/schemas/LineItemTargeting' uniqueItems: true taskTypeId: type: integer format: int32 trackingPixels: type: array items: $ref: '#/components/schemas/TrackingPixelData' uniqueItems: true type: type: string enum: - LINE - FLIGHT - CHANGE updatedAt: type: string format: date-time updatedBy: type: string vendors: type: array items: $ref: '#/components/schemas/LineItemVendors' uniqueItems: true workflowId: type: integer format: int32 xandrLineItemId: type: integer format: int32 Headline: type: object properties: id: type: integer format: int32 value: type: string LineItemProductType: type: object properties: categoryPath: type: string goalId: type: integer format: int32 googleAdAccount: type: string id: type: integer format: int32 placementType: type: string productTypeId: type: integer format: int32 productTypes: type: array items: type: string ApiResponseListString: type: object properties: status: type: integer format: int32 message: type: string result: type: array items: type: string ApiResponseAdvertiserMappingResponse: type: object properties: status: type: integer format: int32 message: type: string result: $ref: '#/components/schemas/AdvertiserMappingResponse' Creative: type: object properties: addCloseCaptioning: type: boolean bodyText: type: string brandName: type: string businessName: type: string callToAction: type: string clickThroughURL: type: string companionAsset: type: boolean companionAssets: type: array items: $ref: '#/components/schemas/CompanionAsset' uniqueItems: true createdAt: type: string format: date-time createdBy: type: string creativeEndDate: type: string format: date-time creativeStartDate: type: string format: date-time creativeType: type: string enum: - normal - search - social - pay_per_call - url_only - native_display - native_video - native_article - youtube_bumper_video - youtube_nonskippable_video - social_tiktok - social_snapchat cta: type: string deletedAt: type: string format: date-time description1: type: string description2: type: string displayPath1: type: string displayPath2: type: string files: type: array items: $ref: '#/components/schemas/FileData' uniqueItems: true headline1: type: string headline2: type: string headline3: type: string headlines: type: array items: $ref: '#/components/schemas/Headline' id: type: integer format: int32 name: type: string percentOfRetargetingBudget: type: number format: double phoneNumber: type: string previewText: type: string socialUrl: type: string trueView: type: boolean updatedAt: type: string format: date-time updatedBy: type: string Note: type: object properties: files: type: array items: $ref: '#/components/schemas/FileData' uniqueItems: true id: type: integer format: int32 value: type: string AdvertiserMappingResponse: type: object properties: ahAccountId: type: string ahAdvertiserId: type: integer format: int32 drAccountId: type: integer format: int32 drAccountName: type: string drAdvertiserId: type: integer format: int32 drAdvertiserName: type: string universalPixel: type: string Kpi: type: object properties: benchmark: type: number deletedAt: type: string format: date-time id: type: integer format: int32 kpiId: type: integer format: int32 notes: type: string value: type: string UserAdvertiser: type: object properties: advertiserId: type: integer format: int32 userId: type: integer format: int64 BudgetGroup: type: object properties: budget: type: number budgetGroupId: type: integer format: int32 id: type: integer format: int32 markup: type: number planId: type: integer format: int32 ApiResponseAdvertiser: type: object properties: status: type: integer format: int32 message: type: string result: $ref: '#/components/schemas/Advertiser' LineItemDeviceTypes: type: object properties: deletedAt: type: string format: date-time deviceTypeId: type: integer format: int32 id: type: integer format: int32 TrackingPixelData: type: object properties: files: type: array items: $ref: '#/components/schemas/FileData' uniqueItems: true id: type: integer format: int32 idKey: type: integer format: int32 name: type: string value: type: string Advertiser: type: object properties: about: type: string accountId: type: integer format: int32 accountSetup: {} advisrAdvertiserId: type: integer format: int32 ahAdvertiserId: type: integer format: int32 annualBudget: type: string companySize: type: string createdAt: type: string format: date-time createdBy: type: string customReportsEnabled: type: boolean dashboardAccess: type: boolean dashboardUserEmail: type: string dashboardUserName: type: string deletedAt: type: string format: date-time domainName: type: string dsp: type: string dspMappings: type: object additionalProperties: type: string features: type: array items: type: string flip: type: boolean hideCostMetrics: type: boolean id: type: integer format: int32 industry: type: string isSelfServe: type: boolean logoFile: $ref: '#/components/schemas/FileData' name: type: string organizationId: type: integer format: int32 pioId: type: integer format: int32 pixelSetup: {} templateId: type: integer format: int32 updatedAt: type: string format: date-time updatedBy: type: string vertical: type: string website: type: string xandrAdvertiserId: type: integer format: int32 FileData: type: object properties: createdAt: type: string format: date-time createdBy: type: string deletedAt: type: string format: date-time id: type: integer format: int32 name: type: string path: type: string size: type: integer format: int32 type: type: string enum: - UPLOAD - LINK - ARTICLE_UPLOAD - ARTICLE_LINK - COMPANION_ASSET_UPLOAD - COMPANION_ASSET_LINK - CLOSED_CAPTIONING_UPLOAD - ADVERTISER_LOGO - IO_ATTACHMENT - NOTES - CREATIVE - ARTICLE_CREATIVE - COMPANION_ASSET - CLOSED_CAPTIONING - TRACKING_PIXEL - ORGANIZATION_LOGO updatedAt: type: string format: date-time updatedBy: type: string EmailNotification: type: object properties: emails: type: array items: type: string changeTypes: type: array items: type: string notes: type: string lineItems: type: array items: $ref: '#/components/schemas/LineItem' emailSubject: type: string category: type: string enum: - SUBMIT - CR_SUBMIT - CR_SUBMIT_PENDING - RESUBMIT - LI_DISAPPROVED - LI_READY_FOR_ACTIVATION - LI_ACTIVATED - LI_CAMPAIGN_LIVE - LI_PAUSED - LI_CANCELED - LI_CHANGE_READY - LI_CHANGE_APPLIED emailSource: type: string