{ "openapi": "3.0.1", "info": { "title": "OpenAPI definition", "version": "v0" }, "servers": [ { "url": "https://publisher-uk-fiuat.cardlytics.com", "description": "Generated server url" } ], "paths": { "/v2/session/startSession": { "post": { "tags": [ "session-controller" ], "operationId": "startSession", "parameters": [ { "name": "X-CDLX-Institution-Id", "in": "header", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartSessionRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/StartSessionResponse" } } } } } } }, "/v2/ads/getAds": { "post": { "tags": [ "ads-controller" ], "operationId": "getAds", "parameters": [ { "name": "X-CDLX-Session-Token", "in": "header", "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAdsRequest" } } }, "required": true }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/GetAdsResponse" } } } } } } }, "/v2/customerProfile/getCustomerRewardSummary": { "get": { "tags": [ "customer-controller" ], "operationId": "getRewardsSummary", "parameters": [ { "name": "X-CDLX-Session-Token", "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/RewardSummary" } } } } } } }, "/v2/customerProfile/getCustomerProfile": { "get": { "tags": [ "customer-controller" ], "operationId": "getCustomerProfile", "parameters": [ { "name": "X-CDLX-Session-Token", "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Customer" } } } } } } }, "/v2/customerProfile/getCustomerAdRedemptions": { "get": { "tags": [ "customer-controller" ], "operationId": "getCustomerAdRedemptions", "parameters": [ { "name": "X-CDLX-Session-Token", "in": "header", "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomerAdRedemptionResponse" } } } } } } } }, "components": { "schemas": { "StartSessionRequest": { "required": [ "sourceCustomerId" ], "type": "object", "properties": { "sourceCustomerId": { "type": "string" }, "scopes": { "type": "array", "items": { "type": "string", "example": "api:customer" } }, "organizationId": { "type": "string" } } }, "StartSessionResponse": { "type": "object", "properties": { "sessionToken": { "type": "string" } } }, "GeoCoordinate": { "type": "object", "properties": { "latitude": { "type": "number", "format": "double" }, "longitude": { "type": "number", "format": "double" } } }, "GetAdsRequest": { "required": [ "channel" ], "type": "object", "properties": { "customerLocation": { "$ref": "#/components/schemas/GeoCoordinate" }, "channel": { "type": "string", "enum": [ "Email", "SMS", "MMS", "OLB", "MobileWeb", "MobileApp", "MobileWallet" ] }, "sections": { "type": "array", "items": { "type": "string", "enum": [ "Email", "SMS", "MMS", "Transaction", "Summary", "Dashboard", "Landing", "OnboardingPage", "LatestOffers", "ExpiringSoon", "RewardSummaryListView", "FeaturedOffers", "EntertainmentCategory", "FoodCategory", "RetailCategory", "ServicesCategory", "TravelCategory" ] } }, "categoryIds": { "type": "array", "items": { "type": "string" } }, "curationIds": { "type": "array", "items": { "type": "string" } }, "activationStates": { "type": "array", "items": { "type": "string", "example": "ACTIVATED", "enum": [ "NEW", "SERVED", "ACTIVATED" ] } }, "visibilityStates": { "type": "array", "items": { "type": "string", "enum": [ "VISIBLE", "PARKED" ] } }, "redemptionStates": { "type": "array", "items": { "type": "string", "example": "FULLY_REDEEMED", "enum": [ "PROCESSING", "FULLY_REDEEMED" ] } }, "maxAdLimit": { "type": "integer", "format": "int32" }, "returnMetadata": { "type": "boolean", "example": false }, "returnStoreLocation": { "type": "boolean", "example": false }, "includeExpiredAds": { "type": "boolean", "example": false } } }, "Ad": { "type": "object", "properties": { "adType": { "type": "string", "enum": [ "CASH_BACK_OFFER" ] }, "adServeToken": { "type": "string" }, "startDate": { "type": "string", "format": "date-time" }, "endDate": { "type": "string", "format": "date-time" }, "activationDate": { "type": "string", "format": "date-time" }, "merchantName": { "type": "string" }, "sections": { "type": "array", "items": { "type": "string", "enum": [ "Email", "SMS", "MMS", "Transaction", "Summary", "Dashboard", "Landing", "OnboardingPage", "LatestOffers", "ExpiringSoon", "RewardSummaryListView", "FeaturedOffers", "EntertainmentCategory", "FoodCategory", "RetailCategory", "ServicesCategory", "TravelCategory" ] } }, "reward": { "$ref": "#/components/schemas/AdReward" }, "activationState": { "type": "string", "enum": [ "NEW", "SERVED", "ACTIVATED" ] }, "visibilityState": { "type": "string", "enum": [ "VISIBLE", "PARKED" ] }, "redemptionState": { "type": "string", "enum": [ "PROCESSING", "FULLY_REDEEMED" ] }, "assets": { "$ref": "#/components/schemas/AdAssetList" } } }, "AdAssetList": { "type": "object", "properties": { "logo": { "$ref": "#/components/schemas/Image" }, "largeRectangle": { "$ref": "#/components/schemas/Image" }, "smallRectangle": { "$ref": "#/components/schemas/Image" }, "copy": { "$ref": "#/components/schemas/Text" }, "callsToAction": { "$ref": "#/components/schemas/CallsToAction" } } }, "AdImageValue": { "type": "object", "properties": { "large": { "$ref": "#/components/schemas/ImageURL" }, "small": { "$ref": "#/components/schemas/ImageURL" } } }, "AdRankings": { "type": "object", "properties": { "all": { "type": "array", "items": { "type": "string" } } } }, "AdReward": { "type": "object", "properties": { "rewardType": { "type": "string", "enum": [ "PERCENT_AMOUNT_PURCHASE", "FIXED_AMOUNT_PURCHASE", "METERED_AMOUNT_PURCHASE" ] }, "rewardAmount": { "type": "number", "format": "float" }, "maxRewardAmount": { "type": "number", "format": "float" }, "isMultiRedemption": { "type": "boolean" }, "purchaseRequirement": { "$ref": "#/components/schemas/PurchaseRequirement" } } }, "CallToActionLink": { "type": "object", "properties": { "type": { "type": "string", "example": "WEB_LINK" }, "value": { "type": "string" } } }, "CallsToAction": { "type": "object", "properties": { "type": { "type": "string", "example": "CALL_TO_ACTION_LINKS", "enum": [ "IMAGE_URL", "AD_COPY", "CALL_TO_ACTION_LINKS" ] }, "value": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CallToActionLink" } } } }, "CategoryGroup": { "type": "object", "properties": { "name": { "type": "string" }, "id": { "type": "string" }, "subcategories": { "type": "array", "items": { "$ref": "#/components/schemas/CategoryGroup" } } } }, "GetAdsResponse": { "type": "object", "properties": { "requestId": { "type": "string" }, "ads": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Ad" } }, "rankings": { "$ref": "#/components/schemas/AdRankings" }, "categories": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/CategoryGroup" } }, "storeLocations": { "type": "object", "additionalProperties": { "type": "array", "items": { "$ref": "#/components/schemas/StoreLocation" } } } } }, "Image": { "type": "object", "properties": { "type": { "type": "string", "example": "IMAGE_URL", "enum": [ "IMAGE_URL", "AD_COPY", "CALL_TO_ACTION_LINKS" ] }, "value": { "$ref": "#/components/schemas/AdImageValue" } } }, "ImageURL": { "type": "object", "properties": { "url": { "type": "string" }, "width": { "type": "integer", "format": "int32" }, "height": { "type": "integer", "format": "int32" } } }, "PurchaseRequirement": { "type": "object", "properties": { "minSpendAmount": { "type": "number", "format": "float" }, "purchaseChannels": { "type": "array", "items": { "type": "string", "enum": [ "InStore", "Online", "PayAtPump", "App", "Convenience" ] } }, "purchaseTypes": { "type": "array", "items": { "type": "string", "enum": [ "Membership", "Subscription", "Fuel" ] } } } }, "StoreLocation": { "type": "object", "properties": { "storeName": { "type": "string" }, "address": { "$ref": "#/components/schemas/StoreLocationAddress" }, "phoneNumber": { "type": "string" }, "distance": { "type": "number", "format": "float" }, "latitude": { "type": "number", "format": "float" }, "longitude": { "type": "number", "format": "float" } } }, "StoreLocationAddress": { "type": "object", "properties": { "addressLine1": { "type": "string" }, "addressLine2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "postalCode": { "type": "string" }, "country": { "type": "string" } } }, "Text": { "type": "object", "properties": { "type": { "type": "string", "example": "AD_COPY", "enum": [ "IMAGE_URL", "AD_COPY", "CALL_TO_ACTION_LINKS" ] }, "value": { "type": "object", "additionalProperties": { "type": "string" } } } }, "RewardSummary": { "type": "object", "properties": { "requestId": { "type": "string" }, "rewardsSummary": { "$ref": "#/components/schemas/RewardSummaryTotals" } } }, "RewardSummaryTotals": { "type": "object", "properties": { "allTime": { "$ref": "#/components/schemas/RewardSummary" }, "pending": { "$ref": "#/components/schemas/RewardSummary" }, "yearToDate": { "$ref": "#/components/schemas/RewardSummary" }, "previousCalendarYear": { "$ref": "#/components/schemas/RewardSummary" }, "previousMonth": { "$ref": "#/components/schemas/RewardSummary" }, "previousTwelveMonths": { "$ref": "#/components/schemas/RewardSummary" }, "currentMonth": { "$ref": "#/components/schemas/RewardSummary" } } }, "Account": { "type": "object", "properties": { "sourceAccountId": { "type": "string" }, "sourceCustomerIds": { "type": "array", "items": { "type": "string" } }, "primarySourceCustomerId": { "type": "string" }, "status": { "type": "string", "enum": [ "OPEN", "CLOSED", "DISPUTE", "FRAUD" ] }, "type": { "type": "string", "enum": [ "PPD", "MMA", "CRD", "DDA", "SAV", "SBCRD", "SBDDA", "SBS" ] }, "sourcePortfolioId": { "type": "string" }, "accountOpenDate": { "type": "string" }, "accountCloseDate": { "type": "string" }, "cards": { "type": "array", "items": { "$ref": "#/components/schemas/Card" } } } }, "Card": { "type": "object", "properties": { "sourceAccountId": { "type": "string" }, "sourceCustomerId": { "type": "string" }, "last4": { "type": "string" }, "iin": { "type": "string" }, "cardType": { "type": "string" }, "status": { "type": "string" }, "networkIdentifier": { "type": "integer", "format": "int32" }, "openDate": { "type": "string" }, "closeDate": { "type": "string" } } }, "Customer": { "type": "object", "properties": { "requestId": { "type": "string" }, "sourceCustomerId": { "type": "string" }, "institutionId": { "type": "string" }, "organizationId": { "type": "string" }, "postalCode": { "type": "string" }, "country": { "type": "string" }, "customerCreationDate": { "type": "string" }, "enrollmentStartDate": { "type": "string" }, "enrollmentEndDate": { "type": "string" }, "enrollmentOptInStatus": { "type": "string", "enum": [ "ACTIVE", "INACTIVE" ] }, "alertOptInStatus": { "type": "array", "items": { "type": "string", "enum": [ "ALL", "NEW", "ACTIVATED", "EXPIRING", "REDEMPTION", "CLOSE_THE_LOOP", "MISSED_OPPORTUNITY" ] } }, "targetingIndicator": { "type": "string", "enum": [ "TARGET", "DO_NOT_TARGET" ] }, "portfolios": { "type": "array", "items": { "$ref": "#/components/schemas/Portfolio" } }, "accounts": { "type": "array", "items": { "$ref": "#/components/schemas/Account" } } } }, "Portfolio": { "type": "object", "properties": { "sourcePortfolioId": { "type": "string" }, "institutionId": { "type": "string" }, "institutionName": { "type": "string", "deprecated": true }, "portfolioName": { "type": "string" }, "tagline": { "type": "string", "deprecated": true }, "description": { "type": "string", "deprecated": true }, "rewardCurrencyUnit": { "type": "string" }, "rewardToCurrencyConversionRate": { "type": "string" } } }, "CustomerAdRedemptionResponse": { "type": "object", "properties": { "requestId": { "type": "string" }, "redemptions": { "type": "array", "items": { "$ref": "#/components/schemas/Redemption" } }, "ads": { "type": "object", "additionalProperties": { "$ref": "#/components/schemas/Ad" } } } }, "Redemption": { "type": "object", "properties": { "redemptionId": { "type": "string" }, "adId": { "type": "string" }, "amount": { "type": "number", "format": "float" }, "redemptionDate": { "type": "string", "format": "date-time" }, "sourceCustomerId": { "type": "string" }, "sourceAccountId": { "type": "string" }, "redeemingTransactionAmount": { "type": "number", "format": "float" }, "transactionId": { "type": "string" }, "rewardSettlementRunDate": { "type": "string", "format": "date-time" } } } } } }